#include "PartSet.h"
#include "PartSet_Filters.h"
-#include "PartSet_SketcherMgr.h"
#include <ModuleBase_IModule.h>
#include <ModuleBase_Definitions.h>
class ModuleBase_Operation;
class ModuleBase_IViewWindow;
+class PartSet_MenuMgr;
+class PartSet_SketcherMgr;
class QAction;
/// \param theOperation a stopped operation
virtual void operationStopped(ModuleBase_Operation* theOperation);
+ /// Realizes some functionality by an operation start
+ /// \param theOperation a started operation
+ virtual ModuleBase_Operation* currentOperation() const;
+
/// Returns True if there are available Undos and the sketch manager allows undo
/// \return the boolean result
virtual bool canUndo() const;
/// if it is a sketch operation
/// \param theObject a model object
virtual bool canDisplayObject(const ObjectPtr& theObject) const;
+
/// Add menu atems for viewer into the given menu
/// \param theMenu a popup menu to be shown in the viewer
- virtual void addViewerItems(QMenu* theMenu) const;
+ /// \param theStdActions a map of standard actions
+ /// \return true if items are added and there is no necessity to provide standard menu
+ virtual bool addViewerItems(QMenu* theMenu, const QMap<QString, QAction*>& theStdActions) const;
+
+ /// Returns whether the mouse enter the viewer's window
+ /// \return true if items are added and there is no necessity to provide standard menu
+ bool isMouseOverWindow();
+
+ PartSet_SketcherMgr* sketchMgr() const { return mySketchMgr; }
public slots:
/// SLOT, that is called by no more widget signal emitted by property panel
/// Set a specific flag to restart the sketcher operation
void onNoMoreWidgets();
- /// Processes the context menu action click
- /// \param isChecked a state of toggle if the action is checkable
- void onAction(bool isChecked);
+ /// Slolt called on object display
+ /// \param theObject a data object
+ /// \param theAIS a presentation object
+ virtual void onObjectDisplayed(ObjectPtr theObject, AISObjectPtr theAIS);
protected slots:
/// Called when previous operation is finished
/// It commits the operation of it is can be committed
void onOperationActivatedByPreselection();
- //! Delete features
- void onDeleteObjects();
-
protected:
/// Register validators for this module
virtual void registerValidators();
/// Processing of vertex selected
void onVertexSelected();
+ /// Called on transformation in current viewer
+ /// \param theTrsfType type of tranformation
+ void onViewTransformed(int theTrsfType = 2);
+
private:
/// Breaks sequense of automatically resterted operations
void breakOperationSequence();
- /// Create all actions for context menus. It is called on creation of module
- /// Put the created actions into an internal map
- void createActions();
-
- /// Returns action according to the given ID
- /// \param theId an action identifier, it should be uniqued in the bounds of the module
- QAction* action(const QString& theId) const;
-
- /// Add action to the internal map
- /// \param theId - string ID of the item
- /// \param theAction - action to add
- void addAction(const QString& theId, QAction* theAction);
-
//! Delete features
- void deleteObjects();
+ virtual bool deleteObjects();
private:
QString myLastOperationId;
PartSet_SketcherMgr* mySketchMgr;
- QMap<QString, QAction*> myActions; // the popup menu actions
+ PartSet_MenuMgr* myMenuMgr;
+
+ int myVisualLayerId;
};
#endif