Skip to main content

Content Panel

ITK의 ContentPanel은 단순한 레이아웃 컨테이너가 아니라, 어플리케이션의 역할과 의미를 담는 패널입니다.

레이아웃 패널(DockPanelVm, StackPanelVm, UniformGridVm)이 자식 요소를 배치하는 데 집중한다면, ContentPanelVm 계열은 화면의 주어진 영역이 무엇을 표현하는지 더 분명하게 드러냅니다.


ContentPanel이 필요한 이유

산업용 터치 인터페이스에서는 단순히 요소를 배치하는 것만으로는 충분하지 않습니다. 화면의 각 영역이 아래 중 어떤 역할인지 바로 읽혀야 합니다.

  • 주영역인지
  • 보조영역인지
  • 안내/경고 메시지인지
  • 지도나 영상처럼 특수한 콘텐츠 영역인지

ITK의 ContentPanel 계열은 이런 역할 구분을 화면 구조에 반영하기 위해 사용합니다.


핵심 개념

ContentPanelVm은 다음처럼 단순한 책임만 가집니다.

  • 단일 Content 보유
  • 내부 콘텐츠 생명주기 관리
  • Dispose 시 내부 콘텐츠 정리

즉, ContentPanelVm 자체는 가능한 한 가볍고 중립적인 상태를 유지합니다. 시각적 의미나 역할 구분은 파생 패널이 담당합니다.


권장 패널 구성

SurfacePanelVm

SurfacePanelVm주영역(primary surface) 또는 보조영역(secondary surface) 을 표현하는 역할 기반 패널입니다. 배경 대비와 코너 라운드를 통해 화면의 중심 영역을 분명하게 보여주는 데 적합합니다.

  • 주영역 표현
  • 보조영역 표현
  • 테마에 따라 목적에 맞는 고정된 표면 색상 적용
  • 필요 시 나중에 Title 같은 속성 추가 가능

CalloutPanelVm

CalloutPanelVm은 Info, Notice, Warning, Help 같은 안내성 패널을 표현합니다. 문서의 callout처럼 메시지를 전달하지만, ITK에서는 실행 중인 어플리케이션 안에서 동작하는 패널로 다룬다는 점이 다릅니다.

  • Title 포함 가능
  • Level로 스타일 구분
  • 추후 IsDismissible, IsExpanded 같은 상호작용 속성 확장 가능

BezeledPanelVm

BezeledPanelVmBezel 슬롯을 직접 소유하는 장식/프레이밍 패널입니다. 기존 BezelVm 계열과의 호환성을 유지하면서, 필요할 때만 데코레이션을 명시적으로 적용하는 용도입니다.

  • 일반적인 그룹화
  • 라벨이 있는 강조 영역
  • 테두리 기반의 시각적 구분

이미지로 보는 예시

아래 이미지는 각각의 패널이 어떤 분위기와 역할을 가지는지 보여주는 샘플 렌더링입니다.

SurfacePanelVm

[SurfacePanelVm 샘플 렌더링 이미지]

CalloutPanelVm

[CalloutPanelVm 샘플 렌더링 이미지]

BezeledPanelVm

[BezeledPanelVm 샘플 렌더링 이미지]


앞으로 추가될 수 있는 역할별 패널

ITK는 하나의 패널 타입으로 모든 상황을 처리하기보다, 역할이 분명한 패널을 개별 클래스로 제공하는 방향을 지향합니다.

앞으로 다음과 같은 클래스가 추가될 수 있습니다.

  • GeoSurfacePanelVm
    • 지도, GPS, 나침반, 위치 정보처럼 지리 기반 표현에 특화된 패널
  • VideoSurfacePanelVm
    • 동영상, Live Cam, 모니터링 영상에 특화된 패널
  • GridTileSurfacePanelVm
    • 타일형 배치, 카드형 정보 요약, 그리드 기반 대시보드에 특화된 패널

이 방식의 장점은 각 패널이 자신의 역할에 맞는 속성과 테마를 가질 수 있다는 점입니다.


ITK의 설계 방향

ITK는 패널 이름 자체가 곧 역할이 되도록 설계합니다.

  • Surface는 화면의 의미 있는 표면
  • Callout은 실행 중인 안내 메시지
  • Bezeled는 장식과 구분을 위한 프레임
  • 특수 패널은 별도 클래스

이런 구조를 통해 테마를 적용할 때도 단순한 색상 변경이 아니라, 패널의 목적에 맞는 시각적 규칙을 일관되게 유지할 수 있습니다.


요약

ContentPanel은 ITK에서 의미를 담는 패널의 기본 단위입니다.

  • 배치 전용 요소와 역할 전용 요소를 분리하고
  • SurfacePanelVm, CalloutPanelVm, BezeledPanelVm처럼 목적이 분명한 클래스로 나누며
  • 앞으로도 역할별 패널을 점진적으로 확장하는 방식으로 발전합니다.

이 접근은 산업용 터치 인터페이스에서 특히 중요한 명확한 화면 구조, 테마 일관성, 확장성을 함께 만족시키는 방향입니다.