Salome HOME
Issue #3135: Provide standard mode of building for non-dragging objects
[modules/shaper.git] / src / PartSet / PartSet_BSplineWidget.h
index 29a5fea889c9c47a0763db85ad5c0c259c17434f..05108ca038ebb0856307c99ef1062896c92ef171 100644 (file)
@@ -30,7 +30,8 @@
 #include <ModuleBase_ParamSpinBox.h>
 
 class QGroupBox;
-
+class QScrollArea;
+class QToolButton;
 
 /** \brief Represent a content of the property panel to show/modify parameters of B-spline curve.
  *  \ingroup GUI
@@ -75,14 +76,24 @@ protected:
   /// Update attributes of B-spline feature
   void storePolesAndWeights() const;
 
+private slots:
+  void onAddPole();
+
 private:
   struct BSplinePoleWidgets {
     ModuleBase_LabelValue* myX;
     ModuleBase_LabelValue* myY;
     ModuleBase_ParamSpinBox* myWeight;
+    QToolButton* myAddBtn;
   };
 
-  QGroupBox* myPolesGroupBox; ///< widget to show poles and weights of B-spline curve
+  QGroupBox* createPoleWidget(BSplinePoleWidgets& thePole,
+                              const QString& theName,
+                              QWidget* theParent);
+
+  QWidget* myPolesWgt; ///< widget to show poles and weights of B-spline curve
+  QGroupBox* myPolesGroupBox;
+  QScrollArea* myScrollArea;
   std::list<BSplinePoleWidgets> myPoles; ///< list of B-spline poles and their weights
 };