#include <QList>
#include <QColor>
+class ModuleBase_Operation;
class PartSet_Module;
class QAction;
class QMenu;
/// \param theId an action identifier, it should be uniqued in the bounds of the module
QAction* action(const QString& theId) const;
- /// Add menu atems for viewer into the given menu
- /// \param theMenu a popup menu to be shown in the viewer
+ /// Add menu items for viewer into the actions map
/// \param theStdActions a map of standard actions
+ /// \param theParent a parent widget for the
+ /// \param theMenuActions map of action/menu for the desirable index in the viewer menu
/// \return true if items are added and there is no necessity to provide standard menu
- bool addViewerMenu(QMenu* theMenu, const QMap<QString, QAction*>& theStdActions) const;
+ bool addViewerMenu(const QMap<QString, QAction*>& theStdActions,
+ QWidget* theParent,
+ QMap<int, QAction*>& theMenuActions) const;
+
+ /// Update state of pop-up menu items in viewer
+ /// \param theStdActions - a map of standard actions
+ void updateViewerMenu(const QMap<QString, QAction*>& theStdActions);
+
+ /// Activates a PartSet document
+ void activatePartSet() const;
+
+ /// Returns list of granted operation indices
+ virtual void grantedOperationIds(ModuleBase_Operation* theOperation, QStringList& theIds) const;
public slots:
/// Processes the context menu action click
/// A slot called on edit of feature
void onEdit(bool);
+protected:
+ /// Redefinition of virtual method
+ /// \param theObj an object
+ /// \param theEvent an event
+ virtual bool eventFilter(QObject* theObj, QEvent* theEvent);
+
private:
/// Returns true if the current operation is sketch entity create operation
/// \param theValue the current auxiliary value