X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPartSet%2FPartSet_Module.h;h=803015f38786d38701b1e26281598b8d4c960464;hb=2833d61c7ee9a9d8b3f212e8b06fbd5375197c0a;hp=31e41081696c6543dc4f0899dfed61395495562b;hpb=aafd292f1e06254e9c6e75bf8724ce66c6c7ff99;p=modules%2Fshaper.git diff --git a/src/PartSet/PartSet_Module.h b/src/PartSet/PartSet_Module.h index 31e410816..803015f38 100644 --- a/src/PartSet/PartSet_Module.h +++ b/src/PartSet/PartSet_Module.h @@ -3,8 +3,10 @@ #include "PartSet.h" -#include +#include +#include #include +#include #include #include @@ -18,12 +20,14 @@ class QKeyEvent; class PartSet_Listener; class ModelAPI_Feature; class XGUI_ViewerPrs; +class ModuleBase_Operation; +class GeomAPI_AISObject; -class PARTSET_EXPORT PartSet_Module: public QObject, public XGUI_Module +class PARTSET_EXPORT PartSet_Module : public ModuleBase_IModule { Q_OBJECT -public: + public: PartSet_Module(XGUI_Workshop* theWshop); virtual ~PartSet_Module(); @@ -31,33 +35,43 @@ public: /// \returns a workshop instance XGUI_Workshop* workshop() const; + /// Reads description of features from XML file virtual void createFeatures(); + + /// Called on creation of menu item in desktop virtual void featureCreated(QAction* theFeature); - virtual QStringList nestedFeatures(QString theFeature); + std::string featureFile(const std::string&); /// Creates an operation and send it to loop /// \param theCmdId the operation name virtual void launchOperation(const QString& theCmdId); + /// Called when it is necessary to update a command state (enable or disable it) + //virtual bool isFeatureEnabled(const QString& theCmdId) const; + /// Displays or erase the current operation preview, if it has it. /// \param theFeature the feature instance to be displayed /// \param isDisplay the state whether the presentation should be displayed or erased /// \param isUpdateViewer the flag whether the viewer should be updated - void visualizePreview(FeaturePtr theFeature, bool isDisplay, - const bool isUpdateViewer = true); + //void visualizePreview(FeaturePtr theFeature, bool isDisplay, + // const bool isUpdateViewer = true); /// Activates the feature in the displayer /// \param theFeature the feature instance to be displayed /// \param isUpdateViewer the flag whether the viewer should be updated - void activateFeature(FeaturePtr theFeature, - const bool isUpdateViewer); + void activateFeature(ObjectPtr theFeature, const bool isUpdateViewer); /// Updates current operation preview, if it has it. /// \param theCmdId the operation name void updateCurrentPreview(const std::string& theCmdId); -public slots: + /// Creates custom widgets for property panel + virtual QWidget* createWidgetByType(const std::string& theType, QWidget* theParent, + Config_WidgetAPI* theWidgetApi, + QList& theModelWidgets); + + public slots: void onFeatureTriggered(); /// SLOT, that is called after the operation is started. Connect on the focus activated signal void onOperationStarted(); @@ -83,6 +97,10 @@ public slots: /// \param theEvent the mouse event void onKeyRelease(QKeyEvent* theEvent); + /// SLOT, that is called by the mouse double click in the viewer. + /// \param theEvent the mouse event + void onMouseDoubleClick(QMouseEvent* theEvent); + /// SLOT, to apply to the current viewer the operation /// \param theX the X projection value /// \param theY the Y projection value @@ -92,7 +110,7 @@ public slots: /// SLOT, to fit all current viewer void onFitAllView(); - void onLaunchOperation(std::string theName, FeaturePtr theFeature); + void onRestartOperation(std::string theName, ObjectPtr theFeature); /// SLOT, to switch on/off the multi selection in the viewer /// \param theEnabled the enabled state @@ -101,11 +119,11 @@ public slots: /// SLOT, to stop or start selection mode for the features /// \param theFeatures a list of features to be disabled /// \param theToStop the boolean state whether it it stopped or non stopped - void onStopSelection(const std::list& theFeatures, const bool isStop); + void onStopSelection(const QList& theFeatures, const bool isStop); /// SLOT, to set selection /// \param theFeatures a list of features to be selected - void onSetSelection(const std::list& theFeatures); + void onSetSelection(const QList& theFeatures); /// SLOT, to close the viewer local context void onCloseLocalContext(); @@ -113,9 +131,14 @@ public slots: /// SLOT, to visualize the feature in another local context mode /// \param theFeature the feature to be put in another local context mode /// \param theMode the mode appeared on the feature - void onFeatureConstructed(FeaturePtr theFeature, - int theMode); -protected: + void onFeatureConstructed(ObjectPtr theFeature, int theMode); + + /// Slot which reacts to the point 2d set to the feature. Creates a constraint + /// \param the feature + /// \param the attribute of the feature + void onStorePoint2D(ObjectPtr theFeature, const std::string& theAttribute); + + protected: /// Creates a new operation /// \param theCmdId the operation name /// \param theFeatureKind a kind of feature to get the feature xml description @@ -126,11 +149,11 @@ protected: /// \param theOperation the operation void sendOperation(ModuleBase_Operation* theOperation); -protected: + protected: //! Edits the feature void editFeature(FeaturePtr theFeature); -private: + private: XGUI_Workshop* myWorkshop; PartSet_Listener* myListener;