X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_Workshop.h;h=37c04437fdc18426d5a0527af068e7ae500853ce;hb=52a2aa0728f8694d5774a20bd1eeba8e5e2f8b27;hp=1cf400d0f89a52956cf8e9d05516641cfea30c80;hpb=4f5cbc32b2621344e253876da67abc1ccd94fe31;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_Workshop.h b/src/XGUI/XGUI_Workshop.h index 1cf400d0f..37c04437f 100644 --- a/src/XGUI/XGUI_Workshop.h +++ b/src/XGUI/XGUI_Workshop.h @@ -164,7 +164,16 @@ Q_OBJECT void activatePart(std::shared_ptr theFeature); //! Delete features - void deleteObjects(const QObjectPtrList& theList); + void deleteObjects(); + + //! Returns true if there is at least one selected body/construction/group result + //! \return boolean value + bool canChangeColor() const; + + //! Change color of the features 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); //! Show the given features in 3d Viewer void showObjects(const QObjectPtrList& theList, bool isVisible); @@ -204,6 +213,19 @@ Q_OBJECT */ bool isActiveOperationAborted(); + //! 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 + //! \param theParent a parent widget for the question message box + //! \param theAskAboutDeleteReferences if true, the message box with a list of references to the + //! objects features appear. If the user chose do not continue, the deletion is not performed + //! \return the success of the delete + static bool deleteFeatures(const QObjectPtrList& theList, + std::set theIgnoredFeatures = std::set(), + QWidget* theParent = 0, + const bool theAskAboutDeleteReferences = false); + signals: /// Emitted when selection happens in Salome viewer void salomeViewerSelection(); @@ -217,7 +239,9 @@ signals: //! the application is started void applicationStarted(); + //! Signal to update Undo history list void updateUndoHistory(const QList&); + //! Signal to update Redo history list void updateRedoHistory(const QList&); public slots: @@ -351,9 +375,6 @@ signals: /// \param isChecked a state of toggle if the action is checkable void onContextMenuCommand(const QString& theId, bool isChecked); - /// Processing of values changed in model widget - void onWidgetValuesChanged(); - /// Set waiting cursor void onStartWaiting(); @@ -383,7 +404,10 @@ signals: void createDockWidgets(); /// Displaus object and fit all viewer if the object is first (update viewer will not be called) - void displayObject(ObjectPtr theObj); + /// Asks the module whether the object can be displayed + /// \param theObj an object + /// \return true if the object is displayed + bool displayObject(ObjectPtr theObj); //! Extends undo/redo toolbutton's with history menu //! \param theObject - in the OpenParts it is a QToolButton by itself, @@ -392,6 +416,9 @@ signals: //! \param theSlot - onUndo(int) or onRedo(int) SLOT void addHistoryMenu(QObject* theObject, const char* theSignal, const char* theSlot); + //! Creates list of actions (commands) by given history list from session + QList processHistoryList(const std::list&) const; + private: AppElements_MainWindow* myMainWindow; ModuleBase_IModule* myModule; @@ -414,6 +441,9 @@ private: // Flag to check that part document is in process of activating bool myPartActivating; + + /// The flag is true when we loading a document + bool myIsLoadingData; }; #endif