X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPartSet%2FPartSet_Module.h;h=79379ffc49403e1734ece9fa633d3c26fbba883b;hb=43780ffac779af7f061513b0f6243f2edb73602c;hp=d95a75ebed77a62be1fea5b7629fd646df5827bc;hpb=0c3a8a03ec5405d00c23a1cf9f20185d979ece1d;p=modules%2Fshaper.git diff --git a/src/PartSet/PartSet_Module.h b/src/PartSet/PartSet_Module.h index d95a75ebe..79379ffc4 100644 --- a/src/PartSet/PartSet_Module.h +++ b/src/PartSet/PartSet_Module.h @@ -5,8 +5,10 @@ #include #include +#include #include #include +#include #include #include @@ -20,64 +22,49 @@ class QKeyEvent; class PartSet_Listener; class ModelAPI_Feature; class XGUI_ViewerPrs; +class XGUI_Workshop; class ModuleBase_Operation; class GeomAPI_AISObject; -class PARTSET_EXPORT PartSet_Module: public ModuleBase_IModule +class PARTSET_EXPORT PartSet_Module : public ModuleBase_IModule { Q_OBJECT -public: - PartSet_Module(XGUI_Workshop* theWshop); + public: + PartSet_Module(ModuleBase_IWorkshop* theWshop); virtual ~PartSet_Module(); - /// Returns the module workshop - /// \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); - /// Returnc list of nested commands for the given feature - 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); - - /// 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(ObjectPtr theFeature, - const bool isUpdateViewer); + //virtual void launchOperation(const QString& theCmdId); /// Updates current operation preview, if it has it. /// \param theCmdId the operation name void updateCurrentPreview(const std::string& theCmdId); /// Creates custom widgets for property panel - virtual QWidget* createWidgetByType(const std::string& theType, QWidget* theParent, - Config_WidgetAPI* theWidgetApi, QList& theModelWidgets); + virtual QWidget* createWidgetByType(const std::string& theType, QWidget* theParent, + Config_WidgetAPI* theWidgetApi, + QList& theModelWidgets); + XGUI_Workshop* xWorkshop() const; -public slots: + + /// Returns list of selection modes for the given object for sketch operation + static QIntList sketchSelectionModes(ObjectPtr theFeature); + + public slots: void onFeatureTriggered(); /// SLOT, that is called after the operation is started. Connect on the focus activated signal - void onOperationStarted(); + void onOperationStarted(ModuleBase_Operation* theOperation); /// SLOT, that is called after the operation is stopped. Switched off the modfications performed /// by the operation start void onOperationStopped(ModuleBase_Operation* theOperation); @@ -113,7 +100,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 @@ -128,49 +115,42 @@ public slots: /// \param theFeatures a list of features to be selected void onSetSelection(const QList& theFeatures); - /// SLOT, to close the viewer local context - void onCloseLocalContext(); + /// SLOT, Defines Sketch editing mode + /// \param thePln - plane of current sketch + void setSketchingMode(const gp_Pln& thePln); /// 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); + 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(FeaturePtr theFeature, const std::string& theAttribute); + void onStorePoint2D(ObjectPtr theFeature, const std::string& theAttribute); -protected: + protected: /// Creates a new operation /// \param theCmdId the operation name /// \param theFeatureKind a kind of feature to get the feature xml description ModuleBase_Operation* createOperation(const std::string& theCmdId, const std::string& theFeatureKind = ""); - /// Sends the operation - /// \param theOperation the operation - void sendOperation(ModuleBase_Operation* theOperation); -protected: + protected: //! Edits the feature void editFeature(FeaturePtr theFeature); + gp_Pln getSketchPlane(FeaturePtr theSketch) const; - //! Shopws working planes in viewer 3d - void showPlanes(); - void erasePlanes(); - -private: - XGUI_Workshop* myWorkshop; + private: + //XGUI_Workshop* myWorkshop; PartSet_Listener* myListener; std::map myFeaturesInFiles; - boost::shared_ptr myXPlane; - boost::shared_ptr myYPlane; - boost::shared_ptr myZPlane; + Handle(StdSelect_FaceFilter) myPlaneFilter; + Handle(ModuleBase_ShapeInPlaneFilter) mySketchFilter; }; #endif