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
BezeledPanelVm은 Bezel 슬롯을 직접 소유하는 장식/프레이밍 패널입니다.
기존 BezelVm 계열과의 호환성을 유지하면서, 필요할 때만 데코레이션을 명시적으로 적용하는 용도입니다.
- 일반적인 그룹화
- 라벨이 있는 강조 영역
- 테두리 기반의 시각적 구분
이미지로 보는 예시
아래 이미지는 각각의 패널이 어떤 분위기와 역할을 가지는지 보여주는 샘플 렌더링입니다.
SurfacePanelVm
[SurfacePanelVm 샘플 렌더링 이미지]
CalloutPanelVm
[CalloutPanelVm 샘플 렌더링 이미지]
BezeledPanelVm
[BezeledPanelVm 샘플 렌더링 이미지]
앞으로 추가될 수 있는 역할별 패널
ITK는 하나의 패널 타입으로 모든 상황을 처리하기보다, 역할이 분명한 패널을 개별 클래스로 제공하는 방향을 지향합니다.
앞으로 다음과 같은 클래스가 추가될 수 있습니다.
GeoSurfacePanelVm- 지도, GPS, 나침반, 위치 정보처럼 지리 기반 표현에 특화된 패널
VideoSurfacePanelVm- 동영상, Live Cam, 모니터링 영상에 특화된 패널
GridTileSurfacePanelVm- 타일형 배치, 카드형 정보 요약, 그리드 기반 대시보드에 특화된 패널
이 방식의 장점은 각 패널이 자신의 역할에 맞는 속성과 테마를 가질 수 있다는 점입니다.
ITK의 설계 방향
ITK는 패널 이름 자체가 곧 역할이 되도록 설계합니다.
Surface는 화면의 의미 있는 표면Callout은 실행 중인 안내 메시지Bezeled는 장식과 구분을 위한 프레임- 특수 패널은 별도 클래스
이런 구조를 통해 테마를 적용할 때도 단순한 색상 변경이 아니라, 패널의 목적에 맞는 시각적 규칙을 일관되게 유지할 수 있습니다.
요약
ContentPanel은 ITK에서 의미를 담는 패널의 기본 단위입니다.
- 배치 전용 요소와 역할 전용 요소를 분리하고
SurfacePanelVm,CalloutPanelVm,BezeledPanelVm처럼 목적이 분명한 클래스로 나누며- 앞으로도 역할별 패널을 점진적으로 확장하는 방식으로 발전합니다.
이 접근은 산업용 터치 인터페이스에서 특히 중요한 명확한 화면 구조, 테마 일관성, 확장성을 함께 만족시키는 방향입니다.