#include "QtxPopupMgr.h"
-#include "SalomeApp_Application.h"
-#include "SalomeApp_NameDlg.h"
-#include "SalomeApp_DataOwner.h"
-#include "SalomeApp_ImportOperation.h"
#include "SalomeApp_Tools.h"
#include "SalomeApp_Study.h"
+#include "SalomeApp_NameDlg.h"
+#include "SalomeApp_DataOwner.h"
+#include "SalomeApp_Application.h"
+#include "SalomeApp_Preferences.h"
#include "SalomeApp_VTKSelector.h"
+#include "SalomeApp_ImportOperation.h"
+
#include <SVTK_ViewWindow.h>
#include <SVTK_ViewModel.h>
SMESHGUI_Preferences_ColorDlg *aDlg =
new SMESHGUI_Preferences_ColorDlg( SMESHGUI::GetSMESHGUI(), "" );
- QColor color = mgr->colorValue( "SMESH", "SettingsFillColor", QColor(0, 170, 255) );
+ QColor color = mgr->colorValue( "SMESH", "fill_color", QColor(0, 170, 255) );
aDlg->SetColor(1, color);
- color = mgr->colorValue( "SMESH", "SettingsOutlineColor", QColor(0, 170, 255) );
+ color = mgr->colorValue( "SMESH", "outline_color", QColor(0, 170, 255) );
aDlg->SetColor(2, color);
- color = mgr->colorValue( "SMESH", "SettingsNodeColor", Qt::red );
+ color = mgr->colorValue( "SMESH", "node_color", Qt::red );
aDlg->SetColor(3, color);
- color = mgr->colorValue( "SMESH", "SettingsBackFaceColor", Qt::blue );
+ color = mgr->colorValue( "SMESH", "backface_color", Qt::blue );
aDlg->SetColor(4, color);
- int iVal = mgr->integerValue( "SMESH", "SettingsWidth", 1 );
+ int iVal = mgr->integerValue( "SMESH", "element_width", 1 );
aDlg->SetIntValue(1, iVal);
- iVal = mgr->integerValue( "SMESH", "SettingsNodesSize", 3 );
+ iVal = mgr->integerValue( "SMESH", "node_size", 3 );
aDlg->SetIntValue(2, iVal);
- iVal = mgr->integerValue( "SMESH", "SettingsShrinkCoeff", 75 );
+ iVal = mgr->integerValue( "SMESH", "shrink_coeff", 75 );
aDlg->SetIntValue(3, iVal);
if (aDlg->exec()) {
- mgr->setValue( "SMESH", "SettingsFillColor", aDlg->GetColor(1) );
- mgr->setValue( "SMESH", "SettingsOutlineColor", aDlg->GetColor(2) );
- mgr->setValue( "SMESH", "SettingsNodeColor", aDlg->GetColor(3) );
- mgr->setValue( "SMESH", "SettingsBackFaceColor", aDlg->GetColor(4) );
+ mgr->setValue( "SMESH", "fill_color", aDlg->GetColor(1) );
+ mgr->setValue( "SMESH", "outline_color", aDlg->GetColor(2) );
+ mgr->setValue( "SMESH", "node_color", aDlg->GetColor(3) );
+ mgr->setValue( "SMESH", "backface_color", aDlg->GetColor(4) );
- mgr->setValue( "SMESH", "SettingsWidth", aDlg->GetIntValue(1) );
- mgr->setValue( "SMESH", "SettingsNodesSize", aDlg->GetIntValue(2) );
- mgr->setValue( "SMESH", "SettingsShrinkCoeff", aDlg->GetIntValue(3) );
+ mgr->setValue( "SMESH", "element_width", aDlg->GetIntValue(1) );
+ mgr->setValue( "SMESH", "node_size", aDlg->GetIntValue(2) );
+ mgr->setValue( "SMESH", "shrink_coeff", aDlg->GetIntValue(3) );
}
delete aDlg;
if(obj){
SMESH::SMESH_GroupBase_var aGroup = SMESH::SMESH_GroupBase::_narrow( SMESH::SObjectToObject( obj ) );
SMESH::SMESH_subMesh_var aSubMesh = SMESH::SMESH_subMesh::_narrow( SMESH::SObjectToObject( obj ) );
-
+ QString objType = CheckTypeObject(IObject);
if ( !aGroup->_is_nil() ) { // DELETE GROUP
SMESH::SMESH_Mesh_var aMesh = aGroup->GetMesh();
aMesh->RemoveGroup( aGroup );
SMESH::SMESH_Mesh_var aMesh = aSubMesh->GetFather();
aMesh->RemoveSubMesh( aSubMesh );
}
+ else if ( objType == "Hypothesis" || objType == "Algorithm" ) {// DELETE HYPOTHESIS
+ SMESH::RemoveHypothesisOrAlgorithmOnMesh(IObject);
+ aStudyBuilder->RemoveObjectWithChildren( obj );
+ }
else {// default action: remove SObject from the study
// san - it's no use opening a transaction here until UNDO/REDO is provided in SMESH
//SUIT_Operation *op = new SALOMEGUI_ImportOperation(myActiveStudy);
myComponentSMESH = SMESH::SMESH_Gen::_narrow( comp );
}
- myAutomaticUpdate = false;
myActiveDialogBox = 0 ;
myState = -1 ;
return 0;
}
+bool SMESHGUI::automaticUpdate()
+{
+ SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
+ if ( !resMgr )
+ return false;
+
+ return resMgr->booleanValue( "SMESH", "auto_update", false );
+}
+
//=============================================================================
/*!
*
}
CORBA::Long anId = aStudy->StudyId();
TVisualObjPtr aVisualObj = SMESH::GetVisualObj(anId,IObject->getEntry());
- cout<<"myAutomaticUpdate - "<<myAutomaticUpdate<<endl;
- if(myAutomaticUpdate && aVisualObj){
+ if ( automaticUpdate() && aVisualObj){
aVisualObj->Update();
SMESH_Actor* anActor = SMESH::FindActorByEntry(IObject->getEntry());
if(!anActor){
case 1001: // AUTOMATIC UPDATE PREFERENCES
{
- if (act->isOn()) {
- mgr->setValue( "SMESH", "AutomaticUpdate", true );
- myAutomaticUpdate = true;
- }
- else {
- mgr->setValue( "SMESH", "AutomaticUpdate", false );
- myAutomaticUpdate = false;
- }
+// if (act->isOn()) {
+// mgr->setValue( "SMESH", "AutomaticUpdate", true );
+// myAutomaticUpdate = true;
+// }
+// else {
+// mgr->setValue( "SMESH", "AutomaticUpdate", false );
+// myAutomaticUpdate = false;
+// }
break;
}
case 10071:
{
if (act->isOn()) {
- mgr->setValue( "SMESH", "DispayEntity", true );
+ mgr->setValue( "SMESH", "display_entity", true );
}
else {
- mgr->setValue( "SMESH", "DispayEntity", false );
+ mgr->setValue( "SMESH", "display_entity", false );
}
break;
}
SMESHGUI_Preferences_SelectionDlg* aDlg =
new SMESHGUI_Preferences_SelectionDlg( this );
- QColor aColor = mgr->colorValue( "SMESH", "SettingsPreSelectColor", Qt::cyan );
+ QColor aColor = mgr->colorValue( "SMESH", "highlight_color", Qt::cyan );
aDlg->SetColor(1, aColor);
- aColor = mgr->colorValue( "SMESH", "SettingsItemSelectColor", Qt::yellow );
+ aColor = mgr->colorValue( "SMESH", "selection_element_color", Qt::yellow );
aDlg->SetColor(2, aColor);
- aColor = mgr->colorValue( "SMESH", "SettingsSelectColor", Qt::white );
+ aColor = mgr->colorValue( "SMESH", "selection_object_color", Qt::white );
aDlg->SetColor(3, aColor);
- aDlg->SetWidth(1, mgr->integerValue( "SMESH", "SettingsPreSelectWidth", 5 ) );
- aDlg->SetWidth(2, mgr->integerValue( "SMESH", "SettingsItemSelectWidth", 5 ) );
- aDlg->SetPrecision(1, mgr->doubleValue( "SMESH", "SettingsNodeSelectTol", 0.025 ) );
- aDlg->SetPrecision(2, mgr->doubleValue( "SMESH", "SettingsElementsSelectTol", 0.001 ) );
+ aDlg->SetWidth(1, mgr->integerValue( "SMESH", "highlight_width", 5 ) );
+ aDlg->SetWidth(2, mgr->integerValue( "SMESH", "selection_width", 5 ) );
+ aDlg->SetPrecision(1, mgr->doubleValue( "SMESH", "selection_precision_node", 0.025 ) );
+ aDlg->SetPrecision(2, mgr->doubleValue( "SMESH", "selection_precision_element", 0.001 ) );
if (aDlg->exec()) {
QColor aPreColor = aDlg->GetColor(1),
double aTolNodes = aDlg->GetPrecision(1),
aTolItems = aDlg->GetPrecision(2);
- mgr->setValue( "SMESH", "SettingsPreSelectColor", aPreColor );
- mgr->setValue( "SMESH", "SettingsItemSelectColor", aSelColor );
- mgr->setValue( "SMESH", "SettingsSelectColor", aHiColor );
+ mgr->setValue( "SMESH", "highlight_color", aPreColor );
+ mgr->setValue( "SMESH", "selection_element_color", aSelColor );
+ mgr->setValue( "SMESH", "selection_object_color", aHiColor );
- mgr->setValue( "SMESH", "SettingsPreSelectWidth", aPreWidth );
- mgr->setValue( "SMESH", "SettingsItemSelectWidth", aSelWidth );
- mgr->setValue( "SMESH", "SettingsNodeSelectTol", aTolNodes );
- mgr->setValue( "SMESH", "SettingsElementsSelectTol", aTolItems );
+ mgr->setValue( "SMESH", "highlight_width", aPreWidth );
+ mgr->setValue( "SMESH", "selection_width", aSelWidth );
+ mgr->setValue( "SMESH", "selection_precision_node", aTolNodes );
+ mgr->setValue( "SMESH", "selection_precision_element", aTolItems );
// update current study settings
SMESH::UpdateSelectionProp( this );
action( 10002 )->setOn( false );
action( 10004 )->setOn( false );
action( 10003 )->setOn( true );
- mgr->setValue( "SMESH", "DisplayMode", "Wireframe");
+ mgr->setValue( "SMESH", "display_mode", "Wireframe");
break;
}
case 10002:
action( 10001 )->setOn( false );
action( 10004 )->setOn( false );
action( 10003 )->setOn( true );
- mgr->setValue( "SMESH", "DisplayMode", "Shading");
+ mgr->setValue( "SMESH", "display_mode", "Shading");
break;
}
case 10003:
{
- mgr->setValue( "SMESH", "Shrink", act->isOn() );
+ mgr->setValue( "SMESH", "display_mode", "Shrink" );
break;
}
case 10004:
action( 10001 )->setOn( false );
action( 10002 )->setOn( false );
action( 10003 )->setOn( false );
- mgr->setValue( "SMESH", "DisplayMode", "Nodes" );
+ mgr->setValue( "SMESH", "display_mode", "Nodes" );
break;
}
// Display mode
QString DisplayMode = "Shading";
- if ( mgr->hasValue("SMESH","DisplayMode") )
- DisplayMode = mgr->stringValue("SMESH","DisplayMode");
+ if ( mgr->hasValue("SMESH","display_mode") )
+ DisplayMode = mgr->stringValue("SMESH","display_mode");
else
- mgr->setValue("SMESH","DisplayMode", "Shading");
+ mgr->setValue("SMESH","display_mode", "Shading");
bool Shrink = false;
- if ( mgr->hasValue("SMESH","Shrink") )
- Shrink = mgr->stringValue("SMESH","Shrink") == "yes";
+ if ( mgr->hasValue("SMESH","display_mode") )
+ Shrink = mgr->stringValue("SMESH","display_mode") == "Shrink";
if (DisplayMode == "Wireframe") {
// wireframe
action( 10003 )->setOn( Shrink );
// Automatic Update
- if ( mgr->booleanValue( "SMESH","AutomaticUpdate", false ) ) {
- action( 1001 )->setOn( true );
- myAutomaticUpdate = true;
- }
- else {
- action( 1001 )->setOn( false );
- myAutomaticUpdate = false;
- }
-
- if ( mgr->booleanValue( "SMESH","DispayEntity", false ) )
+// if ( mgr->booleanValue( "SMESH","AutomaticUpdate", false ) ) {
+// action( 1001 )->setOn( true );
+// myAutomaticUpdate = true;
+// }
+// else {
+// action( 1001 )->setOn( false );
+// myAutomaticUpdate = false;
+// }
+
+ if ( mgr->booleanValue( "SMESH","display_entity", false ) )
action( 10071 )->setOn( true );
else
action( 10071 )->setOn( false );
{
SalomeApp_Module::initialize( app );
- SUIT_ResourceMgr* mgr = app->resourceMgr();
- if ( mgr )
+// SUIT_ResourceMgr* mgr = app->resourceMgr();
+// if ( mgr )
/* Automatic Update flag */
- myAutomaticUpdate = mgr->booleanValue( "SMESH", "AutomaticUpdate", myAutomaticUpdate );
+// myAutomaticUpdate = mgr->booleanValue( "SMESH", "AutomaticUpdate", myAutomaticUpdate );
// ----- create actions --------------
// Display / Erase
//-------------------------------------------------
aClient = "($client in {'VTKViewer' 'ObjectBrowser'})";
- QString aRule = aClient + " and " + aType + " and " + aSelCount;
+ QString anActiveVTK = QString("activeView = '%1'").arg(VTKViewer_Viewer::Type());
+ QString aRule = aClient + " and " + aType + " and " + aSelCount + " and " + anActiveVTK;
popupMgr()->insert( action( 301 ), -1, -1 ); // DISPLAY
popupMgr()->setRule( action( 301 ), aRule + "&&" + isNotEmpty + "&&" + isInvisible, true);
void SMESHGUI::onViewManagerAdded( SUIT_ViewManager* mgr )
{
- if( dynamic_cast<VTKViewer_ViewManager*>( mgr ) )
+ if ( dynamic_cast<VTKViewer_ViewManager*>( mgr ) )
SMESH::UpdateSelectionProp( this );
}
+
+void SMESHGUI::createPreferences()
+{
+ int genTab = addPreference( tr( "PREF_TAB_GENERAL" ) );
+
+ int qaGroup = addPreference( tr( "PREF_GROUP_QUALITY" ), genTab );
+ addPreference( tr( "PREF_DISPLAY_ENTITY" ), qaGroup, SalomeApp_Preferences::Bool, "SMESH", "display_entity" );
+ addPreference( tr( "PREF_AUTO_UPDATE" ), qaGroup, SalomeApp_Preferences::Bool, "SMESH", "auto_update" );
+
+ int precGroup = addPreference( tr( "PREF_GROUP_PRECISION" ), genTab );
+ setPreferenceProperty( precGroup, "columns", 1 );
+
+ addPreference( tr( "PREF_PRECISION_USE" ), precGroup, SalomeApp_Preferences::Bool );
+ int prec = addPreference( tr( "PREF_PRECISION_VALUE" ), precGroup, SalomeApp_Preferences::IntSpin, "SMESH", "controls_precision" );
+
+ setPreferenceProperty( prec, "min", 0 );
+ setPreferenceProperty( prec, "max", 16 );
+
+ int dispgroup = addPreference( tr( "PREF_DISPLAY_MODE" ), genTab );
+ int dispmode = addPreference( tr( "PREF_DISPLAY_MODE" ), dispgroup, SalomeApp_Preferences::Selector, "SMESH", "display_mode" );
+ QStringList modes;
+ modes.append( "Wireframe" );
+ modes.append( "Shading" );
+ modes.append( "Shrink" );
+ modes.append( "Nodes" );
+ setPreferenceProperty( dispmode, "strings", modes );
+
+ int meshTab = addPreference( tr( "PREF_TAB_MESH" ) );
+ int nodeGroup = addPreference( tr( "PREF_GROUP_NODES" ), meshTab );
+
+ addPreference( tr( "PREF_COLOR" ), nodeGroup, SalomeApp_Preferences::Color, "SMESH", "node_color" );
+ int nodeSz = addPreference( tr( "PREF_SIZE" ), nodeGroup, SalomeApp_Preferences::IntSpin, "SMESH", "node_size" );
+
+ setPreferenceProperty( nodeSz, "min", 1 );
+ setPreferenceProperty( nodeSz, "max", 5 );
+
+ int elemGroup = addPreference( tr( "PREF_GROUP_ELEMENTS" ), meshTab );
+
+ addPreference( tr( "PREF_FILL" ), elemGroup, SalomeApp_Preferences::Color, "SMESH", "fill_color" );
+ addPreference( tr( "PREF_OUTLINE" ), elemGroup, SalomeApp_Preferences::Color, "SMESH", "outline_color" );
+ addPreference( tr( "PREF_BACKFACE" ), elemGroup, SalomeApp_Preferences::Color, "SMESH", "backface_color" );
+ addPreference( "", elemGroup, SalomeApp_Preferences::Space );
+
+ int elemW = addPreference( tr( "PREF_WIDTH" ), elemGroup, SalomeApp_Preferences::IntSpin, "SMESH", "element_width" );
+ int shrink = addPreference( tr( "PREF_SHRINK_COEFF" ), elemGroup, SalomeApp_Preferences::IntSpin, "SMESH", "shrink_coeff" );
+
+ setPreferenceProperty( elemW, "min", 1 );
+ setPreferenceProperty( elemW, "max", 5 );
+
+ setPreferenceProperty( shrink, "min", 0 );
+ setPreferenceProperty( shrink, "max", 100 );
+
+ int selTab = addPreference( tr( "PREF_TAB_SELECTION" ) );
+
+ int selGroup = addPreference( tr( "PREF_GROUP_SELECTION" ), selTab );
+
+ addPreference( tr( "PREF_OBJECT_COLOR" ), selGroup, SalomeApp_Preferences::Color, "SMESH", "selection_object_color" );
+ addPreference( tr( "PREF_ELEMENT_COLOR" ), selGroup, SalomeApp_Preferences::Color, "SMESH", "selection_element_color" );
+ int selW = addPreference( tr( "PREF_WIDTH" ), selGroup, SalomeApp_Preferences::IntSpin, "SMESH", "selection_width" );
+
+ setPreferenceProperty( selW, "min", 1 );
+ setPreferenceProperty( selW, "max", 5 );
+
+ int preGroup = addPreference( tr( "PREF_GROUP_PRESELECTION" ), selTab );
+
+ addPreference( tr( "PREF_HIGHLIGHT_COLOR" ), preGroup, SalomeApp_Preferences::Color, "SMESH", "highlight_color" );
+ int preW = addPreference( tr( "PREF_WIDTH" ), preGroup, SalomeApp_Preferences::IntSpin, "SMESH", "highlight_width" );
+
+ setPreferenceProperty( preW, "min", 1 );
+ setPreferenceProperty( preW, "max", 5 );
+
+ int precSelGroup = addPreference( tr( "PREF_GROUP_PRECISION" ), selTab );
+
+ addPreference( tr( "PREF_NODES" ), precSelGroup, SalomeApp_Preferences::Double, "SMESH", "selection_precision_node" );
+ addPreference( tr( "PREF_ELEMENTS" ), precSelGroup, SalomeApp_Preferences::Double, "SMESH", "selection_precision_element" );
+
+ int sbarTab = addPreference( tr( "SMESH_SCALARBAR" ) );
+ int fontGr = addPreference( tr( "SMESH_FONT_SCALARBAR" ), sbarTab );
+
+ int tfont = addPreference( tr( "SMESH_TITLE" ), fontGr, SalomeApp_Preferences::Font, "SMESH", "scalar_bar_title_font" );
+ addPreference( tr( "SMESH_TITLE" ), fontGr, SalomeApp_Preferences::Color, "SMESH", "scalar_bar_title_color" );
+ int lfont = addPreference( tr( "SMESH_LABELS" ), fontGr, SalomeApp_Preferences::Font, "SMESH", "scalar_bar_label_font" );
+ addPreference( tr( "SMESH_LABELS" ), fontGr, SalomeApp_Preferences::Color, "SMESH", "scalar_bar_label_color" );
+
+ QStringList fam;
+ fam.append( tr( "SMESH_FONT_ARIAL" ) );
+ fam.append( tr( "SMESH_FONT_COURIER" ) );
+ fam.append( tr( "SMESH_FONT_TIMES" ) );
+ int wflag = ( QtxListResourceEdit::FontItem::All & ( ~( QtxListResourceEdit::FontItem::Size | QtxListResourceEdit::FontItem::UserSize ) ) );
+
+ setPreferenceProperty( tfont, "families", fam );
+ setPreferenceProperty( tfont, "system", false );
+ setPreferenceProperty( tfont, "widget_flags", wflag );
+ setPreferenceProperty( lfont, "families", fam );
+ setPreferenceProperty( lfont, "system", false );
+ setPreferenceProperty( lfont, "widget_flags", wflag );
+
+ int colorsLabelsGr = addPreference( tr( "SMESH_LABELS_COLORS_SCALARBAR" ), sbarTab );
+
+ int numcol = addPreference( tr( "SMESH_NUMBEROFCOLORS" ), colorsLabelsGr, SalomeApp_Preferences::IntSpin, "SMESH", "scalar_bar_num_colors" );
+ setPreferenceProperty( numcol, "min", 2 );
+ setPreferenceProperty( numcol, "max", 256 );
+
+ int numlab = addPreference( tr( "SMESH_NUMBEROFLABELS" ), colorsLabelsGr, SalomeApp_Preferences::IntSpin, "SMESH", "scalar_bar_num_labels" );
+ setPreferenceProperty( numlab, "min", 2 );
+ setPreferenceProperty( numlab, "max", 65 );
+
+ int orientGr = addPreference( tr( "SMESH_ORIENTATION" ), sbarTab );
+ int orient = addPreference( tr( "SMESH_ORIENTATION" ), orientGr, SalomeApp_Preferences::Selector, "SMESH", "scalar_bar_orientation" );
+ QStringList orients;
+ orients.append( tr( "SMESH_VERTICAL" ) );
+ orients.append( tr( "SMESH_HORIZONTAL" ) );
+ QValueList<QVariant> indices; indices.append( 0 ); indices.append( 1 );
+ setPreferenceProperty( orient, "strings", orients );
+ setPreferenceProperty( orient, "indexes", indices );
+
+ int posVSizeGr = addPreference( tr( "SMESH_POSITION_SIZE_SCALARBAR" ) + " " + tr( "SMESH_VERTICAL" ), sbarTab );
+ int xv = addPreference( tr( "SMESH_X_SCALARBAR" ), posVSizeGr, SalomeApp_Preferences::DblSpin, "SMESH", "scalar_bar_vertical_x" );
+ int yv = addPreference( tr( "SMESH_Y_SCALARBAR" ), posVSizeGr, SalomeApp_Preferences::DblSpin, "SMESH", "scalar_bar_vertical_y" );
+ int wv = addPreference( tr( "SMESH_WIDTH" ), posVSizeGr, SalomeApp_Preferences::DblSpin, "SMESH", "scalar_bar_vertical_width" );
+ int hv = addPreference( tr( "SMESH_HEIGHT" ), posVSizeGr, SalomeApp_Preferences::DblSpin, "SMESH", "scalar_bar_vertical_height" );
+ setPreferenceProperty( xv, "step", 0.1 );
+ setPreferenceProperty( xv, "min", 0.0 );
+ setPreferenceProperty( xv, "max", 1.0 );
+ setPreferenceProperty( yv, "step", 0.1 );
+ setPreferenceProperty( yv, "min", 0.0 );
+ setPreferenceProperty( yv, "max", 1.0 );
+ setPreferenceProperty( wv, "step", 0.1 );
+ setPreferenceProperty( wv, "min", 0.0 );
+ setPreferenceProperty( wv, "max", 1.0 );
+ setPreferenceProperty( hv, "min", 0.0 );
+ setPreferenceProperty( hv, "max", 1.0 );
+ setPreferenceProperty( hv, "step", 0.1 );
+
+ int posHSizeGr = addPreference( tr( "SMESH_POSITION_SIZE_SCALARBAR" ) + " " + tr( "SMESH_HORIZONTAL" ), sbarTab );
+ int xh = addPreference( tr( "SMESH_X_SCALARBAR" ), posHSizeGr, SalomeApp_Preferences::DblSpin, "SMESH", "scalar_bar_horizontal_x" );
+ int yh = addPreference( tr( "SMESH_Y_SCALARBAR" ), posHSizeGr, SalomeApp_Preferences::DblSpin, "SMESH", "scalar_bar_horizontal_y" );
+ int wh = addPreference( tr( "SMESH_WIDTH" ), posHSizeGr, SalomeApp_Preferences::DblSpin, "SMESH", "scalar_bar_horizontal_width" );
+ int hh = addPreference( tr( "SMESH_HEIGHT" ), posHSizeGr, SalomeApp_Preferences::DblSpin, "SMESH", "scalar_bar_horizontal_height" );
+ setPreferenceProperty( xv, "min", 0.0 );
+ setPreferenceProperty( xv, "max", 1.0 );
+ setPreferenceProperty( xv, "step", 0.1 );
+ setPreferenceProperty( xh, "min", 0.0 );
+ setPreferenceProperty( xh, "max", 1.0 );
+ setPreferenceProperty( xh, "step", 0.1 );
+ setPreferenceProperty( yh, "min", 0.0 );
+ setPreferenceProperty( yh, "max", 1.0 );
+ setPreferenceProperty( yh, "step", 0.1 );
+ setPreferenceProperty( wh, "min", 0.0 );
+ setPreferenceProperty( wh, "max", 1.0 );
+ setPreferenceProperty( wh, "step", 0.1 );
+ setPreferenceProperty( hh, "min", 0.0 );
+ setPreferenceProperty( hh, "max", 1.0 );
+ setPreferenceProperty( hh, "step", 0.1 );
+}
+
+void SMESHGUI::preferencesChanged( const QString& sect, const QString& name )
+{
+ if( sect=="SMESH" )
+ {
+ if( name=="scalar_bar_num_colors" || name=="scalar_bar_num_labels" || name=="scalar_bar_orientation" ||
+ name=="scalar_bar_vertical_x" || name=="scalar_bar_vertical_y" || name=="scalar_bar_vertical_width" ||
+ name=="scalar_bar_vertical_height" || name=="scalar_bar_horizontal_x" || name=="scalar_bar_horizontal_y" ||
+ name=="scalar_bar_horizontal_width" || name=="scalar_bar_horizontal_height" )
+ {
+ SVTK_ViewWindow* wnd = SMESH::GetViewWindow( this );
+ if( !wnd )
+ return;
+
+ vtkRenderer* r = wnd->getRenderer();
+ if( !r )
+ return;
+
+ vtkActorCollection* actors = r->GetActors();
+ if( !actors )
+ return;
+
+ actors->InitTraversal();
+ while( vtkActor* a = actors->GetNextActor() )
+ if( SMESH_Actor* sa = dynamic_cast<SMESH_Actor*>( a ) )
+ sa->UpdateScalarBar();
+ }
+ }
+}