From: enk Date: Mon, 16 Jan 2006 12:48:53 +0000 (+0000) Subject: Fix for Bug PAL11197: X-Git-Tag: T_Before_Join_BR-D5-38-2003~1 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=e59d807d8bc787c40b9c4d833d0de3faa5fc69f8;p=modules%2Fvisu.git Fix for Bug PAL11197: SMESH and VISU: In scalar bar preferences, there is no control that X+width<=1 and Y+height<=1 --- diff --git a/src/VISUGUI/VisuGUI.cxx b/src/VISUGUI/VisuGUI.cxx index ee5f57a2..e2742d98 100644 --- a/src/VISUGUI/VisuGUI.cxx +++ b/src/VISUGUI/VisuGUI.cxx @@ -3029,8 +3029,52 @@ void VisuGUI::createPreferences() LightApp_Preferences::Bool, "VISU", "represent_shading" ); } -void VisuGUI::preferencesChanged( const QString&, const QString& ) +void VisuGUI::preferencesChanged( const QString& a, const QString& b) { + if (a != QString("VISU")) return; + if (b == QString("scalar_bar_orientation")) return; + SUIT_ResourceMgr* aResourceMgr = VISU::GetResourceMgr(); + float sbX1,sbY1,sbW,sbH; + if(b == QString("scalar_bar_vertical_x") || b == QString("scalar_bar_vertical_width")){ + sbX1 = aResourceMgr->doubleValue("VISU", "scalar_bar_vertical_x", sbX1); + sbW = aResourceMgr->doubleValue("VISU", "scalar_bar_vertical_width", sbW); + if(sbX1+sbW > 1.0){ + sbX1=0.01; + sbW=0.05; + aResourceMgr->setValue("VISU", "scalar_bar_vertical_x", sbX1); + aResourceMgr->setValue("VISU", "scalar_bar_vertical_width", sbW); + } + } + else if(b == QString("scalar_bar_vertical_y") || b == QString("scalar_bar_vertical_height")){ + sbY1 = aResourceMgr->doubleValue("VISU", "scalar_bar_vertical_y", sbY1); + sbH = aResourceMgr->doubleValue("VISU", "scalar_bar_vertical_height",sbH); + if(sbY1+sbH > 1.0){ + sbY1=0.01; + sbH=0.5; + aResourceMgr->setValue("VISU", "scalar_bar_vertical_y", sbY1); + aResourceMgr->setValue("VISU", "scalar_bar_vertical_height",sbH); + } + } + else if(b == QString("scalar_bar_horizontal_x") || b == QString("scalar_bar_horizontal_width")){ + sbX1 = aResourceMgr->doubleValue("VISU", "scalar_bar_horizontal_x", sbX1); + sbW = aResourceMgr->doubleValue("VISU", "scalar_bar_horizontal_width", sbW); + if(sbX1+sbW > 1.0){ + sbX1=0.2; + sbW=0.6; + aResourceMgr->setValue("VISU", "scalar_bar_horizontal_x", sbX1); + aResourceMgr->setValue("VISU", "scalar_bar_horizontal_width", sbW); + } + } + else if(b == QString("scalar_bar_horizontal_y") || b == QString("scalar_bar_horizontal_height")){ + sbY1 = aResourceMgr->doubleValue("VISU", "scalar_bar_horizontal_y", sbY1); + sbH = aResourceMgr->doubleValue("VISU", "scalar_bar_horizontal_height",sbH); + if(sbY1+sbH > 1.0){ + sbY1=0.01; + sbH=0.12; + aResourceMgr->setValue("VISU", "scalar_bar_horizontal_y", sbY1); + aResourceMgr->setValue("VISU", "scalar_bar_horizontal_height",sbH); + } + } } SUIT_ViewManager*