Design
네임스페이스 Going.UI.Design — UI 최상위 컨테이너 및 페이지/윈도우 관리
public class GoDesign
: IDisposable
UI 렌더링의 최상위 컨테이너. 페이지 관리, 입력 이벤트 디스패치, 이미지·폰트 관리, 테마 적용.
Static Properties
| static GoDesign? | ActiveDesign get set | 현재 활성 GoDesign 인스턴스 |
Properties — 기본
| string? | Name get set | 디자인 이름 |
| int | DesignWidth get set | 디자인 너비 |
| int | DesignHeight get set | 디자인 높이 |
| string? | ProjectFolder get set | 프로젝트 폴더 경로 |
Properties — 레이아웃
| int | Width get | 캔버스 너비 (px) |
| int | Height get | 캔버스 높이 (px) |
| Dictionary<string, GoPage> | Pages get | 등록된 페이지 컬렉션 |
| Dictionary<string, GoWindow> | Windows get | 등록된 윈도우 컬렉션 |
| GoPage? | CurrentPage get | 현재 표시 중인 페이지 |
| IGoControl? | SelectedControl get | 현재 선택된 컨트롤 |
Properties — 레이아웃 구성
| bool | UseTitleBar get set | 타이틀바 사용 여부 |
| bool | UseLeftSideBar get set | 왼쪽 사이드바 사용 여부 |
| bool | UseRightSideBar get set | 오른쪽 사이드바 사용 여부 |
| bool | UseFooter get set | 푸터 사용 여부 |
| bool | OverlaySideBar get set | 사이드바 오버레이 모드. 기본값: false |
| bool | ExpandLeftSideBar get set | 왼쪽 사이드바 펼침 여부 |
| bool | ExpandRightSideBar get set | 오른쪽 사이드바 펼침 여부 |
| string | BarColor get set | 바 색상 이름. 기본값: "Base2" |
| GoTitleBar | TitleBar get | 타이틀바 컴포넌트 |
| GoSideBar | LeftSideBar get | 왼쪽 사이드바 컴포넌트 |
| GoSideBar | RightSideBar get | 오른쪽 사이드바 컴포넌트 |
| GoFooter | Footer get | 푸터 컴포넌트 |
Properties — 테마 / 입력
| GoTheme | Theme get | 현재 활성 테마 (CustomTheme 우선, 없으면 DarkTheme) |
| GoTheme? | CustomTheme get set | 사용자 정의 테마 (null이면 DarkTheme 사용) |
| SKPoint | MousePosition get | 현재 마우스 위치 |
| bool | IsDrag get | 드래그 중 여부 |
| bool | DesignMode get set | 디자인 모드 여부 (편집기용) |
Methods — 페이지 관리
| void | AddPage | (GoPage page) | 페이지 등록 |
| void | SetPage | (string pageName) | 이름으로 페이지 전환 |
| void | SetPage | (GoPage page) | 인스턴스로 페이지 전환 |
Methods — 윈도우 관리
| void | ShowWindow | (string name) | 이름으로 윈도우 표시 |
| void | ShowWindow | (GoWindow wnd) | 인스턴스로 윈도우 표시 |
| void | HideWindow | (GoWindow wnd) | 윈도우 숨김 |
| void | ShowDropDownWindow | (GoDropDownWindow wnd) | 드롭다운 윈도우 표시 |
| void | HideDropDownWindow | (GoDropDownWindow wnd) | 드롭다운 윈도우 숨김 |
Methods — 렌더링 / 입력
| void | SetSize | (int width, int height) | 캔버스 크기 설정 |
| void | Init | () | 초기화 (AddPage 후 최초 1회 호출) |
| void | Invalidate | () | 다음 프레임 재렌더링 요청 |
| void | Draw | (SKCanvas canvas) | 전체 UI 렌더링 |
| void | Update | () | 프레임 업데이트 (매 프레임 호출) |
| void | MouseDown | (float x, float y, GoMouseButton button) | 마우스 누름 이벤트 전달 |
| void | MouseUp | (float x, float y, GoMouseButton button) | 마우스 뗌 이벤트 전달 |
| void | MouseDoubleClick | (float x, float y, GoMouseButton button) | 더블클릭 이벤트 전달 |
| void | MouseMove | (float x, float y) | 마우스 이동 이벤트 전달 |
| void | MouseWheel | (float x, float y, float delta) | 마우스 휠 이벤트 전달 |
| void | KeyDown | (bool Shift, bool Control, bool Alt, GoKeys key) | 키 누름 이벤트 전달 |
| void | KeyUp | (bool Shift, bool Control, bool Alt, GoKeys key) | 키 뗌 이벤트 전달 |
Methods — 이미지 / 폰트
| void | AddImage | (string name, byte[] data) | 이미지 등록 (PNG 바이트) |
| void | AddImage | (string name, List<SKImage> imgs) | 다중 프레임 이미지 등록 |
| void | AddImageFolder | (string directory) | 폴더 내 모든 이미지 일괄 등록 |
| bool | RemoveImage | (string name) | 이미지 제거 |
| List<SKImage> | GetImage | (string? name) | 이름으로 이미지 목록 반환 |
| void | AddFont | (string name, byte[] data) | 커스텀 폰트 등록 |
| void | AddFontFolder | (string directory) | 폴더 내 폰트 일괄 등록 |
| void | RemoveFont | (string name) | 폰트 제거 |
| List<byte[]> | GetFont | (string? name) | 이름으로 폰트 데이터 목록 반환 |
| List<(string, List<SKImage>)> | GetImages | () | 등록된 모든 이미지 (이름, 이미지 리스트) 목록 반환 |
| List<(string, List<byte[]>)> | GetFonts | () | 등록된 모든 폰트 (이름, 데이터 리스트) 목록 반환 |
Methods — 드래그 / 컨트롤 탐색
| void | Drag | (object? item) | 드래그 항목 설정 |
| object? | GetDragItem | () | 현재 드래그 중인 항목 반환 |
| void | Select | (IGoControl? control) | 컨트롤 선택 |
| List<IGoControl> | ControlStack | (IGoContainer container, float x, float y) | 좌표에 겹치는 컨트롤 스택 반환 |
| List<IGoControl> | ControlStack | (IGoContainer container, SKRect rt) | 영역과 겹치는 컨트롤 스택 반환 |
| (SKRect, SKRect, SKRect, SKRect, SKRect, SKRect) | LayoutBounds | () | 레이아웃 영역 계산. 반환: (rtL, rtT, rtR, rtB, rtF, rtFR) |
Methods — JSON 직렬화
| string | JsonSerialize | () | GoDesign을 JSON 문자열로 직렬화 |
| static GoDesign? | JsonDeserialize | (string? json) | JSON 문자열로 GoDesign 복원 |
Events
| Action | RequestInvalidate | 재렌더링 요청 시 발생. 플랫폼 어댑터(Forms/OpenTK)가 구독. |
public class GoWindow
: GoContainer
타이틀 바와 닫기 버튼이 있는 오버레이 윈도우. GoMessageBox, GoInputBox의 기반 클래스.
Properties
| string? | IconString get set | 타이틀 바 아이콘 (Font Awesome 코드) |
| float | IconSize get set | 아이콘 크기. 기본값: 12 |
| float | IconGap get set | 아이콘 간격. 기본값: 5 |
| string | Text get set | 윈도우 제목. 기본값: "Window" |
| string | FontName get set | 제목 폰트 이름 |
| GoFontStyle | FontStyle get set | 폰트 스타일 |
| float | FontSize get set | 폰트 크기. 기본값: 12 |
| string | TextColor get set | 제목 색상. 기본값: "Fore" |
| string | WindowColor get set | 윈도우 배경 색상. 기본값: "Back" |
| string | BorderColor get set | 테두리 색상. 기본값: "Base2" |
| GoRoundType | Round get set | 모서리 둥글기. 기본값: All |
| float | TitleHeight get set | 타이틀 바 높이 (px). 기본값: 40 |
| List<IGoControl> | Childrens get | 자식 컨트롤 목록 |
Methods
| void | Show | () | 윈도우 표시 |
| void | Show | (float width, float height) | 크기 지정 후 표시 |
| void | Close | () | 윈도우 닫기 |
public class GoPage
: GoContainer
하나의 화면/페이지. GoDesign.SetPage()로 전환. Childrens에 컨트롤/컨테이너를 추가.
Properties
| List<IGoControl> | Childrens get | 페이지 자식 컨트롤 목록 |
| string? | BackgroundImage get set | 배경 이미지 이름 |
public class GoTitleBar : GoContainer
상단 타이틀 바. 좌우 사이드바 접기/펼치기 버튼 내장.
Properties
| float | BarSize get set | 바 높이 (px). 기본값: 50 |
| string | Title get set | 타이틀 텍스트 |
| string? | TitleImage get set | 타이틀 이미지 이름 |
| string | LeftExpandIconString get set | 좌측 사이드바 펼침 아이콘. 기본값: "fa-bars" |
| string | LeftCollapseIconString get set | 좌측 사이드바 접기 아이콘. 기본값: "fa-chevron-left" |
| string | RightExpandIconString get set | 우측 사이드바 펼침 아이콘. 기본값: "fa-ellipsis-vertical" |
| string | RightCollapseIconString get set | 우측 사이드바 접기 아이콘. 기본값: "fa-chevron-right" |
| float | IconSize get set | 사이드바 토글 아이콘 크기. 기본값: 16 |
| string | TextColor get set | 텍스트 색상. 기본값: "Fore" |
| string | FontName get set | 폰트 이름. 기본값: "나눔고딕" |
| GoFontStyle | FontStyle get set | 폰트 스타일. 기본값: Normal |
| float | FontSize get set | 타이틀 폰트 크기. 기본값: 16 |
| List<IGoControl> | Childrens get | 바 내부 자식 컨트롤 |
public class GoSideBar : GoContainer
좌우 사이드 패널. 애니메이션으로 슬라이드 열기/닫기. Fixed 모드에서는 콘텐츠 영역을 밀어냄.
Properties
| float | BarSize get set | 사이드바 너비 (px). 기본값: 150 |
| bool | Fixed get set | 고정 모드 (콘텐츠 영역 밀기). 기본값: false |
| bool | Expand get set | 펼침 여부 |
| float | RealBarSize internal get | 애니메이션 적용된 실제 너비 (internal) |
| bool | Opening get | 열리는 중 여부 |
| bool | Closing get | 닫히는 중 여부 |
| List<IGoControl> | Childrens get | 사이드바 내부 컨트롤 |
public class GoDropDownWindow : GoContainer
드롭다운 팝업 윈도우 기반 클래스. GoComboBox, GoColorSelector 등의 드롭다운에 사용.
Properties
| string | WindowColor get set | 팝업 배경 색상. 기본값: "Window" |
| string | BorderColor get set | 팝업 테두리 색상. 기본값: "WindowBorder" |
| GoRoundType | Round get set | 모서리 둥글기 |
| List<IGoControl> | Childrens get | 내부 컨트롤 |
Methods (virtual)
| virtual void | Show | () | 드롭다운 표시 |
| virtual void | Hide | () | 드롭다운 숨김 |
검색 결과가 없습니다.