소스 검색

Fix sizehint of ctkMaterialPropertyWidget

Its minimumSizeHint was unnecessary wide. This was due to the use of a
QAbstractItemView. The minimumSizeHint of a QAbstractItemView is arbitrary
large and doesn't depends on its content.
If more presets need to be added, it might be useful to create a special
container that returns an appropriate minimumSizeHint.
Julien Finet 13 년 전
부모
커밋
a93a277745
1개의 변경된 파일140개의 추가작업 그리고 121개의 파일을 삭제
  1. 140 121
      Libs/Widgets/Resources/UI/ctkMaterialPropertyWidget.ui

+ 140 - 121
Libs/Widgets/Resources/UI/ctkMaterialPropertyWidget.ui

@@ -13,54 +13,63 @@
   <property name="windowTitle">
    <string>Material Property</string>
   </property>
-  <layout class="QGridLayout" name="gridLayout" columnstretch="0,0,1,0,0">
+  <layout class="QFormLayout" name="formLayout">
+   <property name="fieldGrowthPolicy">
+    <enum>QFormLayout::ExpandingFieldsGrow</enum>
+   </property>
    <property name="margin">
     <number>0</number>
    </property>
-    <item row="0" column="0">
-      <widget class="QLabel" name="ColorLabel">
-        <property name="text">
-          <string>Color:</string>
-        </property>
-      </widget>
-    </item>
-    <item row="0" column="1" colspan="4">
-      <widget class="ctkColorPickerButton" name="ColorPickerButton">
-        <property name="color">
-          <color>
-            <red>255</red>
-            <green>255</green>
-            <blue>255</blue>
-          </color>
-        </property>
-        <property name="displayColorName">
-          <bool>false</bool>
-        </property>
-        <property name="dialogOptions">
-          <set>ctkColorPickerButton::UseCTKColorDialog</set>
-        </property>
-      </widget>
-    </item>
-    <item row="1" column="0">
-      <widget class="QLabel" name="OpacityLabel">
-        <property name="text">
-          <string>Opacity:</string>
-        </property>
-      </widget>
-    </item>
-    <item row="1" column="1" colspan="4">
-      <widget class="ctkSliderWidget" name="OpacitySliderSpinBox">
-        <property name="singleStep">
-          <double>0.010000000000000</double>
-        </property>
-        <property name="maximum">
-          <double>1.000000000000000</double>
-        </property>
-        <property name="value">
-          <double>1.000000000000000</double>
-        </property>
-      </widget>
-    </item>
+   <item row="0" column="0">
+    <widget class="QLabel" name="ColorLabel">
+     <property name="text">
+      <string>Color:</string>
+     </property>
+    </widget>
+   </item>
+   <item row="0" column="1">
+    <widget class="ctkColorPickerButton" name="ColorPickerButton">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="color">
+      <color>
+       <red>255</red>
+       <green>255</green>
+       <blue>255</blue>
+      </color>
+     </property>
+     <property name="displayColorName">
+      <bool>false</bool>
+     </property>
+     <property name="dialogOptions">
+      <set>ctkColorPickerButton::UseCTKColorDialog</set>
+     </property>
+    </widget>
+   </item>
+   <item row="1" column="0">
+    <widget class="QLabel" name="OpacityLabel">
+     <property name="text">
+      <string>Opacity:</string>
+     </property>
+    </widget>
+   </item>
+   <item row="1" column="1">
+    <widget class="ctkSliderWidget" name="OpacitySliderSpinBox">
+     <property name="singleStep">
+      <double>0.010000000000000</double>
+     </property>
+     <property name="maximum">
+      <double>1.000000000000000</double>
+     </property>
+     <property name="value">
+      <double>1.000000000000000</double>
+     </property>
+    </widget>
+   </item>
    <item row="2" column="0">
     <widget class="QLabel" name="AmbientLabel">
      <property name="text">
@@ -68,7 +77,7 @@
      </property>
     </widget>
    </item>
-   <item row="2" column="1" colspan="4">
+   <item row="2" column="1">
     <widget class="ctkSliderWidget" name="AmbientSliderSpinBox">
      <property name="singleStep">
       <double>0.010000000000000</double>
@@ -85,7 +94,7 @@
      </property>
     </widget>
    </item>
-   <item row="3" column="1" colspan="4">
+   <item row="3" column="1">
     <widget class="ctkSliderWidget" name="DiffuseSliderSpinBox">
      <property name="singleStep">
       <double>0.010000000000000</double>
@@ -105,7 +114,7 @@
      </property>
     </widget>
    </item>
-   <item row="4" column="1" colspan="4">
+   <item row="4" column="1">
     <widget class="ctkSliderWidget" name="SpecularSliderSpinBox">
      <property name="singleStep">
       <double>0.010000000000000</double>
@@ -125,7 +134,7 @@
      </property>
     </widget>
    </item>
-   <item row="5" column="1" colspan="4">
+   <item row="5" column="1">
     <widget class="ctkSliderWidget" name="SpecularPowerSliderSpinBox">
      <property name="decimals">
       <number>1</number>
@@ -141,77 +150,6 @@
      </property>
     </widget>
    </item>
-   <item row="8" column="0">
-    <widget class="QLabel" name="PreviewLabel">
-     <property name="text">
-      <string>Preview:</string>
-     </property>
-    </widget>
-   </item>
-   <item row="8" column="1">
-    <widget class="ctkMaterialPropertyPreviewLabel" name="MaterialPropertyPreviewLabel">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-    </widget>
-   </item>
-   <item row="8" column="3">
-    <widget class="QLabel" name="PresetsLabel">
-     <property name="text">
-      <string>Presets:</string>
-     </property>
-    </widget>
-   </item>
-   <item row="8" column="4">
-    <widget class="QListWidget" name="PresetsListWidget">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="maximumSize">
-      <size>
-       <width>16777215</width>
-       <height>34</height>
-      </size>
-     </property>
-     <property name="verticalScrollBarPolicy">
-      <enum>Qt::ScrollBarAlwaysOff</enum>
-     </property>
-     <property name="horizontalScrollBarPolicy">
-      <enum>Qt::ScrollBarAsNeeded</enum>
-     </property>
-     <property name="editTriggers">
-      <set>QAbstractItemView::NoEditTriggers</set>
-     </property>
-     <property name="selectionMode">
-      <enum>QAbstractItemView::NoSelection</enum>
-     </property>
-     <property name="flow">
-      <enum>QListView::LeftToRight</enum>
-     </property>
-     <property name="uniformItemSizes">
-      <bool>true</bool>
-     </property>
-    </widget>
-   </item>
-   <item row="8" column="2">
-    <spacer name="horizontalSpacer">
-     <property name="orientation">
-      <enum>Qt::Horizontal</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>40</width>
-       <height>20</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
    <item row="6" column="0">
     <widget class="QLabel" name="BackfaceCullingLabel">
      <property name="text">
@@ -219,13 +157,94 @@
      </property>
     </widget>
    </item>
-   <item row="6" column="1" colspan="4">
+   <item row="6" column="1">
     <widget class="QCheckBox" name="BackfaceCullingCheckBox">
      <property name="text">
       <string/>
      </property>
     </widget>
    </item>
+   <item row="7" column="0">
+    <widget class="QLabel" name="PreviewLabel">
+     <property name="text">
+      <string>Preview:</string>
+     </property>
+    </widget>
+   </item>
+   <item row="7" column="1">
+    <layout class="QHBoxLayout" name="horizontalLayout_2">
+     <item>
+      <widget class="ctkMaterialPropertyPreviewLabel" name="MaterialPropertyPreviewLabel">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="horizontalSpacer">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>0</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QLabel" name="PresetsLabel">
+       <property name="text">
+        <string>Presets:</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QListWidget" name="PresetsListWidget">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>123</width>
+         <height>34</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>123</width>
+         <height>34</height>
+        </size>
+       </property>
+       <property name="verticalScrollBarPolicy">
+        <enum>Qt::ScrollBarAlwaysOff</enum>
+       </property>
+       <property name="horizontalScrollBarPolicy">
+        <enum>Qt::ScrollBarAsNeeded</enum>
+       </property>
+       <property name="editTriggers">
+        <set>QAbstractItemView::NoEditTriggers</set>
+       </property>
+       <property name="selectionMode">
+        <enum>QAbstractItemView::NoSelection</enum>
+       </property>
+       <property name="flow">
+        <enum>QListView::LeftToRight</enum>
+       </property>
+       <property name="uniformItemSizes">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
   </layout>
  </widget>
  <customwidgets>