Gui: [skip ci] add method extensionSetupContextMenu to extension view provider

This commit is contained in:
wmayer
2020-11-08 13:36:31 +01:00
parent b9e373b9b2
commit df02e0ad67
4 changed files with 10 additions and 1 deletions

View File

@@ -649,6 +649,13 @@ bool ViewProvider::mouseButtonPressed(int button, bool pressed,
return false;
}
void ViewProvider::setupContextMenu(QMenu* menu, QObject* receiver, const char* method)
{
auto vector = getExtensionsDerivedFromType<Gui::ViewProviderExtension>();
for (Gui::ViewProviderExtension* ext : vector)
ext->extensionSetupContextMenu(menu, receiver, method);
}
bool ViewProvider::onDelete(const vector< string >& subNames)
{
bool del = true;

View File

@@ -458,7 +458,7 @@ public:
virtual bool mouseButtonPressed(int button, bool pressed, const SbVec2s &cursorPos,
const View3DInventorViewer* viewer);
/// set up the context-menu with the supported edit modes
virtual void setupContextMenu(QMenu*, QObject*, const char*) {}
virtual void setupContextMenu(QMenu*, QObject*, const char*);
/** @name direct handling methods
* This group of methods is to direct influence the

View File

@@ -107,6 +107,7 @@ void ViewProviderDragger::setupContextMenu(QMenu* menu, QObject* receiver, const
{
QAction* act = menu->addAction(QObject::tr("Transform"), receiver, member);
act->setData(QVariant((int)ViewProvider::Transform));
ViewProviderDocumentObject::setupContextMenu(menu, receiver, member);
}
ViewProvider *ViewProviderDragger::startEditing(int mode) {

View File

@@ -89,6 +89,7 @@ public:
virtual void extensionReattach(App::DocumentObject* ) { }
virtual void extensionSetDisplayMode(const char* ) { }
virtual std::vector<std::string> extensionGetDisplayModes(void) const {return std::vector<std::string>();}
virtual void extensionSetupContextMenu(QMenu*, QObject*, const char*) {}
//update data of extended opject
virtual void extensionUpdateData(const App::Property*);