From 97bbb789ed3921c875380c4aba1e2d3e8a1514d0 Mon Sep 17 00:00:00 2001 From: logonkhi Date: Mon, 9 Feb 2026 20:28:09 +0900 Subject: [PATCH] =?UTF-8?q?UTKFloatStepper=20=EC=B6=94=EA=B0=80.=20UTKFloa?= =?UTF-8?q?tPropertyItem,=20UTKFloatPropertyItemView=EC=97=90=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .claude/settings.local.json | 4 +- .../Resources/UIToolkit/Button/UTKButton.uss | 1 - .../UIToolkit/Dropdown/UTKDropdownUss.uss | 1 + .../UIToolkit/Dropdown/UTKEnumDropDownUss.uss | 1 + .../UIToolkit/Input/UTKFloatStepper.uss | 156 ++++++ .../UIToolkit/Input/UTKFloatStepper.uss.meta | 11 + ...UTKNumberStepper.uss => UTKIntStepper.uss} | 2 +- ...tepper.uss.meta => UTKIntStepper.uss.meta} | 0 .../Property/Views/UTKButtonItemView.uxml | 8 + .../Views/UTKButtonItemView.uxml.meta | 10 + .../Property/Views/UTKButtonItemViewUss.uss | 23 + .../Views/UTKButtonItemViewUss.uss.meta | 11 + .../UTKColorStatePropertyItemViewUss.uss | 2 +- .../Views/UTKDropdownPropertyItemViewUss.uss | 6 + .../Views/UTKEnumPropertyItemViewUss.uss | 6 + .../Views/UTKFloatPropertyItemViewUss.uss | 17 +- .../Views/UTKIntPropertyItemViewUss.uss | 17 +- .../Views/UTKIntRangePropertyItemView.uxml | 4 +- .../Views/UTKIntRangePropertyItemViewUss.uss | 1 + ...TKMultiSelectDropdownPropertyItemView.uxml | 9 + ...tiSelectDropdownPropertyItemView.uxml.meta | 10 + ...MultiSelectDropdownPropertyItemViewUss.uss | 20 + ...SelectDropdownPropertyItemViewUss.uss.meta | 11 + .../Views/UTKPropertyItemViewCommonUss.uss | 66 ++- .../Views/UTKRadioPropertyItemViewUss.uss | 6 + .../Views/UTKStringPropertyItemViewUss.uss | 15 + ...pperSample.uss => UTKIntStepperSample.uss} | 2 +- ....uss.meta => UTKIntStepperSample.uss.meta} | 0 ...erSample.uxml => UTKIntStepperSample.uxml} | 8 +- ...xml.meta => UTKIntStepperSample.uxml.meta} | 0 .../UIToolkit/Style/UTKDefaultStyle.uss | 3 +- .../UIToolkit/UTKPropertyListWindowSample.cs | 178 ++++++- .../UIToolkit/UTKStyleGuideSample.Input.cs | 20 +- .../Sample/UIToolkit/UTKStyleGuideSample.cs | 6 +- Assets/Scripts/UVC/UIToolkit/CLAUDE.md | 6 +- .../UVC/UIToolkit/Input/UTKFloatStepper.cs | 481 ++++++++++++++++++ .../UIToolkit/Input/UTKFloatStepper.cs.meta | 2 + .../{UTKNumberStepper.cs => UTKIntStepper.cs} | 28 +- ...rStepper.cs.meta => UTKIntStepper.cs.meta} | 0 .../UVC/UIToolkit/List/UTKPropertyList.cs | 64 ++- .../UVC/UIToolkit/Modal/UTKDatePicker.cs | 12 +- .../Property/Core/IUTKPropertyItem.cs | 3 + .../Property/Core/UTKPropertyType.cs | 8 +- .../Items/Base/UTKPropertyItemBase.cs | 8 + .../UIToolkit/Property/Items/UTKButtonItem.cs | 119 +++++ .../Property/Items/UTKButtonItem.cs.meta | 2 + .../Property/Items/UTKFloatPropertyItem.cs | 20 +- .../UTKMultiSelectDropdownPropertyItem.cs | 162 ++++++ ...UTKMultiSelectDropdownPropertyItem.cs.meta | 2 + .../Property/Items/UTKStringPropertyItem.cs | 7 +- .../Property/Views/UTKButtonItemView.cs | 222 ++++++++ .../Property/Views/UTKButtonItemView.cs.meta | 2 + .../Views/UTKDropdownPropertyItemView.cs | 95 +++- .../Property/Views/UTKEnumPropertyItemView.cs | 96 +++- .../Views/UTKFloatPropertyItemView.cs | 181 ++++++- .../Property/Views/UTKIntPropertyItemView.cs | 25 +- .../Views/UTKIntRangePropertyItemView.cs | 12 +- .../UTKMultiSelectDropdownPropertyItemView.cs | 448 ++++++++++++++++ ...ultiSelectDropdownPropertyItemView.cs.meta | 2 + .../Property/Views/UTKPropertyItemViewBase.cs | 53 ++ .../Views/UTKPropertyItemViewFactory.cs | 24 + .../Views/UTKRadioPropertyItemView.cs | 100 +++- .../Views/UTKStringPropertyItemView.cs | 88 +++- .../UIToolkit/Window/UTKPropertyListWindow.cs | 7 + Packages/packages-lock.json | 2 +- 65 files changed, 2785 insertions(+), 131 deletions(-) create mode 100644 Assets/Resources/UIToolkit/Input/UTKFloatStepper.uss create mode 100644 Assets/Resources/UIToolkit/Input/UTKFloatStepper.uss.meta rename Assets/Resources/UIToolkit/Input/{UTKNumberStepper.uss => UTKIntStepper.uss} (99%) rename Assets/Resources/UIToolkit/Input/{UTKNumberStepper.uss.meta => UTKIntStepper.uss.meta} (100%) create mode 100644 Assets/Resources/UIToolkit/Property/Views/UTKButtonItemView.uxml create mode 100644 Assets/Resources/UIToolkit/Property/Views/UTKButtonItemView.uxml.meta create mode 100644 Assets/Resources/UIToolkit/Property/Views/UTKButtonItemViewUss.uss create mode 100644 Assets/Resources/UIToolkit/Property/Views/UTKButtonItemViewUss.uss.meta create mode 100644 Assets/Resources/UIToolkit/Property/Views/UTKMultiSelectDropdownPropertyItemView.uxml create mode 100644 Assets/Resources/UIToolkit/Property/Views/UTKMultiSelectDropdownPropertyItemView.uxml.meta create mode 100644 Assets/Resources/UIToolkit/Property/Views/UTKMultiSelectDropdownPropertyItemViewUss.uss create mode 100644 Assets/Resources/UIToolkit/Property/Views/UTKMultiSelectDropdownPropertyItemViewUss.uss.meta rename Assets/Resources/UIToolkit/Sample/Input/{UTKNumberStepperSample.uss => UTKIntStepperSample.uss} (84%) rename Assets/Resources/UIToolkit/Sample/Input/{UTKNumberStepperSample.uss.meta => UTKIntStepperSample.uss.meta} (100%) rename Assets/Resources/UIToolkit/Sample/Input/{UTKNumberStepperSample.uxml => UTKIntStepperSample.uxml} (77%) rename Assets/Resources/UIToolkit/Sample/Input/{UTKNumberStepperSample.uxml.meta => UTKIntStepperSample.uxml.meta} (100%) create mode 100644 Assets/Scripts/UVC/UIToolkit/Input/UTKFloatStepper.cs create mode 100644 Assets/Scripts/UVC/UIToolkit/Input/UTKFloatStepper.cs.meta rename Assets/Scripts/UVC/UIToolkit/Input/{UTKNumberStepper.cs => UTKIntStepper.cs} (93%) rename Assets/Scripts/UVC/UIToolkit/Input/{UTKNumberStepper.cs.meta => UTKIntStepper.cs.meta} (100%) create mode 100644 Assets/Scripts/UVC/UIToolkit/Property/Items/UTKButtonItem.cs create mode 100644 Assets/Scripts/UVC/UIToolkit/Property/Items/UTKButtonItem.cs.meta create mode 100644 Assets/Scripts/UVC/UIToolkit/Property/Items/UTKMultiSelectDropdownPropertyItem.cs create mode 100644 Assets/Scripts/UVC/UIToolkit/Property/Items/UTKMultiSelectDropdownPropertyItem.cs.meta create mode 100644 Assets/Scripts/UVC/UIToolkit/Property/Views/UTKButtonItemView.cs create mode 100644 Assets/Scripts/UVC/UIToolkit/Property/Views/UTKButtonItemView.cs.meta create mode 100644 Assets/Scripts/UVC/UIToolkit/Property/Views/UTKMultiSelectDropdownPropertyItemView.cs create mode 100644 Assets/Scripts/UVC/UIToolkit/Property/Views/UTKMultiSelectDropdownPropertyItemView.cs.meta diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 3df4cc4d..6a06fb10 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -27,7 +27,9 @@ "Bash(cmd /c \"echo ^^^^^^\")", "Bash(del \"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Resources\\\\UIToolkit\\\\Property\\\\Views\\\\UTKBoolPropertyItemView.uxml\")", "Bash(del:*)", - "Bash(cmd /c \"del /q \"\"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Resources\\\\UIToolkit\\\\Property\\\\Views\\\\UTKIntPropertyItemViewSliderUss.uss\"\" \"\"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Resources\\\\UIToolkit\\\\Property\\\\Views\\\\UTKFloatPropertyItemViewSliderUss.uss\"\"\")" + "Bash(cmd /c \"del /q \"\"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Resources\\\\UIToolkit\\\\Property\\\\Views\\\\UTKIntPropertyItemViewSliderUss.uss\"\" \"\"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Resources\\\\UIToolkit\\\\Property\\\\Views\\\\UTKFloatPropertyItemViewSliderUss.uss\"\"\")", + "mcp__UnityMCP__refresh_unity", + "Bash(powershell \"Get-Process Unity -ErrorAction SilentlyContinue | Select-Object -First 1 | Format-List\")" ], "deny": [], "ask": [] diff --git a/Assets/Resources/UIToolkit/Button/UTKButton.uss b/Assets/Resources/UIToolkit/Button/UTKButton.uss index 6d1bb19b..08a00ef5 100644 --- a/Assets/Resources/UIToolkit/Button/UTKButton.uss +++ b/Assets/Resources/UIToolkit/Button/UTKButton.uss @@ -64,7 +64,6 @@ font-size: var(--font-size-body2); color: var(--color-text-primary); -unity-text-align: middle-center; - margin-top: 2px; } /* =================================== diff --git a/Assets/Resources/UIToolkit/Dropdown/UTKDropdownUss.uss b/Assets/Resources/UIToolkit/Dropdown/UTKDropdownUss.uss index 4dde602c..f9e16a08 100644 --- a/Assets/Resources/UIToolkit/Dropdown/UTKDropdownUss.uss +++ b/Assets/Resources/UIToolkit/Dropdown/UTKDropdownUss.uss @@ -26,6 +26,7 @@ font-size: var(--font-size-body2); color: var(--color-text-primary); -unity-font-style: normal; + display: none; } /* =================================== diff --git a/Assets/Resources/UIToolkit/Dropdown/UTKEnumDropDownUss.uss b/Assets/Resources/UIToolkit/Dropdown/UTKEnumDropDownUss.uss index 367b88e6..7d2a14e8 100644 --- a/Assets/Resources/UIToolkit/Dropdown/UTKEnumDropDownUss.uss +++ b/Assets/Resources/UIToolkit/Dropdown/UTKEnumDropDownUss.uss @@ -26,6 +26,7 @@ font-size: var(--font-size-body2); color: var(--color-text-primary); -unity-font-style: normal; + display: none; } /* =================================== diff --git a/Assets/Resources/UIToolkit/Input/UTKFloatStepper.uss b/Assets/Resources/UIToolkit/Input/UTKFloatStepper.uss new file mode 100644 index 00000000..c3f339f2 --- /dev/null +++ b/Assets/Resources/UIToolkit/Input/UTKFloatStepper.uss @@ -0,0 +1,156 @@ +/* + * =================================== + * UTKFloatStepper.uss + * Float Stepper Component Styles + * =================================== + */ + +/* =================================== + Root Container + =================================== */ + +.utk-number-stepper { + flex-direction: row; + align-items: stretch; + height: var(--size-input-height); +} + + +/* =================================== + Text Input Field + =================================== */ + +.utk-number-stepper__input { + flex-grow: 1; + margin-right: 0; + margin-top: 0; + margin-bottom: 0; + font-size: var(--font-size-body2); +} + +.utk-number-stepper__text-input { + flex-grow: 1; + background-color: var(--color-bg-input); + color: var(--color-text-primary); + --unity-cursor-color: var(--color-text-primary); + border-top-left-radius: var(--radius-s); + border-bottom-left-radius: var(--radius-s); + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-top-width: var(--border-width); + border-bottom-width: var(--border-width); + border-left-width: var(--border-width); + border-right-width: 0; + border-top-color: var(--color-border); + border-bottom-color: var(--color-border); + border-left-color: var(--color-border); + padding-top: 0; + padding-bottom: 0; + padding-left: var(--space-m); + padding-right: var(--space-m); + margin: 0; + -unity-text-align: middle-right; +} + + +/* =================================== + Button Container + =================================== */ + +.utk-number-stepper__buttons { + flex-direction: column; + width: 16px; +} + + +/* =================================== + Stepper Buttons (Base) + =================================== */ + +.utk-number-stepper__btn { + flex-grow: 1; + width: 16px; + font-size: 6px; + padding: 0; + margin: 0; + background-color: var(--color-btn-normal); + color: var(--color-text-secondary); + border-top-width: var(--border-width); + border-left-width: 0; + border-right-width: var(--border-width); + border-top-color: var(--color-border); + border-right-color: var(--color-border); + border-bottom-color: var(--color-border); + transition-duration: var(--anim-fast); + transition-property: background-color, color; + height: 12px; +} + +.utk-number-stepper__btn:hover { + background-color: var(--color-btn-hover); + color: var(--color-text-primary); +} + +.utk-number-stepper__btn:active { + background-color: var(--color-btn-pressed); +} + + +/* =================================== + Up Button + =================================== */ + +.utk-number-stepper__btn--up { + border-bottom-width: 0; + border-top-left-radius: 0; + border-top-right-radius: var(--radius-s); + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + + +/* =================================== + Down Button + =================================== */ + +.utk-number-stepper__btn--down { + border-bottom-width: var(--border-width); + border-top-left-radius: 0; + border-top-right-radius: 0; + border-bottom-left-radius: 0; + border-bottom-right-radius: var(--radius-s); +} + + +/* =================================== + Disabled State + =================================== */ + +.utk-number-stepper--disabled { + cursor: arrow; +} + +.utk-number-stepper--disabled .utk-number-stepper__text-input { + background-color: var(--color-btn-disabled); + color: var(--color-text-disabled); + cursor: arrow; +} + +.utk-number-stepper--disabled .utk-number-stepper__text-input:hover { + border-color: var(--color-border); +} + +.utk-number-stepper--disabled .utk-number-stepper__btn { + background-color: var(--color-btn-disabled); + color: var(--color-text-disabled); + cursor: arrow; +} + +.utk-number-stepper--disabled .utk-number-stepper__btn:hover { + background-color: var(--color-btn-disabled); + color: var(--color-text-disabled); +} + +.utk-number-stepper--disabled .utk-number-stepper__btn:active { + background-color: var(--color-btn-disabled); +} diff --git a/Assets/Resources/UIToolkit/Input/UTKFloatStepper.uss.meta b/Assets/Resources/UIToolkit/Input/UTKFloatStepper.uss.meta new file mode 100644 index 00000000..f570f199 --- /dev/null +++ b/Assets/Resources/UIToolkit/Input/UTKFloatStepper.uss.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 53011be3e472c5d46a86079c477e8848 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} + disableValidation: 0 diff --git a/Assets/Resources/UIToolkit/Input/UTKNumberStepper.uss b/Assets/Resources/UIToolkit/Input/UTKIntStepper.uss similarity index 99% rename from Assets/Resources/UIToolkit/Input/UTKNumberStepper.uss rename to Assets/Resources/UIToolkit/Input/UTKIntStepper.uss index e8ea95fd..aea760b1 100644 --- a/Assets/Resources/UIToolkit/Input/UTKNumberStepper.uss +++ b/Assets/Resources/UIToolkit/Input/UTKIntStepper.uss @@ -1,6 +1,6 @@ /* * =================================== - * UTKNumberStepper.uss + * UTKIntStepper.uss * Number Stepper Component Styles * =================================== */ diff --git a/Assets/Resources/UIToolkit/Input/UTKNumberStepper.uss.meta b/Assets/Resources/UIToolkit/Input/UTKIntStepper.uss.meta similarity index 100% rename from Assets/Resources/UIToolkit/Input/UTKNumberStepper.uss.meta rename to Assets/Resources/UIToolkit/Input/UTKIntStepper.uss.meta diff --git a/Assets/Resources/UIToolkit/Property/Views/UTKButtonItemView.uxml b/Assets/Resources/UIToolkit/Property/Views/UTKButtonItemView.uxml new file mode 100644 index 00000000..336994eb --- /dev/null +++ b/Assets/Resources/UIToolkit/Property/Views/UTKButtonItemView.uxml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/Assets/Resources/UIToolkit/Property/Views/UTKButtonItemView.uxml.meta b/Assets/Resources/UIToolkit/Property/Views/UTKButtonItemView.uxml.meta new file mode 100644 index 00000000..f6e050e7 --- /dev/null +++ b/Assets/Resources/UIToolkit/Property/Views/UTKButtonItemView.uxml.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: d9772db144ccd284ea63c1b71dae6711 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0} diff --git a/Assets/Resources/UIToolkit/Property/Views/UTKButtonItemViewUss.uss b/Assets/Resources/UIToolkit/Property/Views/UTKButtonItemViewUss.uss new file mode 100644 index 00000000..67010e87 --- /dev/null +++ b/Assets/Resources/UIToolkit/Property/Views/UTKButtonItemViewUss.uss @@ -0,0 +1,23 @@ +/* + * UTKButtonItemViewUss.uss + * Button PropertyItem View 전용 스타일 + */ + +.utk-property-item-view--button { + /* Button View 전용 스타일 */ +} + +.utk-property-item-view--button .utk-property-item-view__button { + flex-grow: 1; + margin-left: 0; + margin-right: 0; +} + +/* 라벨이 없는 경우 - 버튼이 전체 너비 사용 */ +.utk-property-item-view--button-no-label .utk-property-item-view__label { + display: none; +} + +.utk-property-item-view--button-no-label .utk-property-item-view__value { + flex-grow: 1; +} diff --git a/Assets/Resources/UIToolkit/Property/Views/UTKButtonItemViewUss.uss.meta b/Assets/Resources/UIToolkit/Property/Views/UTKButtonItemViewUss.uss.meta new file mode 100644 index 00000000..072ee221 --- /dev/null +++ b/Assets/Resources/UIToolkit/Property/Views/UTKButtonItemViewUss.uss.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 98488360e849b8c4b91bba3629e93b50 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} + disableValidation: 0 diff --git a/Assets/Resources/UIToolkit/Property/Views/UTKColorStatePropertyItemViewUss.uss b/Assets/Resources/UIToolkit/Property/Views/UTKColorStatePropertyItemViewUss.uss index f8e8dc04..73a44966 100644 --- a/Assets/Resources/UIToolkit/Property/Views/UTKColorStatePropertyItemViewUss.uss +++ b/Assets/Resources/UIToolkit/Property/Views/UTKColorStatePropertyItemViewUss.uss @@ -18,7 +18,7 @@ border-radius: 4px; border-width: 1px; border-color: rgba(255, 255, 255, 0.2); - margin-right: 4px; + margin-right: 0; } .utk-property-item-view--color-state .utk-property-item-view__picker-btn { diff --git a/Assets/Resources/UIToolkit/Property/Views/UTKDropdownPropertyItemViewUss.uss b/Assets/Resources/UIToolkit/Property/Views/UTKDropdownPropertyItemViewUss.uss index b8897a5c..414596b9 100644 --- a/Assets/Resources/UIToolkit/Property/Views/UTKDropdownPropertyItemViewUss.uss +++ b/Assets/Resources/UIToolkit/Property/Views/UTKDropdownPropertyItemViewUss.uss @@ -12,3 +12,9 @@ margin-left: 0; margin-right: 0; } + +#readonly-field { + flex-grow: 1; + margin-left: 0; + margin-right: 0; +} \ No newline at end of file diff --git a/Assets/Resources/UIToolkit/Property/Views/UTKEnumPropertyItemViewUss.uss b/Assets/Resources/UIToolkit/Property/Views/UTKEnumPropertyItemViewUss.uss index b6197a60..2c7ea121 100644 --- a/Assets/Resources/UIToolkit/Property/Views/UTKEnumPropertyItemViewUss.uss +++ b/Assets/Resources/UIToolkit/Property/Views/UTKEnumPropertyItemViewUss.uss @@ -12,3 +12,9 @@ margin-left: 0; margin-right: 0; } + +#readonly-field { + flex-grow: 1; + margin-left: 0; + margin-right: 0; +} \ No newline at end of file diff --git a/Assets/Resources/UIToolkit/Property/Views/UTKFloatPropertyItemViewUss.uss b/Assets/Resources/UIToolkit/Property/Views/UTKFloatPropertyItemViewUss.uss index 572821a4..7435ec95 100644 --- a/Assets/Resources/UIToolkit/Property/Views/UTKFloatPropertyItemViewUss.uss +++ b/Assets/Resources/UIToolkit/Property/Views/UTKFloatPropertyItemViewUss.uss @@ -24,14 +24,27 @@ flex-grow: 1; } +.utk-property-item-view--float .utk-property-item-view__stepper { + display: flex; + flex-grow: 1; + margin-left: 0; +} + + + /* UseSlider 상태: Slider + Field 모두 표시 */ .utk-property-item-view--float.utk-property-item-view--slider .utk-property-item-view__slider { display: flex; + flex-grow: 1; } .utk-property-item-view--float.utk-property-item-view--slider .utk-property-item-view__field { - flex-grow: 0; - min-width: 60px; + flex-grow: 0.25; +} + +.utk-property-item-view--float.utk-property-item-view--slider .utk-property-item-view__stepper { + flex-grow: 0.25; + width: 50px; } /* ReadOnly 상태: Slider 숨김 */ diff --git a/Assets/Resources/UIToolkit/Property/Views/UTKIntPropertyItemViewUss.uss b/Assets/Resources/UIToolkit/Property/Views/UTKIntPropertyItemViewUss.uss index b8e23d43..81b6e16e 100644 --- a/Assets/Resources/UIToolkit/Property/Views/UTKIntPropertyItemViewUss.uss +++ b/Assets/Resources/UIToolkit/Property/Views/UTKIntPropertyItemViewUss.uss @@ -10,6 +10,7 @@ .utk-property-item-view--int .utk-property-item-view__value { flex-direction: row; flex-grow: 1; + align-items: center; } /* 기본 상태: Slider, Stepper 숨김, Field만 표시 */ @@ -17,6 +18,7 @@ display: none; flex-grow: 1; margin-right: 8px; + margin-left: 0; } .utk-property-item-view--int .utk-property-item-view__stepper { @@ -27,16 +29,17 @@ .utk-property-item-view--int .utk-property-item-view__field { display: flex; flex-grow: 1; + margin-bottom: 0; } /* UseSlider 상태: Slider + Field 모두 표시, Stepper 숨김 */ .utk-property-item-view--int.utk-property-item-view--slider .utk-property-item-view__slider { display: flex; + flex-grow: 1; } -.utk-property-item-view--int.utk-property-item-view--slider .utk-property-item-view__field { - flex-grow: 0; - min-width: 60px; +.utk-property-item-view--int.utk-property-item-view--slider .utk-property-item-view__field { + flex-grow: 0.25; } .utk-property-item-view--int.utk-property-item-view--slider .utk-property-item-view__stepper { @@ -46,6 +49,8 @@ /* UseStepper 상태: Stepper만 표시, Field/Slider 숨김 */ .utk-property-item-view--int.utk-property-item-view--stepper .utk-property-item-view__stepper { display: flex; + flex-grow: 1; + margin-left: 0; } .utk-property-item-view--int.utk-property-item-view--stepper .utk-property-item-view__field { @@ -59,10 +64,13 @@ /* UseSlider + UseStepper 상태: Slider + Stepper 모두 표시, Field 숨김 */ .utk-property-item-view--int.utk-property-item-view--slider.utk-property-item-view--stepper .utk-property-item-view__slider { display: flex; + flex-grow: 1; } .utk-property-item-view--int.utk-property-item-view--slider.utk-property-item-view--stepper .utk-property-item-view__stepper { - display: flex; + display: flex; + flex-grow: 0.25; + width: 50px; } .utk-property-item-view--int.utk-property-item-view--slider.utk-property-item-view--stepper .utk-property-item-view__field { @@ -81,4 +89,5 @@ .utk-property-item-view--int.utk-property-item-view--readonly .utk-property-item-view__field { display: flex; flex-grow: 1; + margin-bottom: 0; } diff --git a/Assets/Resources/UIToolkit/Property/Views/UTKIntRangePropertyItemView.uxml b/Assets/Resources/UIToolkit/Property/Views/UTKIntRangePropertyItemView.uxml index 1c1482ed..e3b67ac4 100644 --- a/Assets/Resources/UIToolkit/Property/Views/UTKIntRangePropertyItemView.uxml +++ b/Assets/Resources/UIToolkit/Property/Views/UTKIntRangePropertyItemView.uxml @@ -4,10 +4,10 @@ - + - + diff --git a/Assets/Resources/UIToolkit/Property/Views/UTKIntRangePropertyItemViewUss.uss b/Assets/Resources/UIToolkit/Property/Views/UTKIntRangePropertyItemViewUss.uss index 802f6205..20568360 100644 --- a/Assets/Resources/UIToolkit/Property/Views/UTKIntRangePropertyItemViewUss.uss +++ b/Assets/Resources/UIToolkit/Property/Views/UTKIntRangePropertyItemViewUss.uss @@ -17,6 +17,7 @@ flex-grow: 1; flex-shrink: 1; flex-basis: 0; + margin-left: 0; } .utk-property-item-view--int-range .utk-property-item-view__range-separator { diff --git a/Assets/Resources/UIToolkit/Property/Views/UTKMultiSelectDropdownPropertyItemView.uxml b/Assets/Resources/UIToolkit/Property/Views/UTKMultiSelectDropdownPropertyItemView.uxml new file mode 100644 index 00000000..e11f08e7 --- /dev/null +++ b/Assets/Resources/UIToolkit/Property/Views/UTKMultiSelectDropdownPropertyItemView.uxml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/Assets/Resources/UIToolkit/Property/Views/UTKMultiSelectDropdownPropertyItemView.uxml.meta b/Assets/Resources/UIToolkit/Property/Views/UTKMultiSelectDropdownPropertyItemView.uxml.meta new file mode 100644 index 00000000..ca576387 --- /dev/null +++ b/Assets/Resources/UIToolkit/Property/Views/UTKMultiSelectDropdownPropertyItemView.uxml.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: a7bd219f87024f5448d8a67d962d52bf +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0} diff --git a/Assets/Resources/UIToolkit/Property/Views/UTKMultiSelectDropdownPropertyItemViewUss.uss b/Assets/Resources/UIToolkit/Property/Views/UTKMultiSelectDropdownPropertyItemViewUss.uss new file mode 100644 index 00000000..4b996c72 --- /dev/null +++ b/Assets/Resources/UIToolkit/Property/Views/UTKMultiSelectDropdownPropertyItemViewUss.uss @@ -0,0 +1,20 @@ +/* + * UTKMultiSelectDropdownPropertyItemViewUss.uss + * MultiSelectDropdown PropertyItem View 전용 스타일 + */ + +.utk-property-item-view--multiselect-dropdown { + /* MultiSelectDropdown View 전용 스타일 */ +} + +.utk-property-item-view--multiselect-dropdown .utk-property-item-view__multiselect-dropdown { + flex-grow: 1; + margin-left: 0; + margin-right: 0; +} + +#readonly-field { + flex-grow: 1; + margin-left: 0; + margin-right: 0; +} \ No newline at end of file diff --git a/Assets/Resources/UIToolkit/Property/Views/UTKMultiSelectDropdownPropertyItemViewUss.uss.meta b/Assets/Resources/UIToolkit/Property/Views/UTKMultiSelectDropdownPropertyItemViewUss.uss.meta new file mode 100644 index 00000000..013d6b50 --- /dev/null +++ b/Assets/Resources/UIToolkit/Property/Views/UTKMultiSelectDropdownPropertyItemViewUss.uss.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ff5637017b4f4ba499070014ab8ba603 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} + disableValidation: 0 diff --git a/Assets/Resources/UIToolkit/Property/Views/UTKPropertyItemViewCommonUss.uss b/Assets/Resources/UIToolkit/Property/Views/UTKPropertyItemViewCommonUss.uss index 6571b4b4..73b8e01c 100644 --- a/Assets/Resources/UIToolkit/Property/Views/UTKPropertyItemViewCommonUss.uss +++ b/Assets/Resources/UIToolkit/Property/Views/UTKPropertyItemViewCommonUss.uss @@ -26,12 +26,13 @@ border-bottom-color: var(--color-border); } -.utk-property-item-view:hover { +/* .utk-property-item-view:hover { background-color: var(--color-collection-item-hover); -} +} */ .utk-property-item-view TemplateContainer { flex-grow: 1; + min-height: 28px; } /* =================================== @@ -82,6 +83,8 @@ white-space: nowrap; -unity-text-align: middle-left; padding-right: 10px; + align-items: center; + justify-content: center; } /* =================================== @@ -92,6 +95,7 @@ flex-grow: 1; flex-direction: row; align-items: stretch; + align-self: center; } /* =================================== @@ -344,3 +348,61 @@ color: var(--color-text-secondary); margin-top: var(--space-xs); } + +/* =================================== + 라벨 없는 상태 (ShowLabel=false) + =================================== */ + +.utk-property-item-view--no-label .utk-property-item-view__label { + display: none; +} + +.utk-property-item-view--no-label .utk-property-item-view__value { + flex-grow: 1; +} + +/* =================================== + Stepper 스타일 (Float용) + =================================== */ + +.utk-property-item-view__stepper { + flex-direction: column; + margin-left: 4px; + flex-shrink: 0; +} + +.utk-property-item-view__stepper-btn { + width: 16px; + height: 11px; + min-height: 11px; + padding: 0; + margin: 0; + background-color: var(--color-btn-normal); + border-width: var(--border-width); + border-color: var(--color-border); + font-size: 10px; + -unity-text-align: middle-center; +} + +.utk-property-item-view__stepper-btn:hover { + background-color: var(--color-btn-hover); +} + +.utk-property-item-view__stepper-btn:active { + background-color: var(--color-btn-active); +} + +.utk-property-item-view__stepper-btn--up { + border-top-left-radius: var(--radius-s); + border-top-right-radius: var(--radius-s); + border-bottom-width: 0; +} + +.utk-property-item-view__stepper-btn--down { + border-bottom-left-radius: var(--radius-s); + border-bottom-right-radius: var(--radius-s); +} + +.utk-property-item-view__field--with-stepper { + flex-grow: 1; +} diff --git a/Assets/Resources/UIToolkit/Property/Views/UTKRadioPropertyItemViewUss.uss b/Assets/Resources/UIToolkit/Property/Views/UTKRadioPropertyItemViewUss.uss index 0d283976..83725b3f 100644 --- a/Assets/Resources/UIToolkit/Property/Views/UTKRadioPropertyItemViewUss.uss +++ b/Assets/Resources/UIToolkit/Property/Views/UTKRadioPropertyItemViewUss.uss @@ -16,3 +16,9 @@ .utk-property-item-view--radio .utk-property-item-view__radio { margin-right: 12px; } + +#readonly-field { + flex-grow: 1; + margin-left: 0; + margin-right: 0; +} \ No newline at end of file diff --git a/Assets/Resources/UIToolkit/Property/Views/UTKStringPropertyItemViewUss.uss b/Assets/Resources/UIToolkit/Property/Views/UTKStringPropertyItemViewUss.uss index deff1ca5..fa052d03 100644 --- a/Assets/Resources/UIToolkit/Property/Views/UTKStringPropertyItemViewUss.uss +++ b/Assets/Resources/UIToolkit/Property/Views/UTKStringPropertyItemViewUss.uss @@ -10,3 +10,18 @@ .utk-property-item-view--string .utk-property-item-view__field { flex-grow: 1; } + +/* ActionButton 스타일 */ +.utk-property-item-view--string .utk-property-item-view__action-button { + margin-left: 4px; + flex-shrink: 0; + height: 24px; +} + +.utk-property-item-view--string .utk-property-item-view__action-button-icon { + margin-left: 4px; + flex-shrink: 0; + min-width: 24px; + max-width: 24px; + height: 24px; +} diff --git a/Assets/Resources/UIToolkit/Sample/Input/UTKNumberStepperSample.uss b/Assets/Resources/UIToolkit/Sample/Input/UTKIntStepperSample.uss similarity index 84% rename from Assets/Resources/UIToolkit/Sample/Input/UTKNumberStepperSample.uss rename to Assets/Resources/UIToolkit/Sample/Input/UTKIntStepperSample.uss index da4047d1..e292a4af 100644 --- a/Assets/Resources/UIToolkit/Sample/Input/UTKNumberStepperSample.uss +++ b/Assets/Resources/UIToolkit/Sample/Input/UTKIntStepperSample.uss @@ -1,6 +1,6 @@ /* * =================================== - * UTKNumberStepperSample.uss + * UTKIntStepperSample.uss * Number Stepper Sample Specific Styles * =================================== */ diff --git a/Assets/Resources/UIToolkit/Sample/Input/UTKNumberStepperSample.uss.meta b/Assets/Resources/UIToolkit/Sample/Input/UTKIntStepperSample.uss.meta similarity index 100% rename from Assets/Resources/UIToolkit/Sample/Input/UTKNumberStepperSample.uss.meta rename to Assets/Resources/UIToolkit/Sample/Input/UTKIntStepperSample.uss.meta diff --git a/Assets/Resources/UIToolkit/Sample/Input/UTKNumberStepperSample.uxml b/Assets/Resources/UIToolkit/Sample/Input/UTKIntStepperSample.uxml similarity index 77% rename from Assets/Resources/UIToolkit/Sample/Input/UTKNumberStepperSample.uxml rename to Assets/Resources/UIToolkit/Sample/Input/UTKIntStepperSample.uxml index cc65fc5d..22d83ca7 100644 --- a/Assets/Resources/UIToolkit/Sample/Input/UTKNumberStepperSample.uxml +++ b/Assets/Resources/UIToolkit/Sample/Input/UTKIntStepperSample.uxml @@ -1,7 +1,7 @@