UTKAccodion 완료. UTKComponentList 수정 중
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<ui:UXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ui="UnityEngine.UIElements"
|
||||
xmlns:uvc="UVC.UIToolkit.List"
|
||||
xmlns:utk="UVC.UIToolkit"
|
||||
noNamespaceSchemaLocation="../../../../../UIElementsSchema/UIElements.xsd"
|
||||
editor-extension-mode="False">
|
||||
<!--
|
||||
@@ -13,18 +13,18 @@
|
||||
- container: 메인 컨테이너
|
||||
- header: 윈도우 헤더
|
||||
- title: 윈도우 제목
|
||||
- close-btn: 닫기 버튼
|
||||
- close-btn: UTKButton 닫기 버튼
|
||||
- UTKAccordionList: 아코디언 리스트 컴포넌트
|
||||
-->
|
||||
<Style src="project://database/Assets/Resources/UIToolkit/Window/UTKAccordionListWindow.uss" />
|
||||
<!-- Style은 C# 코드에서 테마 적용 후 로드됩니다 -->
|
||||
<ui:VisualElement name="container" class="accordion-list-window-container">
|
||||
<!-- 헤더 영역 -->
|
||||
<ui:VisualElement name="header" class="accordion-window-header">
|
||||
<ui:Label name="title" text="ACCORDION" class="accordion-window-title" />
|
||||
<ui:Button name="close-btn" class="accordion-window-close-button" />
|
||||
<utk:UTKButton name="close-btn" variant="Text" icon-only="true" class="accordion-window-close-button" />
|
||||
</ui:VisualElement>
|
||||
|
||||
<!-- 내부 UTKAccordionList 컴포넌트 -->
|
||||
<uvc:UTKAccordionList />
|
||||
<utk:UTKAccordionList />
|
||||
</ui:VisualElement>
|
||||
</ui:UXML>
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
*
|
||||
* UTKAccordionListWindow 컴포넌트의 스타일 정의입니다.
|
||||
* UTKAccordionList를 래핑하는 윈도우 형태의 컨테이너입니다.
|
||||
* 테마 지원: var(--color-*) 변수 사용
|
||||
*/
|
||||
|
||||
/* ============================================
|
||||
@@ -22,7 +23,7 @@ UTKAccordionListWindow {
|
||||
============================================ */
|
||||
|
||||
.accordion-list-window-container {
|
||||
background-color: rgb(37, 37, 38);
|
||||
background-color: var(--color-bg-panel);
|
||||
height: 100%;
|
||||
width: 300px;
|
||||
padding: 10px 20px 25px 20px;
|
||||
@@ -43,8 +44,8 @@ UTKAccordionListWindow {
|
||||
}
|
||||
|
||||
.accordion-window-title {
|
||||
color: rgb(204, 204, 204);
|
||||
font-size: 11px;
|
||||
color: var(--color-text-primary);
|
||||
font-size: var(--font-size-label3);
|
||||
-unity-font-definition: resource('Fonts/Pretendard/Pretendard-Medium');
|
||||
-unity-font-style: normal;
|
||||
margin: 0;
|
||||
@@ -53,26 +54,17 @@ UTKAccordionListWindow {
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
닫기 버튼 (Close Button)
|
||||
닫기 버튼 (Close Button) - UTKButton 스타일 오버라이드
|
||||
============================================ */
|
||||
|
||||
.accordion-window-close-button {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
min-width: 22px;
|
||||
min-height: 22px;
|
||||
border-width: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
background-image: resource('UIToolkit/Images/btn_close_22');
|
||||
align-self: center;
|
||||
display: none; /* 기본 숨김, 필요시 flex로 변경 */
|
||||
}
|
||||
|
||||
.accordion-window-close-button:hover {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.accordion-window-close-button:active {
|
||||
background-color: rgba(255, 255, 255, 0.2);
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
UTKComponentListWindow {
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
UTKComponentTabListWindow {
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 400px;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.container {
|
||||
background-color: rgb(37, 37, 38);
|
||||
height: 100%;
|
||||
align-self: flex-start;
|
||||
padding: 5px;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 25px;
|
||||
padding-left: 20px;
|
||||
padding-right: 20px;
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
|
||||
.tab-button {
|
||||
background-color: #1E1E1E;
|
||||
border-width: 0;
|
||||
border-radius: 0px;
|
||||
padding-left: 12px;
|
||||
padding-right: 12px;
|
||||
padding-top: 4px;
|
||||
padding-bottom: 4px;
|
||||
margin-right: 1px;
|
||||
margin-left: 0;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
color: #A0A0A0;
|
||||
font-size: 11px;
|
||||
-unity-font-definition: resource('Fonts/Pretendard/Pretendard-Medium');
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.tab-button:hover {
|
||||
background-color: #292929;
|
||||
}
|
||||
|
||||
.tab-button-selected {
|
||||
background-color: #303031;
|
||||
color: rgb(255, 255, 255);
|
||||
}
|
||||
|
||||
.tab-button-selected:hover {
|
||||
background-color: #3A3D41;
|
||||
}
|
||||
@@ -1,10 +1,27 @@
|
||||
<ui:UXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" xmlns:uvc="UVC.UIToolkit.List" noNamespaceSchemaLocation="../../../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
|
||||
<Style src="project://database/Assets/Resources/UIToolkit/Window/UTKComponentListWindow.uss?fileID=7433441132597879392&guid=3df97248d26591046ab077258a2e2e44&type=3#UTKComponentListWindow" />
|
||||
<ui:UXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ui="UnityEngine.UIElements"
|
||||
xmlns:utk="UVC.UIToolkit"
|
||||
noNamespaceSchemaLocation="../../../../../UIElementsSchema/UIElements.xsd"
|
||||
editor-extension-mode="False">
|
||||
<!--
|
||||
UTKComponentListWindow.uxml
|
||||
|
||||
UTKComponentList를 래핑하는 윈도우 컴포넌트입니다.
|
||||
헤더(타이틀, 닫기 버튼)와 내부 UTKComponentList로 구성됩니다.
|
||||
|
||||
구조:
|
||||
- container: 메인 컨테이너
|
||||
- header: 윈도우 헤더
|
||||
- title: 윈도우 제목
|
||||
- close-btn: UTKButton 닫기 버튼
|
||||
- UTKComponentList: 컴포넌트 리스트
|
||||
-->
|
||||
<!-- Style은 C# 코드에서 테마 적용 후 로드됩니다 -->
|
||||
<ui:VisualElement name="container" class="container" style="flex-grow: 1; flex-shrink: 0;">
|
||||
<ui:VisualElement name="header" style="flex-direction: row; margin-bottom: 5px; justify-content: space-between; margin-top: 0;">
|
||||
<ui:Label text="EXPLORER" style="color: rgb(204, 204, 204); -unity-font-style: normal; font-size: 11px; -unity-font-definition: resource('Fonts/Pretendard/Pretendard-Medium'); margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; height: 24px; -unity-text-align: middle-left;" />
|
||||
<ui:Button name="close-btn" style="width: 22px; height: 22px; margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; background-color: rgba(188, 188, 188, 0); background-image: resource('UIToolkit/Images/btn_close_22'); align-self: center; align-items: auto; border-top-width: 0; border-right-width: 0; border-bottom-width: 0; border-left-width: 0; display: none;" />
|
||||
<ui:VisualElement name="header" class="component-window-header">
|
||||
<ui:Label name="title" text="EXPLORER" class="component-window-title" />
|
||||
<utk:UTKButton name="close-btn" variant="Text" icon-only="true" class="component-window-close-button" />
|
||||
</ui:VisualElement>
|
||||
<uvc:UTKComponentList />
|
||||
<utk:UTKComponentList />
|
||||
</ui:VisualElement>
|
||||
</ui:UXML>
|
||||
|
||||
108
Assets/Resources/UIToolkit/Window/UTKComponentListWindowUss.uss
Normal file
108
Assets/Resources/UIToolkit/Window/UTKComponentListWindowUss.uss
Normal file
@@ -0,0 +1,108 @@
|
||||
/*
|
||||
* UTKComponentListWindow.uss
|
||||
*
|
||||
* UTKComponentListWindow 및 UTKComponentTabListWindow 컴포넌트의 스타일 정의입니다.
|
||||
* 테마 지원: var(--color-*) 변수 사용
|
||||
*/
|
||||
|
||||
UTKComponentListWindow {
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
UTKComponentTabListWindow {
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 400px;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.container {
|
||||
background-color: var(--color-bg-panel);
|
||||
height: 100%;
|
||||
align-self: flex-start;
|
||||
padding: 5px;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 25px;
|
||||
padding-left: 20px;
|
||||
padding-right: 20px;
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
헤더 (Header)
|
||||
============================================ */
|
||||
|
||||
.component-window-header {
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 5px;
|
||||
height: 24px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.component-window-title {
|
||||
color: var(--color-text-primary);
|
||||
font-size: var(--font-size-label3);
|
||||
-unity-font-definition: resource('Fonts/Pretendard/Pretendard-Medium');
|
||||
-unity-font-style: normal;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
-unity-text-align: middle-left;
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
닫기 버튼 (Close Button) - UTKButton 스타일 오버라이드
|
||||
============================================ */
|
||||
|
||||
.component-window-close-button {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
min-width: 22px;
|
||||
min-height: 22px;
|
||||
border-width: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
align-self: center;
|
||||
display: none; /* 기본 숨김, 필요시 flex로 변경 */
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
탭 버튼 (Tab Buttons)
|
||||
============================================ */
|
||||
|
||||
.tab-button {
|
||||
background-color: var(--color-base-03);
|
||||
border-width: 0;
|
||||
border-radius: 0px;
|
||||
padding-left: 12px;
|
||||
padding-right: 12px;
|
||||
padding-top: 4px;
|
||||
padding-bottom: 4px;
|
||||
margin-right: 1px;
|
||||
margin-left: 0;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
color: var(--color-text-secondary);
|
||||
font-size: var(--font-size-label3);
|
||||
-unity-font-definition: resource('Fonts/Pretendard/Pretendard-Medium');
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.tab-button:hover {
|
||||
background-color: var(--color-base-05);
|
||||
}
|
||||
|
||||
.tab-button-selected {
|
||||
background-color: var(--color-base-07);
|
||||
color: var(--color-text-primary);
|
||||
}
|
||||
|
||||
.tab-button-selected:hover {
|
||||
background-color: var(--color-base-09);
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5b2a67069d4f392478f4d1759c977c93
|
||||
guid: 347141d660f7e3b4b8f54ced23166b82
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
@@ -1,13 +1,32 @@
|
||||
<ui:UXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" xmlns:uvc="UVC.UIToolkit.List" noNamespaceSchemaLocation="../../../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
|
||||
<Style src="project://database/Assets/Resources/UIToolkit/Window/UTKComponentListWindow.uss?fileID=7433441132597879392&guid=3df97248d26591046ab077258a2e2e44&type=3#UTKComponentListWindow" />
|
||||
<ui:UXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ui="UnityEngine.UIElements"
|
||||
xmlns:utk="UVC.UIToolkit"
|
||||
noNamespaceSchemaLocation="../../../../../UIElementsSchema/UIElements.xsd"
|
||||
editor-extension-mode="False">
|
||||
<!--
|
||||
UTKComponentTabListWindow.uxml
|
||||
|
||||
탭 기능이 포함된 UTKComponentList 윈도우 컴포넌트입니다.
|
||||
헤더(타이틀, 닫기 버튼), 탭 영역, 내부 UTKComponentList로 구성됩니다.
|
||||
|
||||
구조:
|
||||
- container: 메인 컨테이너
|
||||
- header: 윈도우 헤더
|
||||
- title: 윈도우 제목
|
||||
- close-btn: UTKButton 닫기 버튼
|
||||
- tab-scroll-view: 탭 스크롤 영역
|
||||
- tab-container: 탭 버튼 컨테이너
|
||||
- UTKComponentList: 컴포넌트 리스트
|
||||
-->
|
||||
<!-- Style은 C# 코드에서 테마 적용 후 로드됩니다 -->
|
||||
<ui:VisualElement name="container" class="container" style="flex-grow: 1; flex-shrink: 0;">
|
||||
<ui:VisualElement name="header" style="flex-direction: row; margin-bottom: 5px; justify-content: space-between; margin-top: 0;">
|
||||
<ui:Label text="EXPLORER" style="color: rgb(204, 204, 204); -unity-font-style: normal; font-size: 11px; -unity-font-definition: resource('Fonts/Pretendard/Pretendard-Medium'); margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; height: 24px; -unity-text-align: middle-left;" />
|
||||
<ui:Button name="close-btn" style="width: 22px; height: 22px; margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; background-color: rgba(188, 188, 188, 0); background-image: resource('UIToolkit/Images/btn_close_22'); align-self: center; align-items: auto; border-top-width: 0; border-right-width: 0; border-bottom-width: 0; border-left-width: 0; display: none;" />
|
||||
<ui:VisualElement name="header" class="component-window-header">
|
||||
<ui:Label name="title" text="EXPLORER" class="component-window-title" />
|
||||
<utk:UTKButton name="close-btn" variant="Text" icon-only="true" class="component-window-close-button" />
|
||||
</ui:VisualElement>
|
||||
<ui:ScrollView name="tab-scroll-view" mode="Horizontal" horizontal-scroller-visibility="Hidden" vertical-scroller-visibility="Hidden" style="flex-shrink: 0; margin-bottom: 8px; max-height: 28px;">
|
||||
<ui:VisualElement name="tab-container" style="flex-direction: row; flex-shrink: 0;" />
|
||||
</ui:ScrollView>
|
||||
<uvc:UTKComponentList style="flex-grow: 1; width: 100%;" />
|
||||
<utk:UTKComponentList style="flex-grow: 1; width: 100%;" />
|
||||
</ui:VisualElement>
|
||||
</ui:UXML>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<ui:UXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ui="UnityEngine.UIElements"
|
||||
xmlns:uvc="UVC.UIToolkit.List"
|
||||
xmlns:utk="UVC.UIToolkit"
|
||||
noNamespaceSchemaLocation="../../../../../UIElementsSchema/UIElements.xsd"
|
||||
editor-extension-mode="False">
|
||||
<!--
|
||||
@@ -13,18 +13,18 @@
|
||||
- container: 메인 컨테이너
|
||||
- header: 윈도우 헤더
|
||||
- title: 윈도우 제목
|
||||
- close-btn: 닫기 버튼
|
||||
- close-btn: UTKButton 닫기 버튼
|
||||
- UTKImageList: 이미지 리스트 컴포넌트
|
||||
-->
|
||||
<Style src="project://database/Assets/Resources/UIToolkit/Window/UTKImageListWindow.uss" />
|
||||
<!-- Style은 C# 코드에서 테마 적용 후 로드됩니다 -->
|
||||
<ui:VisualElement name="container" class="image-list-window-container">
|
||||
<!-- 헤더 영역 -->
|
||||
<ui:VisualElement name="header" class="window-header">
|
||||
<ui:Label name="title" text="LIBRARY" class="window-title" />
|
||||
<ui:Button name="close-btn" class="window-close-button" />
|
||||
<utk:UTKButton name="close-btn" variant="Text" icon-only="true" class="window-close-button" />
|
||||
</ui:VisualElement>
|
||||
|
||||
<!-- 내부 UTKImageList 컴포넌트 -->
|
||||
<uvc:UTKImageList />
|
||||
<utk:UTKImageList />
|
||||
</ui:VisualElement>
|
||||
</ui:UXML>
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
*
|
||||
* UTKImageListWindow 컴포넌트의 스타일 정의입니다.
|
||||
* UTKImageList를 래핑하는 윈도우 형태의 컨테이너입니다.
|
||||
* 테마 지원: var(--color-*) 변수 사용
|
||||
*/
|
||||
|
||||
/* ============================================
|
||||
@@ -22,7 +23,7 @@ UTKImageListWindow {
|
||||
============================================ */
|
||||
|
||||
.image-list-window-container {
|
||||
background-color: rgb(37, 37, 38);
|
||||
background-color: var(--color-bg-panel);
|
||||
height: 100%;
|
||||
width: 300px;
|
||||
padding: 10px 20px 25px 20px;
|
||||
@@ -43,8 +44,8 @@ UTKImageListWindow {
|
||||
}
|
||||
|
||||
.window-title {
|
||||
color: rgb(204, 204, 204);
|
||||
font-size: 11px;
|
||||
color: var(--color-text-primary);
|
||||
font-size: var(--font-size-label3);
|
||||
-unity-font-definition: resource('Fonts/Pretendard/Pretendard-Medium');
|
||||
-unity-font-style: normal;
|
||||
margin: 0;
|
||||
@@ -53,26 +54,17 @@ UTKImageListWindow {
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
닫기 버튼 (Close Button)
|
||||
닫기 버튼 (Close Button) - UTKButton 스타일 오버라이드
|
||||
============================================ */
|
||||
|
||||
.window-close-button {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
min-width: 22px;
|
||||
min-height: 22px;
|
||||
border-width: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
background-image: resource('UIToolkit/Images/btn_close_22');
|
||||
align-self: center;
|
||||
display: none; /* 기본 숨김, 필요시 flex로 변경 */
|
||||
}
|
||||
|
||||
.window-close-button:hover {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.window-close-button:active {
|
||||
background-color: rgba(255, 255, 255, 0.2);
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b0076250b40d2ac45ab1bff4cd47920c
|
||||
guid: e1cdefa2dbb1dd7419c0f16ba456d4ab
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
@@ -1,52 +0,0 @@
|
||||
UTKTreeListWindow {
|
||||
flex-grow: 1;
|
||||
height: 100%;
|
||||
align-self: flex-start;
|
||||
}
|
||||
|
||||
.tree-menu-container {
|
||||
background-color: rgb(37, 37, 38);
|
||||
flex-grow: 1;
|
||||
height: 100%;
|
||||
align-self: flex-start;
|
||||
padding: 5px;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 25px;
|
||||
padding-left: 20px;
|
||||
padding-right: 20px;
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
.search-field {
|
||||
margin-bottom: 20px;
|
||||
margin-top: 0;
|
||||
margin-right: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.visibility-toggle {
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
border-width: 0;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
margin-right: 0;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
margin-left: 0;
|
||||
flex-shrink: 0;
|
||||
background-image: resource('UIToolkit/Images/icon_eye_22x16');
|
||||
}
|
||||
|
||||
.visibility-on {
|
||||
background-image: resource('UIToolkit/Images/icon_eye_22x16');
|
||||
}
|
||||
|
||||
.visibility-off {
|
||||
background-image: resource('UIToolkit/Images/icon_eye_close_22x16');
|
||||
}
|
||||
@@ -1,13 +1,33 @@
|
||||
<ui:UXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" noNamespaceSchemaLocation="../../../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
|
||||
<Style src="project://database/Assets/Resources/UIToolkit/Window/UTKTreeListWindow.uss?fileID=7433441132597879392&guid=b0076250b40d2ac45ab1bff4cd47920c&type=3#UTKTreeListWindow" />
|
||||
<ui:UXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ui="UnityEngine.UIElements"
|
||||
xmlns:uie="UnityEditor.UIElements"
|
||||
xmlns:utk="UVC.UIToolkit"
|
||||
noNamespaceSchemaLocation="../../../../../UIElementsSchema/UIElements.xsd"
|
||||
editor-extension-mode="False">
|
||||
<!--
|
||||
UTKTreeListWindow.uxml
|
||||
|
||||
TreeView 기반의 계층 리스트 윈도우 컴포넌트입니다.
|
||||
헤더(타이틀, 닫기 버튼), 검색 필드, TreeView로 구성됩니다.
|
||||
|
||||
구조:
|
||||
- container: 메인 컨테이너
|
||||
- header: 윈도우 헤더
|
||||
- title: 윈도우 제목
|
||||
- close-btn: UTKButton 닫기 버튼
|
||||
- search-field: 검색 입력 필드
|
||||
- clear-btn: UTKButton 검색어 지우기 버튼
|
||||
- main-tree-view: TreeView
|
||||
-->
|
||||
<!-- Style은 C# 코드에서 테마 적용 후 로드됩니다 -->
|
||||
<ui:VisualElement name="container" class="tree-menu-container">
|
||||
<ui:VisualElement name="header" style="flex-direction: row; margin-bottom: 5px; justify-content: space-between; margin-top: 0;">
|
||||
<ui:Label text="HIERARCHY" style="color: rgb(204, 204, 204); -unity-font-style: normal; font-size: 11px; -unity-font-definition: resource('Fonts/Pretendard/Pretendard-Medium'); margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; height: 24px; -unity-text-align: middle-left;" />
|
||||
<ui:Button name="close-btn" style="width: 22px; height: 22px; margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; background-color: rgba(188, 188, 188, 0); background-image: resource('UIToolkit/Images/btn_close_22'); align-self: center; align-items: auto; border-top-width: 0; border-right-width: 0; border-bottom-width: 0; border-left-width: 0; display: none;" />
|
||||
<ui:VisualElement name="header" class="tree-window-header">
|
||||
<ui:Label name="title" text="HIERARCHY" class="tree-window-title" />
|
||||
<utk:UTKButton name="close-btn" variant="Ghost" icon-only="true" class="tree-window-close-button" />
|
||||
</ui:VisualElement>
|
||||
<ui:TextField name="search-field" placeholder-text="검색" class="search-field" style="height: 24px; margin-bottom: 12px;">
|
||||
<ui:Button name="clear-btn" style="width: 16px; height: 16px; border-top-width: 0; border-right-width: 0; border-bottom-width: 0; border-left-width: 0; background-color: rgba(255, 255, 255, 0); background-image: resource('UIToolkit/Images/btn_close_16'); margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; align-self: center; position: absolute; right: 4px; -unity-background-image-tint-color: rgb(180, 180, 180);" />
|
||||
<ui:TextField name="search-field" placeholder-text="검색" class="search-field">
|
||||
<utk:UTKButton name="clear-btn" variant="Text" icon-only="true" class="search-clear-button" />
|
||||
</ui:TextField>
|
||||
<ui:TreeView name="main-tree-view" view-data-key="model-tree-view" fixed-item-height="18" auto-expand="false" item-template="project://database/Assets/Resources/UIToolkit/List/UTKTreeListItem.uxml?fileID=9197481963319205126&guid=87efc218ceca98347841e1e40ae18e7f&type=3#UTKTreeListItem" horizontal-scrolling="true" selection-type="Multiple" style="flex-grow: 1;" />
|
||||
<ui:TreeView name="main-tree-view" view-data-key="model-tree-view" fixed-item-height="18" auto-expand="false" item-template="project://database/Assets/Resources/UIToolkit/List/UTKTreeListItem.uxml" horizontal-scrolling="true" selection-type="Multiple" style="flex-grow: 1;" />
|
||||
</ui:VisualElement>
|
||||
</ui:UXML>
|
||||
|
||||
124
Assets/Resources/UIToolkit/Window/UTKTreeListWindowUss.uss
Normal file
124
Assets/Resources/UIToolkit/Window/UTKTreeListWindowUss.uss
Normal file
@@ -0,0 +1,124 @@
|
||||
/*
|
||||
* UTKTreeListWindow.uss
|
||||
*
|
||||
* UTKTreeListWindow 컴포넌트의 스타일 정의입니다.
|
||||
* 테마 지원: var(--color-*) 변수 사용
|
||||
*/
|
||||
|
||||
UTKTreeListWindow {
|
||||
flex-grow: 1;
|
||||
height: 100%;
|
||||
align-self: flex-start;
|
||||
}
|
||||
|
||||
.tree-menu-container {
|
||||
background-color: var(--color-bg-panel);
|
||||
flex-grow: 1;
|
||||
height: 100%;
|
||||
align-self: flex-start;
|
||||
padding: 5px;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 25px;
|
||||
padding-left: 20px;
|
||||
padding-right: 20px;
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
헤더 (Header)
|
||||
============================================ */
|
||||
|
||||
.tree-window-header {
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 5px;
|
||||
height: 24px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.tree-window-title {
|
||||
color: var(--color-text-primary);
|
||||
font-size: var(--font-size-label3);
|
||||
-unity-font-definition: resource('Fonts/Pretendard/Pretendard-Medium');
|
||||
-unity-font-style: normal;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
-unity-text-align: middle-left;
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
닫기 버튼 (Close Button) - UTKButton 스타일 오버라이드
|
||||
============================================ */
|
||||
|
||||
.tree-window-close-button {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
min-width: 22px;
|
||||
min-height: 22px;
|
||||
border-width: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
align-self: center;
|
||||
display: none; /* 기본 숨김, 필요시 flex로 변경 */
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
검색 필드 (Search Field)
|
||||
============================================ */
|
||||
|
||||
.search-field {
|
||||
margin-bottom: 12px;
|
||||
margin-top: 0;
|
||||
margin-right: 0;
|
||||
margin-left: 0;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
Clear 버튼 (Clear Button) - UTKButton 스타일 오버라이드
|
||||
============================================ */
|
||||
|
||||
.search-clear-button {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
min-width: 16px;
|
||||
min-height: 16px;
|
||||
border-width: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
align-self: center;
|
||||
position: absolute;
|
||||
right: 4px;
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
Visibility 토글 (Visibility Toggle)
|
||||
============================================ */
|
||||
|
||||
.visibility-toggle {
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
border-width: 0;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
margin-right: 0;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
margin-left: 0;
|
||||
flex-shrink: 0;
|
||||
background-image: resource('UIToolkit/Images/icon_eye_22x16');
|
||||
}
|
||||
|
||||
.visibility-on {
|
||||
background-image: resource('UIToolkit/Images/icon_eye_22x16');
|
||||
}
|
||||
|
||||
.visibility-off {
|
||||
background-image: resource('UIToolkit/Images/icon_eye_close_22x16');
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3df97248d26591046ab077258a2e2e44
|
||||
guid: 94bace9f4fd4e854b80330dc68b0ebed
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
Reference in New Issue
Block a user