]> SALOME platform Git repositories - modules/smesh.git/blobdiff - src/SMESHGUI/SMESHGUI_Preferences_ColorDlg.cxx
Salome HOME
0020635: EDF 1223 SMESH: Error message of RadialQuadrangle algorithm not precise
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_Preferences_ColorDlg.cxx
index f8ed909ae6d49faf6ed288514874929219d87fca..7e0981d630172e126eda82deb0451d4fec67eb09 100644 (file)
@@ -32,6 +32,7 @@
 // SALOME GUI includes
 #include <SUIT_Desktop.h>
 #include <QtxColorButton.h>
+#include <QtxDoubleSpinBox.h>
 #include <QtxIntSpinBox.h>
 
 // Qt includes
@@ -42,6 +43,7 @@
 #include <QHBoxLayout>
 #include <QGridLayout>
 #include <QSpinBox>
+#include <QCheckBox>
 
 #define SPACING 6
 #define MARGIN  11
@@ -81,6 +83,16 @@ SMESHGUI_Preferences_ColorDlg::SMESHGUI_Preferences_ColorDlg( SMESHGUI* theModul
   QLabel* TextLabel_Outine = new QLabel( tr( "Outline" ), ButtonGroup1 );
   btnOutlineColor = new QtxColorButton( ButtonGroup1 );
 
+  QLabel* TextLabel_0DElements_Color = new QLabel( tr( "0D elements" ), ButtonGroup1 );
+  btn0DElementsColor = new QtxColorButton( ButtonGroup1 );
+
+  QLabel* TextLabel_0DElements_Size = new QLabel( tr( "Size of 0D elements" ), ButtonGroup1 );
+  SpinBox_0DElements_Size = new QSpinBox( ButtonGroup1 );
+  SpinBox_0DElements_Size->setRange( 1, 10 );
+  SpinBox_0DElements_Size->setSingleStep( 1 );
+  SpinBox_0DElements_Size->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
+  SpinBox_0DElements_Size->setButtonSymbols( QSpinBox::PlusMinus );
+
   QLabel* TextLabel_Width = new QLabel( tr( "Width" ), ButtonGroup1 );
   SpinBox_Width = new QSpinBox( ButtonGroup1 );
   SpinBox_Width->setRange( 0, 5 );
@@ -95,16 +107,20 @@ SMESHGUI_Preferences_ColorDlg::SMESHGUI_Preferences_ColorDlg( SMESHGUI* theModul
   SpinBox_Shrink->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
   SpinBox_Shrink->setButtonSymbols( QSpinBox::PlusMinus );
 
-  ButtonGroup1Layout->addWidget( TextLabel_Fill,        0, 0 );
-  ButtonGroup1Layout->addWidget( btnFillColor,          0, 1 );
-  ButtonGroup1Layout->addWidget( TextLabel_BackFace,    0, 2 );
-  ButtonGroup1Layout->addWidget( btnBackFaceColor,      0, 3 );
-  ButtonGroup1Layout->addWidget( TextLabel_Outine,      1, 0 );
-  ButtonGroup1Layout->addWidget( btnOutlineColor,       1, 1 );
-  ButtonGroup1Layout->addWidget( TextLabel_Width,       1, 2 );
-  ButtonGroup1Layout->addWidget( SpinBox_Width,         1, 3 );
-  ButtonGroup1Layout->addWidget( TextLabel_ShrinkCoeff, 2, 0 );
-  ButtonGroup1Layout->addWidget( SpinBox_Shrink,        2, 1, 1, 3 );
+  ButtonGroup1Layout->addWidget( TextLabel_Fill,             0, 0 );
+  ButtonGroup1Layout->addWidget( btnFillColor,               0, 1 );
+  ButtonGroup1Layout->addWidget( TextLabel_BackFace,         0, 2 );
+  ButtonGroup1Layout->addWidget( btnBackFaceColor,           0, 3 );
+  ButtonGroup1Layout->addWidget( TextLabel_Outine,           1, 0 );
+  ButtonGroup1Layout->addWidget( btnOutlineColor,            1, 1 );
+  ButtonGroup1Layout->addWidget( TextLabel_0DElements_Color, 1, 2 );
+  ButtonGroup1Layout->addWidget( btn0DElementsColor,         1, 3 );
+  ButtonGroup1Layout->addWidget( TextLabel_0DElements_Size,  2, 0 );
+  ButtonGroup1Layout->addWidget( SpinBox_0DElements_Size,    2, 1 );
+  ButtonGroup1Layout->addWidget( TextLabel_Width,            3, 0 );
+  ButtonGroup1Layout->addWidget( SpinBox_Width,              3, 1 );
+  ButtonGroup1Layout->addWidget( TextLabel_ShrinkCoeff,      3, 2 );
+  ButtonGroup1Layout->addWidget( SpinBox_Shrink,             3, 3 );
 
   // -------------------------------
   QGroupBox* ButtonGroup2 = new QGroupBox( tr( "Nodes" ), this );
@@ -127,6 +143,30 @@ SMESHGUI_Preferences_ColorDlg::SMESHGUI_Preferences_ColorDlg( SMESHGUI* theModul
   ButtonGroup2Layout->addWidget( TextLabel_Nodes_Size );
   ButtonGroup2Layout->addWidget( SpinBox_Nodes_Size );
 
+  // -------------------------------
+  QGroupBox* ButtonGroup3 = new QGroupBox( tr( "Orientation of faces" ), this );
+  QGridLayout* ButtonGroup3Layout = new QGridLayout( ButtonGroup3 );
+  ButtonGroup3Layout->setSpacing( SPACING );
+  ButtonGroup3Layout->setMargin( MARGIN );
+
+  QLabel* TextLabel_Orientation_Color = new QLabel( tr( "Color" ), ButtonGroup3 );
+  btnOrientationColor = new QtxColorButton( ButtonGroup3 );
+
+  QLabel* TextLabel_Orientation_Scale = new QLabel( tr( "Scale" ), ButtonGroup3 );
+  SpinBox_Orientation_Scale = new QtxDoubleSpinBox( ButtonGroup3 );
+  SpinBox_Orientation_Scale->setRange( 0.05, 0.5 );
+  SpinBox_Orientation_Scale->setSingleStep( 0.05 );
+  SpinBox_Orientation_Scale->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
+  SpinBox_Orientation_Scale->setButtonSymbols( QSpinBox::PlusMinus );
+
+  CheckBox_Orientation_3DVectors = new QCheckBox( tr( "3D vectors" ), ButtonGroup3 );
+
+  ButtonGroup3Layout->addWidget( TextLabel_Orientation_Color,    0, 0 );
+  ButtonGroup3Layout->addWidget( btnOrientationColor,            0, 1 );
+  ButtonGroup3Layout->addWidget( TextLabel_Orientation_Scale,    0, 2 );
+  ButtonGroup3Layout->addWidget( SpinBox_Orientation_Scale,      0, 3 );
+  ButtonGroup3Layout->addWidget( CheckBox_Orientation_3DVectors, 1, 0, 1, 4 );
+
   // -------------------------------
   QGroupBox* GroupButtons = new QGroupBox( this );
   QHBoxLayout* GroupButtonsLayout = new QHBoxLayout( GroupButtons );
@@ -148,6 +188,7 @@ SMESHGUI_Preferences_ColorDlg::SMESHGUI_Preferences_ColorDlg( SMESHGUI* theModul
   // -------------------------------
   topLayout->addWidget( ButtonGroup1 );
   topLayout->addWidget( ButtonGroup2 );
+  topLayout->addWidget( ButtonGroup3 );
   topLayout->addWidget( GroupButtons );
 
   // -------------------------------
@@ -226,10 +267,12 @@ void SMESHGUI_Preferences_ColorDlg::ActivateThisDialog()
 void SMESHGUI_Preferences_ColorDlg::SetColor( int type, const QColor& color )
 {
   switch ( type ) {
-  case 1 : btnFillColor->setColor( color );     break; // fill
-  case 2 : btnOutlineColor->setColor( color );  break; // outline
-  case 3 : btnNodeColor->setColor( color );     break; // node
-  case 4 : btnBackFaceColor->setColor( color ); break; // back face
+  case 1 : btnFillColor->setColor( color );        break; // fill
+  case 2 : btnOutlineColor->setColor( color );     break; // outline
+  case 3 : btnNodeColor->setColor( color );        break; // node
+  case 4 : btnBackFaceColor->setColor( color );    break; // back face
+  case 5 : btn0DElementsColor->setColor( color );  break; // 0d elements
+  case 6 : btnOrientationColor->setColor( color ); break; // orientation of faces
   default: break;
   }
 }
@@ -242,10 +285,12 @@ QColor SMESHGUI_Preferences_ColorDlg::GetColor( int type )
 {
   QColor color;
   switch ( type ) {
-  case 1 : color = btnFillColor->color();     break; // fill
-  case 2 : color = btnOutlineColor->color();  break; // outline
-  case 3 : color = btnNodeColor->color();     break; // node
-  case 4 : color = btnBackFaceColor->color(); break; // back face
+  case 1 : color = btnFillColor->color();        break; // fill
+  case 2 : color = btnOutlineColor->color();     break; // outline
+  case 3 : color = btnNodeColor->color();        break; // node
+  case 4 : color = btnBackFaceColor->color();    break; // back face
+  case 5 : color = btn0DElementsColor->color();  break; // 0d elements
+  case 6 : color = btnOrientationColor->color(); break; // orientation of faces
   default: break;
   }
   return color;
@@ -258,9 +303,10 @@ QColor SMESHGUI_Preferences_ColorDlg::GetColor( int type )
 void SMESHGUI_Preferences_ColorDlg::SetIntValue( int type, int value )
 {
   switch ( type ) {
-  case 1 : SpinBox_Width->setValue( value );      break; // width
-  case 2 : SpinBox_Nodes_Size->setValue( value ); break; // nodes size = value; break;
-  case 3 : SpinBox_Shrink->setValue( value );     break; // shrink coeff
+  case 1 : SpinBox_Width->setValue( value );           break; // width
+  case 2 : SpinBox_Nodes_Size->setValue( value );      break; // nodes size = value; break;
+  case 3 : SpinBox_Shrink->setValue( value );          break; // shrink coeff
+  case 4 : SpinBox_0DElements_Size->setValue( value ); break; // 0d elements
   default: break;
   }
 }
@@ -273,9 +319,62 @@ int SMESHGUI_Preferences_ColorDlg::GetIntValue( int type )
 {
   int res = 0;
   switch ( type ) {
-  case 1 : res = SpinBox_Width->value();      break; // width
-  case 2 : res = SpinBox_Nodes_Size->value(); break; // nodes size
-  case 3 : res = SpinBox_Shrink->value();     break; // shrink coeff
+  case 1 : res = SpinBox_Width->value();           break; // width
+  case 2 : res = SpinBox_Nodes_Size->value();      break; // nodes size
+  case 3 : res = SpinBox_Shrink->value();          break; // shrink coeff
+  case 4 : res = SpinBox_0DElements_Size->value(); break; // 0d elements
+  default: break;
+  }
+  return res;
+}
+
+//=================================================================================
+// function : SetDoubleValue()
+// purpose  :
+//=================================================================================
+void SMESHGUI_Preferences_ColorDlg::SetDoubleValue( int type, double value )
+{
+  switch ( type ) {
+  case 1 : SpinBox_Orientation_Scale->setValue( value ); break; // orientation scale
+  default: break;
+  }
+}
+
+//=================================================================================
+// function : GetDoubleValue()
+// purpose  :
+//=================================================================================
+double SMESHGUI_Preferences_ColorDlg::GetDoubleValue( int type )
+{
+  double res = 0;
+  switch ( type ) {
+  case 1 : res = SpinBox_Orientation_Scale->value(); break; // orientation scale
+  default: break;
+  }
+  return res;
+}
+
+//=================================================================================
+// function : SetBooleanValue()
+// purpose  :
+//=================================================================================
+void SMESHGUI_Preferences_ColorDlg::SetBooleanValue( int type, bool value )
+{
+  switch ( type ) {
+  case 1 : CheckBox_Orientation_3DVectors->setChecked( value ); break; // 3D vectors
+  default: break;
+  }
+}
+
+//=================================================================================
+// function : GetBooleanValue()
+// purpose  :
+//=================================================================================
+bool SMESHGUI_Preferences_ColorDlg::GetBooleanValue( int type )
+{
+  bool res = false;
+  switch ( type ) {
+  case 1 : res = CheckBox_Orientation_3DVectors->isChecked(); break; // 3D vectors
   default: break;
   }
   return res;