]> SALOME platform Git repositories - modules/shaper.git/blobdiff - src/XGUI/XGUI_Workshop.h
Salome HOME
Issue #1015: The validate icon must be greyed and inactive instead of red and active
[modules/shaper.git] / src / XGUI / XGUI_Workshop.h
index 6cbc1429cf5a06a7e16b1a7aeab7a6f48bf55e84..835816cf41c8d5b64b2321ff1f33db093391f3cf 100755 (executable)
@@ -47,7 +47,7 @@ class QDockWidget;
 class QMainWindow;
 
 class QAction;
-
+class Config_DataModelReader;
 
 /**\class XGUI_Workshop
  * \ingroup GUI
@@ -248,10 +248,8 @@ Q_OBJECT
 
   //! 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 +261,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();
 
@@ -282,12 +284,20 @@ Q_OBJECT
   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; }
+
   /// A constant string used for "Move to end" command definition
   /// It is used for specific processing of Undo/Redo for this command.
   static QString MOVE_TO_END_COMMAND;
@@ -383,39 +393,6 @@ signals:
   /// \param theOperation an operation
    void setGrantedFeatures(ModuleBase_Operation* theOperation);
 
-  //! Find all referenced features. Return direct and indirect lists of referenced object
-  //! \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
-  void findReferences(const QObjectPtrList& theList,
-                      std::set<FeaturePtr>& aDirectRefFeatures,
-                      std::set<FeaturePtr>& aIndirectRefFeatures);
-
-  //! Shows a dialog box about references. Ask whether they should be also removed.
-  //! \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 theParent a parent widget for the question message box
-  //! \param doDeleteReferences if there are parameters between features, ask if they should be
-  //! replaced to their meaning without corresponded features remove
-  //! \return true if in message box answer is Yes
-  bool isDeleteFeatureWithReferences(const QObjectPtrList& theList,
-                                     const std::set<FeaturePtr>& aDirectRefFeatures,
-                                     const std::set<FeaturePtr>& aIndirectRefFeatures,
-                                     QWidget* theParent,
-                                     bool& doDeleteReferences);
-
-  //! \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();
@@ -499,17 +476,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;
 
@@ -536,7 +502,9 @@ private:
 
   QString myCurrentDir;
 
-  int myViewerSelMode;
+  QIntList myViewerSelMode;
+
+  Config_DataModelReader* myDataModelXMLReader;
 };
 
 #endif