Salome HOME
Avoid redisplay of sketcher while it is not finished
[modules/shaper.git] / src / XGUI / XGUI_PropertyPanel.h
index 546ae19b780fe7e2c62d30b3d3f90bc6b5a9a3b0..74c3c5fba03fbd2186504843b60f7249686b2ee1 100644 (file)
@@ -15,6 +15,9 @@
 #include <QDockWidget>
 #include <QList>
 
+class QKeyEvent;
+class QVBoxLayout;
+
 class XGUI_EXPORT XGUI_PropertyPanel: public QDockWidget
 {
   Q_OBJECT
@@ -24,14 +27,39 @@ public:
 
   QWidget* contentWidget();
   void setModelWidgets(const QList<ModuleBase_ModelWidget*>& theWidgets);
+  const QList<ModuleBase_ModelWidget*>& modelWidgets() const;
+
+  void cleanContent();
+
+protected:
+  virtual bool eventFilter(QObject *theObject, QEvent *theEvent);
 
 public slots:
-  void updateContentWidget(boost::shared_ptr<ModelAPI_Feature> theFeature);
+  void updateContentWidget(FeaturePtr theFeature);
+  /// slot to activate the next widget in the property panel
+  /// \param theWidget a widget. The next widget should be activated
+  void onActivateNextWidget(ModuleBase_ModelWidget* theWidget);
+
+signals:
+  /// The signal about key release on the control, that corresponds to the attribute
+  /// \param theAttributeName a name of the attribute
+  /// \param theEvent key release event
+  void keyReleased(const std::string& theAttributeName, QKeyEvent* theEvent);
+  /// The signal about the widget activation
+  /// \param theWidget the activated widget
+  void widgetActivated(ModuleBase_ModelWidget* theWidget);
+
+  /// Signal about the point 2d set to the feature
+  /// \param the feature
+  /// \param the attribute of the feature
+  void storedPoint2D(FeaturePtr theFeature, const std::string& theAttribute);
 
 private:
   QWidget* myCustomWidget;
 
   QList<ModuleBase_ModelWidget*> myWidgets;
+
+  QVBoxLayout* myMainLayout;
 };
 
 #endif /* XGUI_PROPERTYPANEL_H_ */