Parcourir la source

Add ctkVTKScalarsToColorsWidget::addExtraWidget()

Extra widgets will be added to the top left corner.
Julien Finet il y a 13 ans
Parent
commit
1c8e70487e

+ 2 - 2
Libs/Visualization/VTK/Widgets/Resources/UI/ctkVTKScalarsToColorsWidget.ui

@@ -21,9 +21,9 @@
     <number>0</number>
    </property>
    <item row="0" column="0" colspan="2">
-    <layout class="QHBoxLayout" name="horizontalLayout">
+    <layout class="QHBoxLayout" name="TopLayout">
      <item>
-      <spacer name="horizontalSpacer">
+      <spacer name="TopSpacer">
        <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>

+ 24 - 0
Libs/Visualization/VTK/Widgets/ctkVTKScalarsToColorsWidget.cpp

@@ -568,3 +568,27 @@ void ctkVTKScalarsToColorsWidget::onExpandButton(bool state)
   d->SharpnessLabel->setVisible(state);
   d->SharpnessSpinBox->setVisible(state);
 }
+
+// ----------------------------------------------------------------------------
+QWidgetList ctkVTKScalarsToColorsWidget::extraWidgets()const
+{
+  Q_D(const ctkVTKScalarsToColorsWidget);
+  QWidgetList widgets;
+  for (int i = 0; i < d->TopLayout->count(); ++i)
+    {
+    QLayoutItem* topLeftItem = d->TopLayout->itemAt(i);
+    if (topLeftItem->spacerItem())
+      {
+      break;
+      }
+    widgets << topLeftItem->widget();
+    }
+  return widgets;
+}
+
+// ----------------------------------------------------------------------------
+void ctkVTKScalarsToColorsWidget::addExtraWidget(QWidget* extraWidget)
+{
+  Q_D(const ctkVTKScalarsToColorsWidget);
+  d->TopLayout->insertWidget(this->extraWidgets().count(), extraWidget);
+}