Salome HOME
Make same planes cannot be used twice in partition tool
[modules/shaper.git] / src / XGUI / XGUI_Tools.h
index 48ab0d57b892676cb315d481eacb94cd627efb9c..da38e87add14de71a9618366bce4e2670c1f052a 100644 (file)
@@ -14,6 +14,8 @@
 #include <memory>
 
 class QWidget;
+class XGUI_Workshop;
+class ModuleBase_IWorkshop;
 
 /*!
  \ingroup GUI
@@ -56,6 +58,12 @@ QString XGUI_EXPORT addSlash(const QString& path);
 
 // The model concerning tools
 
+/*! Unite object names in one string using the separator between values
+ \param theObjects a list of objects
+ \param theSeparator a separator
+ */
+QString unionOfObjectNames(const QObjectPtrList& theObjects, const QString& theSeparator);
+
 /*!
  Returns true if the feature is a model object
  \param theFeature a feature
@@ -110,6 +118,13 @@ void XGUI_EXPORT refsToFeatureInFeatureDocument(const ObjectPtr& theObject,
  */
 bool XGUI_EXPORT isSubOfComposite(const ObjectPtr& theObject, const FeaturePtr& theFeature);
 
+/*!
+*/
+void refsDirectToFeatureInAllDocuments(const ObjectPtr& theSourceObject, const ObjectPtr& theObject,
+                                 const QObjectPtrList& theIgnoreList,
+                                 std::set<FeaturePtr>& theDirectRefFeatures, 
+                                 std::set<FeaturePtr>& theAlreadyProcessed);
+
 /*!
  Returns a container of references feature to the source object. The search happens in the object
  document and in other Part documents if the object belongs to the PartSet. The search is recursive,
@@ -118,13 +133,15 @@ bool XGUI_EXPORT isSubOfComposite(const ObjectPtr& theObject, const FeaturePtr&
  which has the object as a sub object.
  \param theSourceObject an object, which references are searched
  \param theObject an intermediate recursive object, should be set in the source object
+ \param theIgnoreList an ignore list, the found referernces which coincide with the objects are ignored
  \param theDirectRefFeatures direct references
- \param theIndirectRefFeatures indirect references
+ \param theIndirectRefFeatures indirect references. These are features that refers to the direct features
  \param theAlreadyProcessed set of processed elements, used for optimization (do not reanalyse processed)
  \return a boolean value
  */
 void XGUI_EXPORT refsToFeatureInAllDocuments(const ObjectPtr& theSourceObject,
                                              const ObjectPtr& theObject,
+                                             const QObjectPtrList& theIgnoreList,
                                              std::set<FeaturePtr>& theDirectRefFeatures,
                                              std::set<FeaturePtr>& theIndirectRefFeatures,
                                              std::set<FeaturePtr>& theAlreadyProcessed);
@@ -135,6 +152,14 @@ void XGUI_EXPORT refsToFeatureInAllDocuments(const ObjectPtr& theSourceObject,
 * \returns boolean value
 */
 bool XGUI_EXPORT isSubOfComposite(const ObjectPtr& theObject);
+
+/*!
+ Returns converted workshop
+ \param theWorkshop an interface workshop
+ \return XGUI workshop instance
+*/
+XGUI_EXPORT XGUI_Workshop* workshop(ModuleBase_IWorkshop* theWorkshop);
+
 };
 
 #endif