Salome HOME
Merge branch 'Dev_1.1.0' of newgeom:newgeom into Dev_1.1.0
[modules/shaper.git] / src / PartSet / PartSet_Module.h
index 2bf2f44b063fc17a8c866b96d4d874e1754bafbf..5264352dc98b0563d12877f826f862cce2cd67dd 100644 (file)
@@ -52,9 +52,8 @@ public:
   virtual ~PartSet_Module();
 
   /// Creates custom widgets for property panel
-  virtual QWidget* createWidgetByType(const std::string& theType, QWidget* theParent,
-                                      Config_WidgetAPI* theWidgetApi, std::string theParentId,
-                                      QList<ModuleBase_ModelWidget*>& theModelWidgets);
+  virtual ModuleBase_ModelWidget* createWidgetByType(const std::string& theType, QWidget* theParent,
+                                                     Config_WidgetAPI* theWidgetApi, std::string theParentId);
 
   /// Call back forlast tuning of property panel before operation performance
   virtual void propertyPanelDefined(ModuleBase_Operation* theOperation);
@@ -80,6 +79,14 @@ public:
   /// \param theOperation a stopped operation
   virtual void operationStopped(ModuleBase_Operation* theOperation);
 
+  /// Realizes some functionality by an operation start
+  /// \param theOperation a started operation
+  virtual ModuleBase_Operation* currentOperation() const;
+
+  /// Returns action according to the given ID
+  /// \param theId an action identifier, it should be uniqued in the bounds of the module
+  QAction* action(const QString& theId) const;
+
   /// Returns True if there are available Undos and the sketch manager allows undo
   /// \return the boolean result
   virtual bool canUndo() const;
@@ -93,9 +100,12 @@ public:
   /// if it is a sketch operation
   /// \param theObject a model object
   virtual bool canDisplayObject(const ObjectPtr& theObject) const;
+
   /// Add menu atems for viewer into the given menu
   /// \param theMenu a popup menu to be shown in the viewer
-  virtual void addViewerItems(QMenu* theMenu) const;
+  /// \param theStdActions a map of standard actions
+  /// \return true if items are added and there is no necessity to provide standard menu
+  virtual bool addViewerItems(QMenu* theMenu, const QMap<QString, QAction*>& theStdActions) const;
 
 public slots:
   /// SLOT, that is called by no more widget signal emitted by property panel
@@ -106,6 +116,11 @@ public slots:
   /// \param isChecked a state of toggle if the action is checkable
   void onAction(bool isChecked);
 
+  /// Slolt called on object display
+  /// \param theObject a data object
+  /// \param theAIS a presentation object
+  virtual void onObjectDisplayed(ObjectPtr theObject, AISObjectPtr theAIS);
+
 protected slots:
   /// Called when previous operation is finished
   virtual void onSelectionChanged();
@@ -123,9 +138,6 @@ protected slots:
   /// It commits the operation of it is can be committed
   void onOperationActivatedByPreselection();
 
-  //! Delete features
-  void onDeleteObjects();
-
  protected:
   /// Register validators for this module
   virtual void registerValidators();
@@ -140,6 +152,10 @@ protected slots:
    /// Processing of vertex selected
    void onVertexSelected();
 
+   /// Called on transformation in current viewer
+   /// \param theTrsfType type of tranformation
+   void onViewTransformed(int theTrsfType = 2);
+
  private:
   /// Breaks sequense of automatically resterted operations
   void breakOperationSequence();
@@ -148,17 +164,13 @@ protected slots:
   /// Put the created actions into an internal map
   void createActions();
 
-  /// Returns action according to the given ID
-  /// \param theId an action identifier, it should be uniqued in the bounds of the module
-  QAction* action(const QString& theId) const;
-
   /// Add action to the internal map
   /// \param theId - string ID of the item
   /// \param theAction - action to add
   void addAction(const QString& theId, QAction* theAction);
 
   //! Delete features
-  void deleteObjects();
+  virtual bool deleteObjects();
 
  private:
    QString myLastOperationId;
@@ -173,6 +185,8 @@ protected slots:
   PartSet_SketcherMgr* mySketchMgr;
 
   QMap<QString, QAction*> myActions; // the popup menu actions
+
+  int myVisualLayerId;
 };
 
 #endif