diff --git a/widgets/coreWidget/ContextMenu.cc b/widgets/coreWidget/ContextMenu.cc index f0f220def2190692d60b6a8fab1d38d7ee7ee1d3..c77d88a3944d03a7e94fbf61cfbb617eb600e194 100644 --- a/widgets/coreWidget/ContextMenu.cc +++ b/widgets/coreWidget/ContextMenu.cc @@ -263,7 +263,12 @@ void CoreWidget::updatePopupMenuBackground(QMenu* _menu , const QPoint& /*_point ACG::SceneGraph::BaseNode* coordSys = root->find("Core Coordsys Node"); if(!coordSys->visible()) { - updatePopupMenuCoordsysNode(_menu, 0); + + if(!coordSysMenu_) { + coordSysMenu_ = new QMenu("Coordinate System Options", _menu); + updatePopupMenuCoordsysNode(coordSysMenu_, 0); + } + _menu->addMenu(coordSysMenu_); } // Tell Plugins to update their context Menu diff --git a/widgets/coreWidget/CoreWidget.cc b/widgets/coreWidget/CoreWidget.cc index 67da7cf493239c995b028ea5d2b4253c39da798c..3bbe3d8b2b09f4a5cdfd55238fb6bd4fa4ca0170 100644 --- a/widgets/coreWidget/CoreWidget.cc +++ b/widgets/coreWidget/CoreWidget.cc @@ -96,6 +96,7 @@ CoreWidget( QVector<ViewMode*>& _viewModes, contextSelectionMenu_(0), drawGroupViewer_(0), viewerDrawMenu_(0), + coordSysMenu_(0), snapshotName_("snap.png"), snapshotCounter_(0), stackMenu_(0), diff --git a/widgets/coreWidget/CoreWidget.hh b/widgets/coreWidget/CoreWidget.hh index 48e7cf052d4ed0cff5926663dc7fe8ad7816c6bd..4fbc74125c4540864d47505f8af11fe9b2d85e74 100644 --- a/widgets/coreWidget/CoreWidget.hh +++ b/widgets/coreWidget/CoreWidget.hh @@ -640,6 +640,10 @@ public: /// Draw Menu for per Viewer Draw Modes QMenu* viewerDrawMenu_; + /// Menu which holds the context menu entries for + /// the coordsys node if invisible + QMenu* coordSysMenu_; + /** @} */ //===========================================================================