diff --git a/Core/Core.cc b/Core/Core.cc index b5338171693f6bcb15b95e3cbb2754f25267fc2e..2e6643c22afeba08d50917991a0cfa9c5b929ecd 100644 --- a/Core/Core.cc +++ b/Core/Core.cc @@ -132,6 +132,8 @@ Core() : coordsysMaterialNode_ = new ACG::SceneGraph::MaterialNode(root_node_scenegraph_,"Coordsys Material Node"); coordsysNode_ = new ACG::SceneGraph::CoordsysNode(coordsysMaterialNode_,"Core Coordsys Node"); coordsysNode_->setTraverseMode (BaseNode::NodeFirst | BaseNode::SecondPass); + gridNode_ = new ACG::SceneGraph::GridNode(root_node_scenegraph_,"Grid Node"); + gridNode_->hide(); // Add ViewMode All ViewMode* vm = new ViewMode(); diff --git a/Core/Core.hh b/Core/Core.hh index 638280ad805a06ce1f8d8ad2c6cabeeadcafbe9c..0cc14acd4771cd8e908388f81e51715b0cec84b8 100644 --- a/Core/Core.hh +++ b/Core/Core.hh @@ -103,6 +103,7 @@ #include <OpenFlipper/Core/PluginInfo.hh> #include <ACG/Scenegraph/CoordsysNode.hh> +#include <ACG/Scenegraph/GridNode.hh> //== CLASS DEFINITION ========================================================= @@ -579,6 +580,9 @@ private: /// Node for the coordinate system ACG::SceneGraph::CoordsysNode* coordsysNode_; + /// Node for the grid + ACG::SceneGraph::GridNode* gridNode_; + /** @} */ //=========================================================================== diff --git a/Core/ParseIni.cc b/Core/ParseIni.cc index e0017c2101891c94ab92f987bd8219ba5fd70fda..6e932e22f71964765e681db3672311cfa8e9ac2e 100644 --- a/Core/ParseIni.cc +++ b/Core/ParseIni.cc @@ -253,6 +253,13 @@ void Core::readApplicationOptions(INIFile& _ini) { if ( _ini.get_entry( translation, "Options" , "Translation") ) OpenFlipper::Options::translation(translation); + //============================================================================ + // Load the setting for the gridVisibility + //============================================================================ + bool visible = false; + if ( _ini.get_entry( visible, "Options" , "GridVisible") ) + OpenFlipper::Options::gridVisible(visible); + //============================================================================ // Load the setting for the viewer layout //============================================================================ @@ -570,6 +577,7 @@ void Core::writeApplicationOptions(INIFile& _ini) { _ini.add_entry("Options","DefaultViewerLayout", OpenFlipper::Options::defaultViewerLayout() ); _ini.add_entry("Options","Translation", OpenFlipper::Options::translation() ); + _ini.add_entry("Options","GridVisible", OpenFlipper::Options::gridVisible() ); _ini.add_entry("Options","MultiView", OpenFlipper::Options::multiView() ); _ini.add_entry("Options","ViewerCount", OpenFlipper::Options::examinerWidgets() ); diff --git a/Core/optionHandling.cc b/Core/optionHandling.cc index 807eaaddf13dd32dc880355277a6731a4b7ae856..9a9a45ddef3e5ccda373149ae740076127ffcb21 100644 --- a/Core/optionHandling.cc +++ b/Core/optionHandling.cc @@ -119,6 +119,11 @@ void Core::applyOptions(){ if ( OpenFlipper::Options::multiView() ) coreWidget_->setViewerLayout( OpenFlipper::Options::defaultViewerLayout() ); + if ( OpenFlipper::Options::gridVisible() ) + gridNode_->show(); + else + gridNode_->hide(); + //set defaultBackgroundColor QColor c = OpenFlipper::Options::defaultBackgroundColor() ; diff --git a/common/GlobalOptions.cc b/common/GlobalOptions.cc index ba225e709a45c1990da479f5abd03a35d246b229..769598179777d02c50bb3972c41c4085d33d278d 100644 --- a/common/GlobalOptions.cc +++ b/common/GlobalOptions.cc @@ -172,6 +172,9 @@ static int redrawDisabled_ = 0; /// Set if a drawMode Menu should always be in the context menu static bool drawModesInContextMenu_ = true; +/// Set if a grid should be drawn in every viewer +static bool gridVisible_ = false; + /// Store the toolbox gui Mode mode static bool hideToolbox_ = false; @@ -729,6 +732,13 @@ void drawModesInContextMenu(bool _show) { drawModesInContextMenu_ = _show; } +bool gridVisible() { + return gridVisible_; +} + +void gridVisible(bool _visible) { + gridVisible_ = _visible; +} void multiView( bool _multiView) { multiView_ = _multiView; diff --git a/common/GlobalOptions.hh b/common/GlobalOptions.hh index 18d6ed23f3ce923ef1d64b6a09558908780a9edf..b5c8b44b72d758ee6701fda227406ab7d99d6781 100644 --- a/common/GlobalOptions.hh +++ b/common/GlobalOptions.hh @@ -583,6 +583,14 @@ bool dataDir(QString _dir); DLLEXPORT void drawModesInContextMenu(bool _show); + /// Get the flag if a grid should be drawn in every viewer + DLLEXPORT + bool gridVisible(); + + /// Set the flag if a grid should be drawn in every viewer + DLLEXPORT + void gridVisible(bool _visible); + /** @} */ //=========================================================================== diff --git a/widgets/optionsWidget/optionsWidget.cc b/widgets/optionsWidget/optionsWidget.cc index 4d63defd491f1a88939a1110de0ccd0924324165..24c045a7f1e53e967977dea491a9aeb87d5ed73b 100644 --- a/widgets/optionsWidget/optionsWidget.cc +++ b/widgets/optionsWidget/optionsWidget.cc @@ -295,6 +295,8 @@ void OptionsWidget::showEvent ( QShowEvent * /*event*/ ) { viewerLayout->setCurrentIndex( OpenFlipper::Options::defaultViewerLayout() ); + gridVisible->setChecked (OpenFlipper::Options::gridVisible()); + if (OpenFlipper::Options::translation() == "en_US") translation->setCurrentIndex(0); else if (OpenFlipper::Options::translation() == "de_DE") @@ -544,6 +546,7 @@ void OptionsWidget::slotApply() { } OpenFlipper::Options::defaultViewerLayout( viewerLayout->currentIndex() ); + OpenFlipper::Options::gridVisible( gridVisible->isChecked() ); switch ( translation->currentIndex() ){ case 0 : OpenFlipper::Options::translation("en_US"); break; diff --git a/widgets/optionsWidget/optionsWidget.ui b/widgets/optionsWidget/optionsWidget.ui index 48af8baf2cfd37e1af19b2c6df623d4f5c99196b..8a7b9df4cff8e313d06b9a13d4a7cfb31a4a561c 100644 --- a/widgets/optionsWidget/optionsWidget.ui +++ b/widgets/optionsWidget/optionsWidget.ui @@ -23,7 +23,7 @@ <string/> </property> <property name="currentIndex"> - <number>0</number> + <number>2</number> </property> <property name="usesScrollButtons"> <bool>true</bool> @@ -385,6 +385,16 @@ </property> </widget> </item> + <item> + <widget class="QCheckBox" name="gridVisible"> + <property name="toolTip"> + <string>show a grid in the back of every viewer</string> + </property> + <property name="text"> + <string>Show grid</string> + </property> + </widget> + </item> <item> <layout class="QHBoxLayout" name="horizontalLayout_18"> <item>