Salome HOME
#1721 Selecting arcs in mirror constraint is too long and removes other edges
[modules/shaper.git] / src / XGUI / XGUI_Workshop.h
index ef44340d538387a4105f39504676dd404a457865..ba9814db7000b729f4b76caed1fce7b94df4d97d 100755 (executable)
@@ -196,11 +196,20 @@ Q_OBJECT
   //! \return boolean value
   bool canChangeColor() const;
 
-  //! Change color of the features if it is possible
+  //! Change color of the results if it is possible
   //! The operation is available for construction, body and group results
   //! theObjects a list of selected objects
   void changeColor(const QObjectPtrList& theObjects);
 
+  //! Returns true if there is at least one selected body/construction/group result
+  //! \return boolean value
+  bool canChangeDeflection() const;
+
+  //! Change deflection of the results if it is possible
+  //! The operation is available for construction, body and group results
+  //! theObjects a list of selected objects
+  void changeDeflection(const QObjectPtrList& theObjects);
+
   //! Show the given features in 3d Viewer
   void showObjects(const QObjectPtrList& theList, bool isVisible);
 
@@ -246,12 +255,16 @@ Q_OBJECT
    */
   bool abortAllOperations();
 
+  /// Updates workshop state according to the started operation, e.g. visualizes the property panel
+  /// and connect to it.
+  /// \param theOpertion a started operation
+  void operationStarted(ModuleBase_Operation* theOperation);
+
+
   //! Delete features. Delete the referenced features. There can be a question with a list of
   //! referenced objects.
-  //! \param theList an objects to be deleted
-  //! \param theIgnoredFeatures a list of features to be ignored during delete
-  bool deleteFeatures(const QObjectPtrList& theFeatures,
-                      const std::set<FeaturePtr>& theIgnoredFeatures = std::set<FeaturePtr>());
+  //! \param theFeatures a list of objects to be deleted
+  bool deleteFeatures(const QObjectPtrList& theFeatures);
 
   /// Deactivates the object, if it is active and the module returns that the activation
   /// of selection for the object is not possible currently(the current operation uses it)
@@ -263,6 +276,10 @@ Q_OBJECT
   /// \param theFeature a feature
   bool isFeatureOfNested(const FeaturePtr& theFeature);
 
+  //! Shows the message in the status bar
+  //! \param theMessage a message
+  void setStatusBarMessage(const QString& theMessage);
+
   /// Has to be called in order to display objects with visibility status = true
   void synchronizeViewer();
 
@@ -275,19 +292,23 @@ Q_OBJECT
   /// Update the property panel content by the XML description of the operation and set the panel
   /// into the operation
   /// \param theOperation an operation
-  void setPropertyPanel(ModuleBase_Operation* theOperation);
+  void fillPropertyPanel(ModuleBase_Operation* theOperation);
 
   /// Connects or disconnects to the value changed signal of the property panel widgets
   /// \param isToConnect a boolean value whether connect or disconnect
   void connectToPropertyPanel(const bool isToConnect);
 
   /// Returns defailt selection mode in 3d viewer
-  int viewerSelectionMode() const { return myViewerSelMode; }
+  QIntList viewerSelectionModes() const { return myViewerSelMode; }
 
   /// Highlights result objects in Object Browser according to
   /// features found in the given list
   void highlightResults(const QObjectPtrList& theObjects);
 
+  /// Highlights feature objects in Object Browser according to
+  /// features found in the given list
+  void highlightFeature(const QObjectPtrList& theObjects);
+
   /// Returns Data Model XML reader which contains information about 
   /// Data structure configuration
   const Config_DataModelReader* dataModelXMLReader() const { return myDataModelXMLReader; }
@@ -296,13 +317,14 @@ Q_OBJECT
   /// It is used for specific processing of Undo/Redo for this command.
   static QString MOVE_TO_END_COMMAND;
 
+  //! Closes all in the current session and load the directory
+  //! \param theDirectory a path to directory
+  void openDirectory(const QString& theDirectory);
+
 signals:
   /// Emitted when selection happens in Salome viewer
   void salomeViewerSelection();
 
-  /// Emitted when error in application happens
-  void errorOccurred(const QString&);
-
   //! the signal about the workshop actions states are updated.
   void commandStatusUpdated();
 
@@ -387,17 +409,6 @@ signals:
   /// \param theOperation an operation
    void setGrantedFeatures(ModuleBase_Operation* theOperation);
 
-  //! \param theIgnoredFeatures a list of features to be ignored during delete
-  //! \param theList an objects to be checked
-  //! \param aDirectRefFeatures a list of direct reference features
-  //! \param aIndirectRefFeatures a list of features which depend on the feature through others
-  //! \param doDeleteReferences flag if referenced features should be removed also
-  bool deleteFeaturesInternal(const QObjectPtrList& theList,
-                              const std::set<FeaturePtr>& aDirectRefFeatures,
-                              const std::set<FeaturePtr>& aIndirectRefFeatures,
-                              const std::set<FeaturePtr>& theIgnoredFeatures,
-                              const bool doDeleteReferences = true);
-
 private:
   /// Display all results
   //void displayAllResults();
@@ -413,7 +424,7 @@ private:
   /// SLOT, that is called after the operation is started. Update workshop state according to
   /// the started operation, e.g. visualizes the property panel and connect to it.
   /// \param theOpertion a started operation
-  void onOperationStarted(ModuleBase_Operation* theOperation);
+  // void onOperationStarted(ModuleBase_Operation* theOperation);
 
   /// SLOT, that is called after the operation is resumed. Update workshop state according to
   /// the started operation, e.g. visualizes the property panel and connect to it.
@@ -481,17 +492,6 @@ private:
   //! \param theSlot - onUndo(int) or onRedo(int) SLOT
   void addHistoryMenu(QObject* theObject, const char* theSignal, const char* theSlot);
 
-
-  /// Calls removeFeature of the document for each object in the list
-  //! \param theList an objects to be deleted
-  //! \param theIgnoredFeatures a list of features to be ignored during delete
-  //! \param theActionId an action command key to find context menu object types enabled for remove
-  //! \param theFlushRedisplay a boolean value if the redisplay signal should be flushed
-  bool removeFeatures(const QObjectPtrList& theList,
-                      const std::set<FeaturePtr>& theIgnoredFeatures,
-                      const QString& theActionId,
-                      const bool theFlushRedisplay);
-
   //! Creates list of actions (commands) by given history list from session
   QList<ActionInfo> processHistoryList(const std::list<std::string>&) const;
 
@@ -518,7 +518,7 @@ private:
 
   QString myCurrentDir;
 
-  int myViewerSelMode;
+  QIntList myViewerSelMode;
 
   Config_DataModelReader* myDataModelXMLReader;
 };