From e59d807d8bc787c40b9c4d833d0de3faa5fc69f8 Mon Sep 17 00:00:00 2001 From: enk Date: Mon, 16 Jan 2006 12:48:53 +0000 Subject: [PATCH] Fix for Bug PAL11197: SMESH and VISU: In scalar bar preferences, there is no control that X+width<=1 and Y+height<=1 --- src/VISUGUI/VisuGUI.cxx | 46 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) 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* -- 2.39.2