제공 기능
Avalonia 앱 안의 도킹 작업 공간
창에 컨트롤 하나만 배치하면 됩니다. 코드로 패널을 추가하고 각 패널에 사용자의 컨트롤을 지정하면, 사용자가 직접 배치합니다.
도구 패널과 문서
각 TsgcDockPanel에는 Name, Caption, 아이콘, Kind (dpkTool 또는 dpkDocument), 표시할 Control이 있습니다. 도구 패널은 Placement 쪽에서 DockSize 너비로 시작하고, GroupName이 같은 패널은 함께 탭으로 묶입니다.
사용자 컨트롤
패널의 내용은 일반 Avalonia Control입니다. 도크 사이트의 논리 및 시각 자식이 되므로 DataContext가 창에서 흘러 들어오며, 해당 패널이 활성인 동안 배치되어 표시됩니다. 숨겨진 패널은 컨트롤을 숨겨진 자식으로 유지합니다.
미리보기가 있는 드롭 가이드
캡션이나 탭을 끄는 동안 포인터 아래 그룹에 나침반이 나타나 그 그룹을 한쪽으로 분할하거나 패널을 탭으로 추가하고, 가장자리 가이드는 사이트 전체의 가장자리에 도킹하며, 강조 색의 미리보기 사각형이 차지할 공간을 보여 줍니다. Esc로 끌기를 취소합니다.
스플리터
그룹은 중첩된 분할 안에 나란히 또는 위아래로 배치되며 사이에 스플리터가 있습니다. 끌면 이웃 그룹이 실시간으로 크기가 조정되고, 모든 그룹은 최소한 MinPanelSize를 유지합니다. SplitterSize는 스플리터의 너비를 설정합니다.
자동 숨김 플라이아웃
핀 버튼은 도구 패널을 해당 쪽의 스트립으로 보냅니다. 탭 위에 AutoHideDelay 밀리초 동안 마우스를 올리거나 클릭하면 패널이 콘텐츠 위로 플라이아웃으로 밀려 나오고, 사용자가 다른 곳에서 작업하면 다시 들어갑니다. 코드에서는 Model.SetAutoHide가 같은 일을 합니다.
플로팅 창
패널을 가이드에서 벗어난 곳에 놓거나, 캡션을 더블 클릭하거나, 메뉴에서 Float를 선택하면 패널이 창이 소유하는 테두리 없는 Avalonia 창으로 이동하며 작업 표시줄에는 나타나지 않습니다. 플로팅 창은 자체 트리를 가지므로 더 많은 패널을 그 안에 도킹할 수 있습니다. 각 플로팅 창은 자신의 모니터 배율을 사용합니다.
문서 그룹
문서 영역에는 고정 탭과 수정된 탭, 닫기 버튼, 새 탭 버튼 (DocumentShowNewButton, OnNewDocument), 탭 목록 버튼이 있는 탭 스트립이 있습니다. 문서 탭을 한쪽 가장자리 영역으로 끌면 새 문서 그룹으로 분할되고, 탭을 더블 클릭하면 해당 그룹이 최대화됩니다.
도크 키와 패널 메뉴
Ctrl+F6은 문서를, Alt+F7은 도구 패널을 순환하고, Shift+Esc는 활성 도구 패널을 숨기며, Alt+Minus는 Float, Dock, Auto Hide, Hide, Close가 있는 패널 메뉴를 엽니다. Ctrl+Tab, Ctrl+W, Ctrl+F4도 도크 키로 처리됩니다. TsgcAvaloniaCommandPalette를 사용하면 도크 매니저가 패널당 Window 명령 하나도 나열합니다.
접근성, RTL, HiDPI
스크린 리더는 UI Automation을 통해 사이트를 "Dock site"라는 이름의 창, 그룹용 창, 스트립용 탭 항목, 스플리터용 범위 값이 있는 구분선으로 인식합니다. FlowDirection을 오른쪽에서 왼쪽으로 설정하면 사이트 전체가 좌우 반전됩니다. 크롬은 창의 렌더링 배율로 그려집니다.
JSON 레이아웃
SaveLayout, SaveLayoutToFile, SaveLayoutToStream이 배치를 기록하고, LoadLayout 메서드가 이를 다시 읽으며 플로팅 창을 화면의 작업 영역 안으로 맞춥니다. JSON 텍스트는 Delphi 모델의 것과 동일합니다. OnRestorePanel은 저장된 레이아웃이 지정했지만 현재 세션에서 아직 열지 않은 패널의 컨트롤을 만듭니다.
Fluent를 포함한 테마
Theme은 도크 매니저를 라이트, 다크, 고대비, 사용자 지정 테마 사이에서 전환하고, AccentColor는 활성 캡션의 강조 색을 설정합니다. sgcUIApplication.ThemePreset을 Fluent 프리셋으로 설정하면 도크 매니저도 다른 모든 sgcUI 컨트롤처럼 WinUI 3 색상으로 그려집니다.
현지화된 텍스트
도크 크롬의 캡션 (Close, Auto Hide, Maximize, Float, Dock, Hide, "No open documents", 스크린 리더가 읽는 이름)은 sgcUILang을 거치며, sgcUI 번역 팩은 스페인어, 독일어, 프랑스어, 이탈리아어, 네덜란드어, 폴란드어, 포르투갈어, 터키어, 일본어, 한국어, 중국어를 지원합니다.