-// SMESH SMESHGUI : GUI for SMESH component
+// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// This library is free software; you can redistribute it and/or
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+// SMESH SMESHGUI : GUI for SMESH component
+// File : SMESHGUI_Preferences_ScalarBarDlg.cxx
+// Author : Nicolas REJNERI, Open CASCADE S.A.S.
+// SMESH includes
//
-//
-// File : SMESHGUI_Preferences_ScalarBarDlg.cxx
-// Author : Nicolas REJNERI
-// Module : SMESH
-// $Header$
-
#include "SMESHGUI_Preferences_ScalarBarDlg.h"
#include "SMESHGUI.h"
#include "SMESHGUI_VTKUtils.h"
#include "SMESHGUI_Utils.h"
-#include "SMESH_Actor.h"
-
-#include "SUIT_Desktop.h"
-#include "SUIT_ResourceMgr.h"
-
-#include "SalomeApp_SelectionMgr.h"
-#include "SALOME_ListIO.hxx"
-
-#include <QtxDblSpinBox.h>
-
-#include <qbuttongroup.h>
-#include <qcheckbox.h>
-#include <qcombobox.h>
-#include <qgroupbox.h>
-#include <qlabel.h>
-#include <qlineedit.h>
-#include <qpushbutton.h>
-#include <qtoolbutton.h>
-#include <qradiobutton.h>
-#include <qspinbox.h>
-#include <qlayout.h>
-#include <qvalidator.h>
-#include <qcolordialog.h>
-
+#include <SMESH_Actor.h>
+
+// SALOME GUI includes
+#include <SUIT_Desktop.h>
+#include <SUIT_ResourceMgr.h>
+#include <SUIT_Session.h>
+#include <SUIT_MessageBox.h>
+
+#include <LightApp_Application.h>
+#include <LightApp_SelectionMgr.h>
+#include <SALOME_ListIO.hxx>
+
+#include <QtxDoubleSpinBox.h>
+#include <QtxColorButton.h>
+
+// Qt includes
+#include <QButtonGroup>
+#include <QCheckBox>
+#include <QComboBox>
+#include <QGroupBox>
+#include <QLabel>
+#include <QLineEdit>
+#include <QPushButton>
+#include <QRadioButton>
+#include <QSpinBox>
+#include <QHBoxLayout>
+#include <QVBoxLayout>
+#include <QGridLayout>
+#include <QDoubleValidator>
+
+// VTK includes
#include <vtkTextProperty.h>
#include <vtkScalarBarActor.h>
-#include <vtkScalarsToColors.h>
+#include <vtkLookupTable.h>
#define MINIMUM_WIDTH 70
#define MARGIN_SIZE 11
#define SPACING_SIZE 6
-#define DEF_VER_X 0.01
-#define DEF_VER_Y 0.10
-#define DEF_VER_H 0.80
-#define DEF_VER_W 0.10
-#define DEF_HOR_X 0.20
-#define DEF_HOR_Y 0.01
-#define DEF_HOR_H 0.12
-#define DEF_HOR_W 0.60
-
-using namespace std;
-
// Only one instance is allowed
SMESHGUI_Preferences_ScalarBarDlg* SMESHGUI_Preferences_ScalarBarDlg::myDlg = 0;
void SMESHGUI_Preferences_ScalarBarDlg::ScalarBarProperties( SMESHGUI* theModule )
{
if (!myDlg) {
- myDlg = new SMESHGUI_Preferences_ScalarBarDlg( theModule, true);
+ myDlg = new SMESHGUI_Preferences_ScalarBarDlg( theModule );
myDlg->show();
} else {
myDlg->show();
- myDlg->setActiveWindow();
myDlg->raise();
- myDlg->setFocus();
+ myDlg->activateWindow();
}
}
-//=================================================================================================
-/*!
- * SMESHGUI_Preferences_ScalarBarDlg::ScalarBarPreferences
- *
- * Opens "Scalar Bar Preferences" dialog box
- */
-//=================================================================================================
-void SMESHGUI_Preferences_ScalarBarDlg::ScalarBarPreferences( SMESHGUI* theModule )
-{
- SMESHGUI_Preferences_ScalarBarDlg* aDlg =
- new SMESHGUI_Preferences_ScalarBarDlg( theModule, false);
- aDlg->exec();
-}
-
//=================================================================================================
/*!
* SMESHGUI_Preferences_ScalarBarDlg::SMESHGUI_Preferences_ScalarBarDlg
* Constructor
*/
//=================================================================================================
-SMESHGUI_Preferences_ScalarBarDlg::SMESHGUI_Preferences_ScalarBarDlg( SMESHGUI* theModule, bool property, bool modal )
- : QDialog( SMESH::GetDesktop( theModule ), 0, modal, WStyle_Customize | WStyle_NormalBorder |
- WStyle_Title | WStyle_SysMenu | WDestructiveClose ),
- mySMESHGUI( theModule ),
- mySelectionMgr( property ? SMESH::GetSelectionMgr( theModule ) : 0 )
+SMESHGUI_Preferences_ScalarBarDlg::SMESHGUI_Preferences_ScalarBarDlg( SMESHGUI* theModule )
+ : QDialog( SMESH::GetDesktop( theModule ) ),
+ mySMESHGUI( theModule ),
+ mySelectionMgr( SMESH::GetSelectionMgr( theModule ) )
{
- setName("SMESHGUI_Preferences_ScalarBarDlg");
- setCaption( property ? tr("SMESH_PROPERTIES_SCALARBAR") : tr("SMESH_PREFERENCES_SCALARBAR"));
- setSizeGripEnabled(TRUE);
+ DEF_VER_X = 0.01;
+ DEF_VER_Y = 0.10;
+ DEF_VER_H = 0.80;
+ DEF_VER_W = 0.10;
+ DEF_HOR_X = 0.20;
+ DEF_HOR_Y = 0.01;
+ DEF_HOR_H = 0.12;
+ DEF_HOR_W = 0.60;
+
+ setModal( false );
+ setAttribute( Qt::WA_DeleteOnClose, true );
+ setWindowTitle( tr("SMESH_PROPERTIES_SCALARBAR") );
+ setSizeGripEnabled(true);
myActor = 0;
/******************************************************************************/
// Top layout
- QGridLayout* aTopLayout = new QGridLayout( this );
+ QVBoxLayout* aTopLayout = new QVBoxLayout( this );
aTopLayout->setSpacing( SPACING_SIZE ); aTopLayout->setMargin( MARGIN_SIZE );
- int aRow = 0;
/******************************************************************************/
// Scalar range
- if ( mySelectionMgr ) {
- myRangeGrp = new QGroupBox ( tr( "SMESH_RANGE_SCALARBAR" ), this, "myRangeGrp" );
- myRangeGrp->setColumnLayout( 0, Qt::Vertical );
- myRangeGrp->layout()->setSpacing( 0 ); myRangeGrp->layout()->setMargin( 0 );
- QGridLayout* myRangeGrpLayout = new QGridLayout( myRangeGrp->layout() );
- myRangeGrpLayout->setAlignment( Qt::AlignTop );
- myRangeGrpLayout->setSpacing( SPACING_SIZE ); myRangeGrpLayout->setMargin( MARGIN_SIZE );
-
- myMinEdit = new QLineEdit( myRangeGrp, "myMinEdit" );
- myMinEdit->setMinimumWidth( MINIMUM_WIDTH );
- myMinEdit->setValidator( new QDoubleValidator( this ) );
-
- myMaxEdit = new QLineEdit( myRangeGrp, "myMaxEdit" );
- myMaxEdit->setMinimumWidth( MINIMUM_WIDTH );
- myMaxEdit->setValidator( new QDoubleValidator( this ) );
-
- myRangeGrpLayout->addWidget( new QLabel( tr( "SMESH_RANGE_MIN" ), myRangeGrp, "myMinLab" ), 0, 0 );
- myRangeGrpLayout->addWidget( myMinEdit, 0, 1 );
- myRangeGrpLayout->addWidget( new QLabel( tr( "SMESH_RANGE_MAX" ), myRangeGrp, "myMaxLab" ), 0, 2 );
- myRangeGrpLayout->addWidget( myMaxEdit, 0, 3 );
-
- aTopLayout->addWidget( myRangeGrp, aRow, 0 );
- aRow++;
- }
+ myRangeGrp = new QGroupBox ( tr( "SMESH_RANGE_SCALARBAR" ), this );
+ QHBoxLayout* myRangeGrpLayout = new QHBoxLayout( myRangeGrp );
+ myRangeGrpLayout->setSpacing( SPACING_SIZE ); myRangeGrpLayout->setMargin( MARGIN_SIZE );
+
+ myMinEdit = new QLineEdit( myRangeGrp );
+ myMinEdit->setMinimumWidth( MINIMUM_WIDTH );
+ myMinEdit->setValidator( new QDoubleValidator( this ) );
+
+ myMaxEdit = new QLineEdit( myRangeGrp );
+ myMaxEdit->setMinimumWidth( MINIMUM_WIDTH );
+ myMaxEdit->setValidator( new QDoubleValidator( this ) );
+
+ myRangeGrpLayout->addWidget( new QLabel( tr( "SMESH_RANGE_MIN" ), myRangeGrp ) );
+ myRangeGrpLayout->addWidget( myMinEdit );
+ myRangeGrpLayout->addWidget( new QLabel( tr( "SMESH_RANGE_MAX" ), myRangeGrp ) );
+ myRangeGrpLayout->addWidget( myMaxEdit );
+
+ aTopLayout->addWidget( myRangeGrp );
/******************************************************************************/
// Text properties
- myFontGrp = new QGroupBox ( tr( "SMESH_FONT_SCALARBAR" ), this, "myFontGrp" );
- myFontGrp->setColumnLayout( 0, Qt::Vertical );
- myFontGrp->layout()->setSpacing( 0 ); myFontGrp->layout()->setMargin( 0 );
- QGridLayout* myFontGrpLayout = new QGridLayout( myFontGrp->layout() );
- myFontGrpLayout->setAlignment( Qt::AlignTop );
+ myFontGrp = new QGroupBox ( tr( "SMESH_FONT_SCALARBAR" ), this );
+ QGridLayout* myFontGrpLayout = new QGridLayout( myFontGrp );
myFontGrpLayout->setSpacing( SPACING_SIZE ); myFontGrpLayout->setMargin( MARGIN_SIZE );
- myTitleColorBtn = new QToolButton( myFontGrp, "myTitleColorBtn" );
- myTitleColorBtn->setMinimumWidth( 20 );
+ myTitleColorBtn = new QtxColorButton( myFontGrp );
- myTitleFontCombo = new QComboBox( false, myFontGrp, "myTitleFontCombo" );
+ myTitleFontCombo = new QComboBox( myFontGrp );
myTitleFontCombo->setMinimumWidth( MINIMUM_WIDTH );
myTitleFontCombo->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
- myTitleFontCombo->insertItem( tr( "SMESH_FONT_ARIAL" ) );
- myTitleFontCombo->insertItem( tr( "SMESH_FONT_COURIER" ) );
- myTitleFontCombo->insertItem( tr( "SMESH_FONT_TIMES" ) );
+ myTitleFontCombo->addItem( tr( "SMESH_FONT_ARIAL" ) );
+ myTitleFontCombo->addItem( tr( "SMESH_FONT_COURIER" ) );
+ myTitleFontCombo->addItem( tr( "SMESH_FONT_TIMES" ) );
- myTitleBoldCheck = new QCheckBox( tr( "SMESH_FONT_BOLD" ), myFontGrp, "myTitleBoldCheck" );
- myTitleItalicCheck = new QCheckBox( tr( "SMESH_FONT_ITALIC" ), myFontGrp, "myTitleItalicCheck" );
- myTitleShadowCheck = new QCheckBox( tr( "SMESH_FONT_SHADOW" ), myFontGrp, "myTitleShadowCheck" );
+ myTitleBoldCheck = new QCheckBox( tr( "SMESH_FONT_BOLD" ), myFontGrp );
+ myTitleItalicCheck = new QCheckBox( tr( "SMESH_FONT_ITALIC" ), myFontGrp );
+ myTitleShadowCheck = new QCheckBox( tr( "SMESH_FONT_SHADOW" ), myFontGrp );
- myLabelsColorBtn = new QToolButton( myFontGrp, "myLabelsColorBtn" );
- myLabelsColorBtn->setMinimumWidth( 20 );
+ myLabelsColorBtn = new QtxColorButton( myFontGrp );
- myLabelsFontCombo = new QComboBox( false, myFontGrp, "myLabelsFontCombo" );
+ myLabelsFontCombo = new QComboBox( myFontGrp );
myLabelsFontCombo->setMinimumWidth( MINIMUM_WIDTH );
myLabelsFontCombo->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
- myLabelsFontCombo->insertItem( tr( "SMESH_FONT_ARIAL" ) );
- myLabelsFontCombo->insertItem( tr( "SMESH_FONT_COURIER" ) );
- myLabelsFontCombo->insertItem( tr( "SMESH_FONT_TIMES" ) );
+ myLabelsFontCombo->addItem( tr( "SMESH_FONT_ARIAL" ) );
+ myLabelsFontCombo->addItem( tr( "SMESH_FONT_COURIER" ) );
+ myLabelsFontCombo->addItem( tr( "SMESH_FONT_TIMES" ) );
- myLabelsBoldCheck = new QCheckBox( tr( "SMESH_FONT_BOLD" ), myFontGrp, "myLabelsBoldCheck" );
- myLabelsItalicCheck = new QCheckBox( tr( "SMESH_FONT_ITALIC" ), myFontGrp, "myLabelsItalicCheck" );
- myLabelsShadowCheck = new QCheckBox( tr( "SMESH_FONT_SHADOW" ), myFontGrp, "myLabelsShadowCheck" );
+ myLabelsBoldCheck = new QCheckBox( tr( "SMESH_FONT_BOLD" ), myFontGrp );
+ myLabelsItalicCheck = new QCheckBox( tr( "SMESH_FONT_ITALIC" ), myFontGrp );
+ myLabelsShadowCheck = new QCheckBox( tr( "SMESH_FONT_SHADOW" ), myFontGrp );
- myFontGrpLayout->addWidget( new QLabel( tr( "SMESH_TITLE" ), myFontGrp, "myFontTitleLab" ), 0, 0 );
+ myFontGrpLayout->addWidget( new QLabel( tr( "SMESH_TITLE" ), myFontGrp ), 0, 0 );
myFontGrpLayout->addWidget( myTitleColorBtn, 0, 1 );
myFontGrpLayout->addWidget( myTitleFontCombo, 0, 2 );
myFontGrpLayout->addWidget( myTitleBoldCheck, 0, 3 );
myFontGrpLayout->addWidget( myTitleItalicCheck, 0, 4 );
myFontGrpLayout->addWidget( myTitleShadowCheck, 0, 5 );
- myFontGrpLayout->addWidget( new QLabel( tr( "SMESH_LABELS" ), myFontGrp, "myFontLabelsLab" ), 1, 0 );
+ myFontGrpLayout->addWidget( new QLabel( tr( "SMESH_LABELS" ), myFontGrp ), 1, 0 );
myFontGrpLayout->addWidget( myLabelsColorBtn, 1, 1 );
myFontGrpLayout->addWidget( myLabelsFontCombo, 1, 2 );
myFontGrpLayout->addWidget( myLabelsBoldCheck, 1, 3 );
myFontGrpLayout->addWidget( myLabelsItalicCheck, 1, 4 );
myFontGrpLayout->addWidget( myLabelsShadowCheck, 1, 5 );
- aTopLayout->addWidget( myFontGrp, aRow, 0 );
- aRow++;
+ aTopLayout->addWidget( myFontGrp );
/******************************************************************************/
// Labels & Colors
- myLabColorGrp = new QGroupBox ( tr( "SMESH_LABELS_COLORS_SCALARBAR" ), this, "myLabColorGrp" );
- myLabColorGrp->setColumnLayout( 0, Qt::Vertical );
- myLabColorGrp->layout()->setSpacing( 0 ); myLabColorGrp->layout()->setMargin( 0 );
- QGridLayout* myLabColorGrpLayout = new QGridLayout( myLabColorGrp->layout() );
- myLabColorGrpLayout->setAlignment( Qt::AlignTop );
+ myLabColorGrp = new QGroupBox ( tr( "SMESH_LABELS_COLORS_SCALARBAR" ), this );
+ QHBoxLayout* myLabColorGrpLayout = new QHBoxLayout( myLabColorGrp );
myLabColorGrpLayout->setSpacing( SPACING_SIZE ); myLabColorGrpLayout->setMargin( MARGIN_SIZE );
- myColorsSpin = new QSpinBox( 2, 256, 1, myLabColorGrp, "myColorsSpin" );
+ myColorsSpin = new QSpinBox( myLabColorGrp );
+ myColorsSpin->setRange( 2, 256 );
+ myColorsSpin->setSingleStep( 1 );
myColorsSpin->setMinimumWidth( MINIMUM_WIDTH );
myColorsSpin->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
- myLabelsSpin = new QSpinBox( 2, 65, 1, myLabColorGrp, "myLabelsSpin" );
+ myLabelsSpin = new QSpinBox( myLabColorGrp );
+ myLabelsSpin->setRange( 2, 65 );
+ myLabelsSpin->setSingleStep( 1 );
myLabelsSpin->setMinimumWidth( MINIMUM_WIDTH );
myLabelsSpin->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
- myLabColorGrpLayout->addWidget( new QLabel( tr( "SMESH_NUMBEROFCOLORS" ), myLabColorGrp, "myNbColorLab" ), 0, 0 );
- myLabColorGrpLayout->addWidget( myColorsSpin, 0, 1 );
- myLabColorGrpLayout->addWidget( new QLabel( tr( "SMESH_NUMBEROFLABELS" ), myLabColorGrp, "myNbLabsLab" ), 0, 2 );
- myLabColorGrpLayout->addWidget( myLabelsSpin, 0, 3 );
+ myLabColorGrpLayout->addWidget( new QLabel( tr( "SMESH_NUMBEROFCOLORS" ), myLabColorGrp ) );
+ myLabColorGrpLayout->addWidget( myColorsSpin );
+ myLabColorGrpLayout->addWidget( new QLabel( tr( "SMESH_NUMBEROFLABELS" ), myLabColorGrp ) );
+ myLabColorGrpLayout->addWidget( myLabelsSpin );
- aTopLayout->addWidget( myLabColorGrp, aRow, 0 );
- aRow++;
+ aTopLayout->addWidget( myLabColorGrp );
/******************************************************************************/
// Orientation
- myOrientationGrp = new QButtonGroup ( tr( "SMESH_ORIENTATION" ), this, "myOrientationGrp" );
- myOrientationGrp->setColumnLayout( 0, Qt::Vertical );
- myOrientationGrp->layout()->setSpacing( 0 ); myOrientationGrp->layout()->setMargin( 0 );
- QGridLayout* myOrientationGrpLayout = new QGridLayout( myOrientationGrp->layout() );
- myOrientationGrpLayout->setAlignment( Qt::AlignTop );
+ myOrientationGrp = new QGroupBox ( tr( "SMESH_ORIENTATION" ), this );
+ QButtonGroup* aOrientationGrp = new QButtonGroup( this );
+ QHBoxLayout* myOrientationGrpLayout = new QHBoxLayout( myOrientationGrp );
myOrientationGrpLayout->setSpacing( SPACING_SIZE ); myOrientationGrpLayout->setMargin( MARGIN_SIZE );
- myVertRadioBtn = new QRadioButton( tr( "SMESH_VERTICAL" ), myOrientationGrp, "myVertRadioBtn" );
- myHorizRadioBtn = new QRadioButton( tr( "SMESH_HORIZONTAL" ), myOrientationGrp, "myHorizRadioBtn" );
+ myVertRadioBtn = new QRadioButton( tr( "SMESH_VERTICAL" ), myOrientationGrp );
+ myHorizRadioBtn = new QRadioButton( tr( "SMESH_HORIZONTAL" ), myOrientationGrp );
myVertRadioBtn->setChecked( true );
- myOrientationGrpLayout->addWidget( myVertRadioBtn, 0, 0 );
- myOrientationGrpLayout->addWidget( myHorizRadioBtn, 0, 1 );
+ myOrientationGrpLayout->addWidget( myVertRadioBtn );
+ myOrientationGrpLayout->addWidget( myHorizRadioBtn );
+ aOrientationGrp->addButton(myVertRadioBtn);
+ aOrientationGrp->addButton(myHorizRadioBtn);
- aTopLayout->addWidget( myOrientationGrp, aRow, 0 );
- aRow++;
+ aTopLayout->addWidget( myOrientationGrp );
/******************************************************************************/
// Position & Size
- myOriginDimGrp = new QGroupBox (tr("SMESH_POSITION_SIZE_SCALARBAR"), this, "myOriginDimGrp");
- myOriginDimGrp->setColumnLayout(0, Qt::Vertical);
- myOriginDimGrp->layout()->setSpacing( 0 ); myOriginDimGrp->layout()->setMargin( 0 );
- QGridLayout* myOriginDimGrpLayout = new QGridLayout( myOriginDimGrp->layout() );
- myOriginDimGrpLayout->setAlignment( Qt::AlignTop );
+ myOriginDimGrp = new QGroupBox ( tr("SMESH_POSITION_SIZE_SCALARBAR"), this );
+ QGridLayout* myOriginDimGrpLayout = new QGridLayout( myOriginDimGrp );
myOriginDimGrpLayout->setSpacing( SPACING_SIZE ); myOriginDimGrpLayout->setMargin( MARGIN_SIZE );
- myXSpin = new QtxDblSpinBox (0.0, 1.0, 0.1, myOriginDimGrp);
+ myXSpin = new QtxDoubleSpinBox (0.0, 1.0, 0.1, myOriginDimGrp);
myXSpin->setMinimumWidth( MINIMUM_WIDTH );
myXSpin->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
- myYSpin = new QtxDblSpinBox(0.0, 1.0, 0.1, myOriginDimGrp);
+ myYSpin = new QtxDoubleSpinBox(0.0, 1.0, 0.1, myOriginDimGrp);
myYSpin->setMinimumWidth( MINIMUM_WIDTH );
myYSpin->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
- myWidthSpin = new QtxDblSpinBox(0.0, 1.0, 0.1, myOriginDimGrp);
+ myWidthSpin = new QtxDoubleSpinBox(0.0, 1.0, 0.1, myOriginDimGrp);
myWidthSpin->setMinimumWidth( MINIMUM_WIDTH );
myWidthSpin->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
- myHeightSpin = new QtxDblSpinBox(0.0, 1.0, 0.1, myOriginDimGrp);
+ myHeightSpin = new QtxDoubleSpinBox(0.0, 1.0, 0.1, myOriginDimGrp);
myHeightSpin->setMinimumWidth( MINIMUM_WIDTH );
myHeightSpin->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
- myOriginDimGrpLayout->addWidget( new QLabel( tr( "SMESH_X_SCALARBAR" ), myOriginDimGrp, "myXLab" ), 0, 0 );
+ myOriginDimGrpLayout->addWidget( new QLabel( tr( "SMESH_X_SCALARBAR" ), myOriginDimGrp ), 0, 0 );
myOriginDimGrpLayout->addWidget( myXSpin, 0, 1 );
- myOriginDimGrpLayout->addWidget( new QLabel( tr( "SMESH_Y_SCALARBAR" ), myOriginDimGrp, "myYLab" ), 0, 2 );
+ myOriginDimGrpLayout->addWidget( new QLabel( tr( "SMESH_Y_SCALARBAR" ), myOriginDimGrp ), 0, 2 );
myOriginDimGrpLayout->addWidget( myYSpin, 0, 3 );
- myOriginDimGrpLayout->addWidget( new QLabel( tr( "SMESH_WIDTH" ), myOriginDimGrp, "myWidthLab" ), 1, 0 );
+ myOriginDimGrpLayout->addWidget( new QLabel( tr( "SMESH_WIDTH" ), myOriginDimGrp ), 1, 0 );
myOriginDimGrpLayout->addWidget( myWidthSpin, 1, 1 );
- myOriginDimGrpLayout->addWidget( new QLabel( tr( "SMESH_HEIGHT" ), myOriginDimGrp, "myHeightLab" ), 1, 2 );
+ myOriginDimGrpLayout->addWidget( new QLabel( tr( "SMESH_HEIGHT" ), myOriginDimGrp ), 1, 2 );
myOriginDimGrpLayout->addWidget( myHeightSpin, 1, 3 );
- aTopLayout->addWidget( myOriginDimGrp, aRow, 0 );
- aRow++;
+ aTopLayout->addWidget( myOriginDimGrp );
/***************************************************************/
// Common buttons
- myButtonGrp = new QGroupBox( this, "myButtonGrp" );
- myButtonGrp->setColumnLayout(0, Qt::Vertical );
- myButtonGrp->layout()->setSpacing( 0 ); myButtonGrp->layout()->setMargin( 0 );
- QHBoxLayout* myButtonGrpLayout = new QHBoxLayout( myButtonGrp->layout() );
- myButtonGrpLayout->setAlignment( Qt::AlignTop );
+ myButtonGrp = new QGroupBox( this );
+ QHBoxLayout* myButtonGrpLayout = new QHBoxLayout( myButtonGrp );
myButtonGrpLayout->setSpacing( SPACING_SIZE ); myButtonGrpLayout->setMargin( MARGIN_SIZE );
- myOkBtn = new QPushButton( tr( "SMESH_BUT_OK" ), myButtonGrp, "myOkBtn" );
- myOkBtn->setAutoDefault( TRUE ); myOkBtn->setDefault( TRUE );
+ myOkBtn = new QPushButton( tr( "SMESH_BUT_APPLY_AND_CLOSE" ), myButtonGrp );
+ myOkBtn->setAutoDefault( true ); myOkBtn->setDefault( true );
+ myApplyBtn = new QPushButton( tr( "SMESH_BUT_APPLY" ), myButtonGrp );
+ myApplyBtn->setAutoDefault( true );
+ myCancelBtn = new QPushButton( tr( "SMESH_BUT_CLOSE" ), myButtonGrp );
+ myCancelBtn->setAutoDefault( true );
+ myHelpBtn = new QPushButton( tr("SMESH_BUT_HELP"), myButtonGrp );
+ myHelpBtn->setAutoDefault(true);
+
myButtonGrpLayout->addWidget( myOkBtn );
- if ( mySelectionMgr ) {
- myApplyBtn = new QPushButton( tr( "SMESH_BUT_APPLY" ), myButtonGrp, "myApplyBtn" );
- myApplyBtn->setAutoDefault( TRUE );
- myButtonGrpLayout->addWidget( myApplyBtn );
- }
+ myButtonGrpLayout->addSpacing( 10 );
+ myButtonGrpLayout->addWidget( myApplyBtn );
+ myButtonGrpLayout->addSpacing( 10 );
myButtonGrpLayout->addStretch();
- myCancelBtn = new QPushButton( tr( "SMESH_BUT_CANCEL" ), myButtonGrp, "myCancelBtn" );
- if ( mySelectionMgr )
- myCancelBtn->setText( tr( "SMESH_BUT_CLOSE" ) );
- myCancelBtn->setAutoDefault( TRUE );
myButtonGrpLayout->addWidget( myCancelBtn );
+ myButtonGrpLayout->addWidget( myHelpBtn );
- aTopLayout->addWidget( myButtonGrp, aRow, 0 );
+ aTopLayout->addWidget( myButtonGrp );
/***************************************************************/
// Init
// --> first init from preferences
SUIT_ResourceMgr* mgr = SMESH::GetResourceMgr( mySMESHGUI );
- QColor titleColor (255, 255, 255);
- if (mgr && mgr->hasValue("SMESH", "scalar_bar_title_color")) {
- QStringList aTColor =
- QStringList::split(":", mgr->stringValue("SMESH", "scalar_bar_title_color"), false);
- titleColor = QColor((aTColor.count() > 0 ? aTColor[0].toInt() : 255),
- (aTColor.count() > 1 ? aTColor[1].toInt() : 255),
- (aTColor.count() > 2 ? aTColor[2].toInt() : 255));
- }
- myTitleColorBtn->setPaletteBackgroundColor(titleColor);
- myTitleFontCombo->setCurrentItem(0);
- if (mgr && mgr->hasValue("SMESH", "scalar_bar_title_font")) {
+ QColor titleColor = mgr->colorValue("SMESH", "scalar_bar_title_color",
+ QColor(255, 255, 255));
+ myTitleColorBtn->setColor(titleColor);
+ myTitleFontCombo->setCurrentIndex(0);
+ if (mgr->hasValue("SMESH", "scalar_bar_title_font")) {
QFont f = mgr->fontValue( "SMESH", "scalar_bar_title_font" );
if( f.family()=="Arial" )
- myTitleFontCombo->setCurrentItem(0);
+ myTitleFontCombo->setCurrentIndex(0);
if( f.family()=="Courier" )
- myTitleFontCombo->setCurrentItem(1);
+ myTitleFontCombo->setCurrentIndex(1);
if( f.family()=="Times")
- myTitleFontCombo->setCurrentItem(2);
-
+ myTitleFontCombo->setCurrentIndex(2);
+
myTitleBoldCheck->setChecked ( f.bold() );
myTitleItalicCheck->setChecked( f.italic() );
- myTitleShadowCheck->setChecked( f.underline() );
- }
-
- QColor labelColor (255, 255, 255);
- if (mgr && mgr->hasValue("SMESH", "scalar_bar_label_color")) {
- QStringList aLColor =
- QStringList::split(":", mgr->stringValue("SMESH", "scalar_bar_label_color"), false);
- labelColor = QColor((aLColor.count() > 0 ? aLColor[0].toInt() : 255),
- (aLColor.count() > 1 ? aLColor[1].toInt() : 255),
- (aLColor.count() > 2 ? aLColor[2].toInt() : 255));
+ myTitleShadowCheck->setChecked( f.overline() );
}
- myLabelsColorBtn->setPaletteBackgroundColor(labelColor);
- myLabelsFontCombo->setCurrentItem(0);
- if (mgr && mgr->hasValue("SMESH", "scalar_bar_label_font")) {
+
+ QColor labelColor = mgr->colorValue("SMESH", "scalar_bar_label_color",
+ QColor(255, 255, 255));
+ myLabelsColorBtn->setColor(labelColor);
+ myLabelsFontCombo->setCurrentIndex(0);
+ if (mgr->hasValue("SMESH", "scalar_bar_label_font")) {
QFont f = mgr->fontValue( "SMESH", "scalar_bar_label_font" );
if (f.family() == "Arial")
- myLabelsFontCombo->setCurrentItem(0);
+ myLabelsFontCombo->setCurrentIndex(0);
if (f.family() == "Courier")
- myLabelsFontCombo->setCurrentItem(1);
+ myLabelsFontCombo->setCurrentIndex(1);
if (f.family() == "Times")
- myLabelsFontCombo->setCurrentItem(2);
+ myLabelsFontCombo->setCurrentIndex(2);
myLabelsBoldCheck ->setChecked( f.bold() );
myLabelsItalicCheck->setChecked( f.italic() );
- myLabelsShadowCheck->setChecked( f.underline() );
+ myLabelsShadowCheck->setChecked( f.overline() );
}
- int aNbColors = 64;
- if (mgr && mgr->hasValue("SMESH", "scalar_bar_num_colors"))
- aNbColors = mgr->integerValue("SMESH", "scalar_bar_num_colors");
+ int aNbColors = mgr->integerValue("SMESH", "scalar_bar_num_colors", 64);
myColorsSpin->setValue(aNbColors);
- int aNbLabels = 5;
- if (mgr && mgr->hasValue("SMESH", "scalar_bar_num_labels"))
- aNbLabels = mgr->integerValue("SMESH", "scalar_bar_num_labels");
+ int aNbLabels = mgr->integerValue("SMESH", "scalar_bar_num_labels", 5);
myLabelsSpin->setValue(aNbLabels);
- int aOrientation = ( mgr ? mgr->integerValue( "SMESH", "scalar_bar_orientation", 1 ) : 1 );
- bool isHoriz = ( aOrientation==1 );
- if (aOrientation == 1)
+ int aOrientation = mgr->integerValue( "SMESH", "scalar_bar_orientation", 1 );
+ bool isHoriz = aOrientation == 1;
+ if (isHoriz)
myHorizRadioBtn->setChecked(true);
else
myVertRadioBtn->setChecked(true);
myIniOrientation = myVertRadioBtn->isChecked();
QString name = isHoriz ? "scalar_bar_horizontal_%1" : "scalar_bar_vertical_%1";
- if (mgr && mgr->hasValue("SMESH", name.arg( "x" )))
- myIniX = mgr->doubleValue("SMESH", name.arg( "x" ));
- else
- myIniX = myHorizRadioBtn->isChecked() ? DEF_HOR_X : DEF_VER_X;
- if (mgr && mgr->hasValue("SMESH", name.arg( "y" )))
- myIniY = mgr->doubleValue("SMESH", name.arg( "y" ));
- else
- myIniY = myHorizRadioBtn->isChecked() ? DEF_HOR_Y : DEF_VER_Y;
+ myIniX = mgr->doubleValue("SMESH", name.arg( "x" ),
+ myHorizRadioBtn->isChecked() ? DEF_HOR_X : DEF_VER_X);
- if (mgr && mgr->hasValue("SMESH", name.arg( "width" )))
- myIniW = mgr->doubleValue("SMESH", name.arg( "width" ));
- else
- myIniW = myHorizRadioBtn->isChecked() ? DEF_HOR_W : DEF_VER_W;
+ myIniY = mgr->doubleValue("SMESH", name.arg( "y" ),
+ myHorizRadioBtn->isChecked() ? DEF_HOR_Y : DEF_VER_Y);
- if (mgr && mgr->hasValue("SMESH", name.arg( "height" )))
- myIniH = mgr->doubleValue("SMESH", name.arg( "height" ));
- else
- myIniH = myHorizRadioBtn->isChecked() ? DEF_HOR_H : DEF_VER_H;
+ myIniW = mgr->doubleValue("SMESH", name.arg( "width" ),
+ myHorizRadioBtn->isChecked() ? DEF_HOR_W : DEF_VER_W);
+
+ myIniH = mgr->doubleValue("SMESH", name.arg( "height" ),
+ myHorizRadioBtn->isChecked() ? DEF_HOR_H : DEF_VER_H);
setOriginAndSize(myIniX, myIniY, myIniW, myIniH);
- if (mySelectionMgr) {
- // --> then init from selection if necessary
- onSelectionChanged();
- }
+ // --> then init from selection if necessary
+ onSelectionChanged();
/***************************************************************/
// Connect section
- connect( myTitleColorBtn, SIGNAL( clicked() ), this, SLOT( onTitleColor() ) );
- connect( myLabelsColorBtn, SIGNAL( clicked() ), this, SLOT( onLabelsColor() ) );
connect( myOkBtn, SIGNAL( clicked() ), this, SLOT( onOk() ) );
+ connect( myApplyBtn, SIGNAL( clicked() ), this, SLOT( onApply() ) );
connect( myCancelBtn, SIGNAL( clicked() ), this, SLOT( onCancel() ) );
+ connect( myHelpBtn, SIGNAL(clicked()), this, SLOT( onHelp() ) );
connect( myXSpin, SIGNAL( valueChanged( double ) ), this, SLOT( onXYChanged() ) );
connect( myYSpin, SIGNAL( valueChanged( double ) ), this, SLOT( onXYChanged() ) );
- connect( myOrientationGrp, SIGNAL( clicked( int ) ), this, SLOT( onOrientationChanged() ) );
- if ( mySelectionMgr ) {
- connect( myApplyBtn, SIGNAL( clicked() ), this, SLOT( onApply() ) );
- connect( mySelectionMgr, SIGNAL( currentSelectionChanged() ), this, SLOT( onSelectionChanged() ) );
- }
- connect( mySMESHGUI, SIGNAL( SignalCloseAllDialogs() ), this, SLOT( onCancel() ) ) ;
+ connect( aOrientationGrp, SIGNAL( buttonClicked( int ) ), this, SLOT( onOrientationChanged() ) );
+ connect( mySelectionMgr, SIGNAL( currentSelectionChanged() ), this, SLOT( onSelectionChanged() ) );
+ connect( mySMESHGUI, SIGNAL( SignalCloseAllDialogs() ), this, SLOT( onCancel() ) );
+
+ myHelpFileName = "about_quality_controls_page.html";
}
//=================================================================================================
//=================================================================================================
bool SMESHGUI_Preferences_ScalarBarDlg::onApply()
{
- if (mySelectionMgr) {
- // Scalar Bar properties
- if (!myActor)
- return false;
- vtkScalarBarActor* myScalarBarActor = myActor->GetScalarBarActor();
-
- vtkTextProperty* aTitleTextPrp = myScalarBarActor->GetTitleTextProperty();
- QColor aTColor = myTitleColorBtn->paletteBackgroundColor();
- aTitleTextPrp->SetColor( aTColor.red()/255., aTColor.green()/255., aTColor.blue()/255. );
- if ( myTitleFontCombo->currentItem() == 0 )
- aTitleTextPrp->SetFontFamilyToArial();
- else if ( myTitleFontCombo->currentItem() == 1 )
- aTitleTextPrp->SetFontFamilyToCourier();
- else
- aTitleTextPrp->SetFontFamilyToTimes();
- aTitleTextPrp->SetBold( myTitleBoldCheck->isChecked() );
- aTitleTextPrp->SetItalic( myTitleItalicCheck->isChecked() );
- aTitleTextPrp->SetShadow( myTitleShadowCheck->isChecked() );
- myScalarBarActor->SetTitleTextProperty( aTitleTextPrp );
-
- vtkTextProperty* aLabelsTextPrp = myScalarBarActor->GetLabelTextProperty();
- QColor aLColor = myLabelsColorBtn->paletteBackgroundColor();
- aLabelsTextPrp->SetColor( aLColor.red()/255., aLColor.green()/255., aLColor.blue()/255. );
- if ( myLabelsFontCombo->currentItem() == 0 )
- aLabelsTextPrp->SetFontFamilyToArial();
- else if ( myLabelsFontCombo->currentItem() == 1 )
- aLabelsTextPrp->SetFontFamilyToCourier();
- else
- aLabelsTextPrp->SetFontFamilyToTimes();
- aLabelsTextPrp->SetBold( myLabelsBoldCheck->isChecked() );
- aLabelsTextPrp->SetItalic( myLabelsItalicCheck->isChecked() );
- aLabelsTextPrp->SetShadow( myLabelsShadowCheck->isChecked() );
- myScalarBarActor->SetLabelTextProperty( aLabelsTextPrp );
-
- myScalarBarActor->SetNumberOfLabels( myLabelsSpin->value() );
- myScalarBarActor->SetMaximumNumberOfColors( myColorsSpin->value() );
-
- if ( myHorizRadioBtn->isChecked() )
- myScalarBarActor->SetOrientationToHorizontal();
- else
- myScalarBarActor->SetOrientationToVertical();
-
- myScalarBarActor->SetPosition( myXSpin->value(), myYSpin->value() );
- myScalarBarActor->SetWidth( myWidthSpin->value() );
- myScalarBarActor->SetHeight( myHeightSpin->value() );
-
- double aMin = myMinEdit->text().toDouble();
- double aMax = myMaxEdit->text().toDouble();
- myScalarBarActor->GetLookupTable()->SetRange( aMin, aMax );
- SMESH::RepaintCurrentView();
- } else {
- // Scalar Bar preferences
- SUIT_ResourceMgr* mgr = SMESH::GetResourceMgr( mySMESHGUI );
- if (!mgr) return false;
-
- QColor titleColor = myTitleColorBtn->paletteBackgroundColor();
- mgr->setValue("SMESH", "scalar_bar_title_color", titleColor );
-
- QFont f;
- if (myTitleFontCombo->currentItem() == 0)
- f.setFamily( "Arial" );
- else if (myTitleFontCombo->currentItem() == 1)
- f.setFamily( "Courier" );
- else
- f.setFamily( "Times");
-
- f.setBold( myTitleBoldCheck ->isChecked() );
- f.setItalic( myTitleItalicCheck->isChecked() );
- f.setUnderline( myTitleShadowCheck->isChecked() );
- mgr->setValue( "SMESH", "scalar_bar_title_font", f );
-
- QColor labelColor = myLabelsColorBtn->paletteBackgroundColor();
- mgr->setValue("SMESH", "scalar_bar_label_color", labelColor );
-
- if (myLabelsFontCombo->currentItem() == 0)
- f.setFamily( "Arial" );
- else if ( myLabelsFontCombo->currentItem() == 1 )
- f.setFamily( "Courier");
- else
- f.setFamily( "Times");
-
- f.setBold( myLabelsBoldCheck ->isChecked() );
- f.setItalic( myLabelsItalicCheck->isChecked() );
- f.setUnderline( myLabelsShadowCheck->isChecked() );
- mgr->setValue( "SMESH", "scalar_bar_label_font", f );
-
- mgr->setValue("SMESH", "scalar_bar_num_colors", myColorsSpin->value());
- mgr->setValue("SMESH", "scalar_bar_num_labels", myLabelsSpin->value());
-
- mgr->setValue("SMESH", "scalar_bar_orientation", myHorizRadioBtn->isChecked() ? 1 : 0 );
-
- QString name = myHorizRadioBtn->isChecked() ? "scalar_bar_horizontal_%1" : "scalar_bar_vertical_%1";
- mgr->setValue("SMESH", name.arg( "x" ), myXSpin->value());
- mgr->setValue("SMESH", name.arg( "y" ), myYSpin->value());
- mgr->setValue("SMESH", name.arg( "width" ), myWidthSpin->value());
- mgr->setValue("SMESH", name.arg( "height" ), myHeightSpin->value());
- }
+ // Scalar Bar properties
+ if (!myActor)
+ return false;
+ vtkScalarBarActor* myScalarBarActor = myActor->GetScalarBarActor();
+
+ vtkTextProperty* aTitleTextPrp = myScalarBarActor->GetTitleTextProperty();
+ QColor aTColor = myTitleColorBtn->color();
+ aTitleTextPrp->SetColor( aTColor.red()/255., aTColor.green()/255., aTColor.blue()/255. );
+ if ( myTitleFontCombo->currentIndex() == 0 )
+ aTitleTextPrp->SetFontFamilyToArial();
+ else if ( myTitleFontCombo->currentIndex() == 1 )
+ aTitleTextPrp->SetFontFamilyToCourier();
+ else
+ aTitleTextPrp->SetFontFamilyToTimes();
+ aTitleTextPrp->SetBold( myTitleBoldCheck->isChecked() );
+ aTitleTextPrp->SetItalic( myTitleItalicCheck->isChecked() );
+ aTitleTextPrp->SetShadow( myTitleShadowCheck->isChecked() );
+ myScalarBarActor->SetTitleTextProperty( aTitleTextPrp );
+
+ vtkTextProperty* aLabelsTextPrp = myScalarBarActor->GetLabelTextProperty();
+ QColor aLColor = myLabelsColorBtn->color();
+ aLabelsTextPrp->SetColor( aLColor.red()/255., aLColor.green()/255., aLColor.blue()/255. );
+ if ( myLabelsFontCombo->currentIndex() == 0 )
+ aLabelsTextPrp->SetFontFamilyToArial();
+ else if ( myLabelsFontCombo->currentIndex() == 1 )
+ aLabelsTextPrp->SetFontFamilyToCourier();
+ else
+ aLabelsTextPrp->SetFontFamilyToTimes();
+ aLabelsTextPrp->SetBold( myLabelsBoldCheck->isChecked() );
+ aLabelsTextPrp->SetItalic( myLabelsItalicCheck->isChecked() );
+ aLabelsTextPrp->SetShadow( myLabelsShadowCheck->isChecked() );
+ myScalarBarActor->SetLabelTextProperty( aLabelsTextPrp );
+
+ myScalarBarActor->SetNumberOfLabels( myLabelsSpin->value() );
+ myScalarBarActor->SetMaximumNumberOfColors( myColorsSpin->value() );
+
+ if ( myHorizRadioBtn->isChecked() )
+ myScalarBarActor->SetOrientationToHorizontal();
+ else
+ myScalarBarActor->SetOrientationToVertical();
+
+ myScalarBarActor->SetPosition( myXSpin->value(), myYSpin->value() );
+ myScalarBarActor->SetWidth( myWidthSpin->value() );
+ myScalarBarActor->SetHeight( myHeightSpin->value() );
+
+ double aMin = myMinEdit->text().toDouble();
+ double aMax = myMaxEdit->text().toDouble();
+ vtkLookupTable* myLookupTable =
+ static_cast<vtkLookupTable*>(myScalarBarActor->GetLookupTable());
+ myLookupTable->SetRange( aMin, aMax );
+ myLookupTable->SetNumberOfTableValues(myColorsSpin->value());
+ myLookupTable->Build();
+ SMESH::RepaintCurrentView();
return true;
}
//=================================================================================================
/*!
- * SMESHGUI_Preferences_ScalarBarDlg::onTitleColor
- *
- * Change Title color button slot
- */
-//=================================================================================================
-void SMESHGUI_Preferences_ScalarBarDlg::onTitleColor()
-{
- QColor aColor = myTitleColorBtn->paletteBackgroundColor();
- aColor = QColorDialog::getColor( aColor, this );
- if ( aColor.isValid() )
- myTitleColorBtn->setPaletteBackgroundColor( aColor );
-}
-
-//=================================================================================================
-/*!
- * SMESHGUI_Preferences_ScalarBarDlg::onLabelsColor
+ * SMESHGUI_Preferences_ScalarBarDlg::onHelp
*
- * Change Labels color button slot
+ * Help button slot
*/
//=================================================================================================
-void SMESHGUI_Preferences_ScalarBarDlg::onLabelsColor()
+void SMESHGUI_Preferences_ScalarBarDlg::onHelp()
{
- QColor aColor = myLabelsColorBtn->paletteBackgroundColor();
- aColor = QColorDialog::getColor( aColor, this );
- if ( aColor.isValid() )
- myLabelsColorBtn->setPaletteBackgroundColor( aColor );
+ LightApp_Application* app = (LightApp_Application*)(SUIT_Session::session()->activeApplication());
+ if (app)
+ app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
+ else {
+ QString platform;
+#ifdef WIN32
+ platform = "winapplication";
+#else
+ platform = "application";
+#endif
+ SUIT_MessageBox::warning(this, tr("WRN_WARNING"),
+ tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
+ arg(app->resourceMgr()->stringValue("ExternalBrowser",
+ platform)).
+ arg(myHelpFileName));
+ }
}
//=================================================================================================
//=================================================================================================
void SMESHGUI_Preferences_ScalarBarDlg::onSelectionChanged()
{
- if (mySelectionMgr) {
- SALOME_ListIO aList;
- mySelectionMgr->selectedObjects(aList);
-
- if (aList.Extent() == 1) {
- Handle(SALOME_InteractiveObject) anIO = aList.First();
- if( anIO->hasEntry() ) {
- SMESH_Actor* anActor = SMESH::FindActorByEntry(anIO->getEntry());
- if ( anActor && anActor->GetScalarBarActor() && anActor->GetControlMode() != SMESH_Actor::eNone ) {
- myActor = anActor;
- vtkScalarBarActor* myScalarBarActor = myActor->GetScalarBarActor();
-
- if ( myScalarBarActor->GetLookupTable() ) {
- float *range = myScalarBarActor->GetLookupTable()->GetRange();
- myMinEdit->setText( QString::number( range[0] ) );
- myMaxEdit->setText( QString::number( range[1] ) );
- }
-
- vtkTextProperty* aTitleTextPrp = myScalarBarActor->GetTitleTextProperty();
- float aTColor[3];
- aTitleTextPrp->GetColor( aTColor );
- myTitleColorBtn->setPaletteBackgroundColor( QColor( (int)( aTColor[0]*255 ), (int)( aTColor[1]*255 ), (int)( aTColor[2]*255 ) ) );
- myTitleFontCombo->setCurrentItem( aTitleTextPrp->GetFontFamily() );
- myTitleBoldCheck->setChecked( aTitleTextPrp->GetBold() );
- myTitleItalicCheck->setChecked( aTitleTextPrp->GetItalic() );
- myTitleShadowCheck->setChecked( aTitleTextPrp->GetShadow() );
-
- vtkTextProperty* aLabelsTextPrp = myScalarBarActor->GetLabelTextProperty();
- float aLColor[3];
- aLabelsTextPrp->GetColor( aLColor );
- myLabelsColorBtn->setPaletteBackgroundColor( QColor( (int)( aLColor[0]*255 ), (int)( aLColor[1]*255 ), (int)( aLColor[2]*255 ) ) );
- myLabelsFontCombo->setCurrentItem( aLabelsTextPrp->GetFontFamily() );
- myLabelsBoldCheck->setChecked( aLabelsTextPrp->GetBold() );
- myLabelsItalicCheck->setChecked( aLabelsTextPrp->GetItalic() );
- myLabelsShadowCheck->setChecked( aLabelsTextPrp->GetShadow() );
-
- myLabelsSpin->setValue( myScalarBarActor->GetNumberOfLabels() );
- myColorsSpin->setValue( myScalarBarActor->GetMaximumNumberOfColors() );
-
- if ( myScalarBarActor->GetOrientation() == VTK_ORIENT_VERTICAL )
- myVertRadioBtn->setChecked( true );
- else
- myHorizRadioBtn->setChecked( true );
- myIniOrientation = myVertRadioBtn->isChecked();
-
- myIniX = myScalarBarActor->GetPosition()[0];
- myIniY = myScalarBarActor->GetPosition()[1];
- myIniW = myScalarBarActor->GetWidth();
- myIniH = myScalarBarActor->GetHeight();
- setOriginAndSize( myIniX, myIniY, myIniW, myIniH );
-
- myRangeGrp->setEnabled( true );
- myFontGrp->setEnabled( true );
- myLabColorGrp->setEnabled( true );
- myOrientationGrp->setEnabled( true );
- myOriginDimGrp->setEnabled( true );
- myOkBtn->setEnabled( true );
- myApplyBtn->setEnabled( true );
- return;
+ SALOME_ListIO aList;
+ mySelectionMgr->selectedObjects(aList);
+
+ if (aList.Extent() == 1) {
+ Handle(SALOME_InteractiveObject) anIO = aList.First();
+ if( anIO->hasEntry() ) {
+ SMESH_Actor* anActor = SMESH::FindActorByEntry(anIO->getEntry());
+ if ( anActor && anActor->GetScalarBarActor() && anActor->GetControlMode() != SMESH_Actor::eNone ) {
+ myActor = anActor;
+ vtkScalarBarActor* myScalarBarActor = myActor->GetScalarBarActor();
+
+ if ( myScalarBarActor->GetLookupTable() ) {
+ vtkFloatingPointType *range = myScalarBarActor->GetLookupTable()->GetRange();
+ myMinEdit->setText( QString::number( range[0],'g',12 ) );
+ myMaxEdit->setText( QString::number( range[1],'g',12 ) );
}
+
+ vtkTextProperty* aTitleTextPrp = myScalarBarActor->GetTitleTextProperty();
+ vtkFloatingPointType aTColor[3];
+ aTitleTextPrp->GetColor( aTColor );
+ myTitleColorBtn->setColor( QColor( (int)( aTColor[0]*255 ), (int)( aTColor[1]*255 ), (int)( aTColor[2]*255 ) ) );
+ myTitleFontCombo->setCurrentIndex( aTitleTextPrp->GetFontFamily() );
+ myTitleBoldCheck->setChecked( aTitleTextPrp->GetBold() );
+ myTitleItalicCheck->setChecked( aTitleTextPrp->GetItalic() );
+ myTitleShadowCheck->setChecked( aTitleTextPrp->GetShadow() );
+
+ vtkTextProperty* aLabelsTextPrp = myScalarBarActor->GetLabelTextProperty();
+ vtkFloatingPointType aLColor[3];
+ aLabelsTextPrp->GetColor( aLColor );
+ myLabelsColorBtn->setColor( QColor( (int)( aLColor[0]*255 ), (int)( aLColor[1]*255 ), (int)( aLColor[2]*255 ) ) );
+ myLabelsFontCombo->setCurrentIndex( aLabelsTextPrp->GetFontFamily() );
+ myLabelsBoldCheck->setChecked( aLabelsTextPrp->GetBold() );
+ myLabelsItalicCheck->setChecked( aLabelsTextPrp->GetItalic() );
+ myLabelsShadowCheck->setChecked( aLabelsTextPrp->GetShadow() );
+
+ myLabelsSpin->setValue( myScalarBarActor->GetNumberOfLabels() );
+ myColorsSpin->setValue( myScalarBarActor->GetMaximumNumberOfColors() );
+
+ if ( myScalarBarActor->GetOrientation() == VTK_ORIENT_VERTICAL )
+ myVertRadioBtn->setChecked( true );
+ else
+ myHorizRadioBtn->setChecked( true );
+ myIniOrientation = myVertRadioBtn->isChecked();
+
+ myIniX = myScalarBarActor->GetPosition()[0];
+ myIniY = myScalarBarActor->GetPosition()[1];
+ myIniW = myScalarBarActor->GetWidth();
+ myIniH = myScalarBarActor->GetHeight();
+ setOriginAndSize( myIniX, myIniY, myIniW, myIniH );
+
+ myRangeGrp->setEnabled( true );
+ myFontGrp->setEnabled( true );
+ myLabColorGrp->setEnabled( true );
+ myOrientationGrp->setEnabled( true );
+ myOriginDimGrp->setEnabled( true );
+ myOkBtn->setEnabled( true );
+ myApplyBtn->setEnabled( true );
+ return;
}
}
- myActor = 0;
- myRangeGrp->setEnabled( false );
- myFontGrp->setEnabled( false );
- myLabColorGrp->setEnabled( false );
- myOrientationGrp->setEnabled( false );
- myOriginDimGrp->setEnabled( false );
- myOkBtn->setEnabled( false );
- myApplyBtn->setEnabled( false );
}
+ myActor = 0;
+ myRangeGrp->setEnabled( false );
+ myFontGrp->setEnabled( false );
+ myLabColorGrp->setEnabled( false );
+ myOrientationGrp->setEnabled( false );
+ myOriginDimGrp->setEnabled( false );
+ myOkBtn->setEnabled( false );
+ myApplyBtn->setEnabled( false );
}
//=================================================================================================
//=================================================================================================
void SMESHGUI_Preferences_ScalarBarDlg::closeEvent( QCloseEvent* e )
{
- if ( mySelectionMgr ) // "Properties" dialog box
- myDlg = 0;
+ myDlg = 0;
QDialog::closeEvent( e );
}
//=================================================================================================
void SMESHGUI_Preferences_ScalarBarDlg::onXYChanged()
{
- myWidthSpin->setMaxValue( 1.0 - myXSpin->value() );
- myHeightSpin->setMaxValue( 1.0 - myYSpin->value() );
+ myWidthSpin->setMaximum( 1.0 - myXSpin->value() );
+ myHeightSpin->setMaximum( 1.0 - myYSpin->value() );
}
//=================================================================================================
blockSignals( true );
myXSpin->setValue( x );
myYSpin->setValue( y );
- myWidthSpin->setMaxValue( 1.0 );
+ myWidthSpin->setMaximum( 1.0 );
myWidthSpin->setValue( w );
- myHeightSpin->setMaxValue( 1.0 );
+ myHeightSpin->setMaximum( 1.0 );
myHeightSpin->setValue( h );
blockSignals( false );
onXYChanged();
//=================================================================================================
void SMESHGUI_Preferences_ScalarBarDlg::onOrientationChanged()
{
+ initScalarBarFromResources();
+
int aOrientation = myVertRadioBtn->isChecked();
if ( aOrientation == myIniOrientation )
setOriginAndSize( myIniX, myIniY, myIniW, myIniH );
aOrientation ? DEF_VER_W : DEF_HOR_W,
aOrientation ? DEF_VER_H : DEF_HOR_H );
}
+
+//=================================================================================================
+/*!
+ * SMESHGUI_Preferences_ScalarBarDlg::initScalarBarFromResources()
+ *
+ * Rereading vertical and horizontal default positions from resources.
+ */
+//=================================================================================================
+void SMESHGUI_Preferences_ScalarBarDlg::initScalarBarFromResources()
+{
+ SUIT_ResourceMgr* mgr = SMESH::GetResourceMgr( mySMESHGUI );
+ QString name;
+ if (mgr){
+ // initialize from resoources
+
+ // horizontal
+ name = QString("scalar_bar_horizontal_%1");
+ if (mgr->hasValue("SMESH", name.arg( "x" )))
+ DEF_HOR_X = mgr->doubleValue("SMESH", name.arg( "x" ));
+ if (mgr->hasValue("SMESH", name.arg( "y" )))
+ DEF_HOR_Y = mgr->doubleValue("SMESH", name.arg( "y" ));
+ if (mgr->hasValue("SMESH", name.arg( "width" )))
+ DEF_HOR_W = mgr->doubleValue("SMESH", name.arg( "width" ));
+ if (mgr->hasValue("SMESH", name.arg( "height" )))
+ DEF_HOR_H = mgr->doubleValue("SMESH", name.arg( "height" ));
+
+ // vertical
+ name = QString("scalar_bar_vertical_%1");
+ if (mgr->hasValue("SMESH", name.arg( "x" )))
+ DEF_VER_X = mgr->doubleValue("SMESH", name.arg( "x" ));
+ if (mgr->hasValue("SMESH", name.arg( "y" )))
+ DEF_VER_Y = mgr->doubleValue("SMESH", name.arg( "y" ));
+ if (mgr->hasValue("SMESH", name.arg( "width" )))
+ DEF_VER_W = mgr->doubleValue("SMESH", name.arg( "width" ));
+ if (mgr->hasValue("SMESH", name.arg( "height" )))
+ DEF_VER_H = mgr->doubleValue("SMESH", name.arg( "height" ));
+ }
+}