X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FVISUGUI%2FVisuGUI_ScalarBarDlg.h;h=33c55f963a00f7f129da10b59560dd424e653b63;hb=70ae0b0139868088804efbc29a4ac170c2b62127;hp=7c2cf9bb5fc574a8aaaf5675a6824282ea188ad9;hpb=ea0d11b57debc8f1953669110cab2eaf790681b1;p=modules%2Fvisu.git diff --git a/src/VISUGUI/VisuGUI_ScalarBarDlg.h b/src/VISUGUI/VisuGUI_ScalarBarDlg.h index 7c2cf9bb..33c55f96 100644 --- a/src/VISUGUI/VisuGUI_ScalarBarDlg.h +++ b/src/VISUGUI/VisuGUI_ScalarBarDlg.h @@ -1,36 +1,34 @@ // VISU VISUGUI : GUI of VISU component // // Copyright (C) 2003 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 -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// 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 +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// 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 // // // // File : VisuGUI_ScalarBarDlg.h -// Author : Laurent CORNABE & Hubert ROLLAND +// Author : Laurent CORNABE & Hubert ROLLAND // Module : VISU // $Header$ #ifndef VISUGUI_SCALARBARDLG_H #define VISUGUI_SCALARBARDLG_H -#include "QAD_SpinBoxDbl.h" - #include #include #include @@ -41,79 +39,159 @@ #include #include #include +#include +#include + +#include "QtxDblSpinBox.h" + +#include "VISU_ScalarMap_i.hh" + +class QButtonGroup; +class QGroupBox; +class QLabel; +class QRadioButton; +class QCheckBox; +class QPushButton; +class QSpinBox; +class QLineEdit; +class QComboBox; +class QVBox; +class QToolButton; + +class QtxDblSpinBox; +class SalomeApp_Module; +class VisuGUI_FontWg; +class VISU_ScalarMapAct; + +class VisuGUI_TextPrefDlg: public QDialog +{ + Q_OBJECT; + + public: + VisuGUI_TextPrefDlg (QWidget* parent); + ~VisuGUI_TextPrefDlg() {}; + + QString getTitleText() { return myTitleEdt->text(); } + void setTitleText(QString theText) { myTitleEdt->setText(theText); } + + void setTitleVisible (bool isVisible) + { (isVisible)? myTitleEdt->show() : myTitleEdt->hide(); } + + public: + VisuGUI_FontWg* myTitleFont; + VisuGUI_FontWg* myLabelFont; + + private: + QLineEdit* myTitleEdt; +}; + + +class VisuGUI_ScalarBarPane : public QVBox +{ + Q_OBJECT; + + public: + VisuGUI_ScalarBarPane(QWidget* parent, bool SetPref); + ~VisuGUI_ScalarBarPane() {}; + + void setRange( double imin, double imax, /*double fmin, double fmax,*/ bool sbRange ); + bool isIRange() {return RBIrange->isChecked();} + double getMin() {return MinEdit->text().toDouble();} + double getMax() {return MaxEdit->text().toDouble();} + int getOrientation(); + void setPosAndSize( double x, double y, double w, double h, bool vert ); + double getX() {return XSpin->value();} + double getY() {return YSpin->value();} + double getWidth() {return WidthSpin->value();} + double getHeight() {return HeightSpin->value();} + void setScalarBarData( int colors, int labels ); + int getNbColors() {return ColorSpin->value();} + int getNbLabels() {return LabelSpin->value();} + bool isLogarithmic() {return CBLog->isChecked();} + void setLogarithmic( bool on ) {CBLog->setChecked( on );} + bool isToSave() {return CBSave ? CBSave->isChecked() : false;} + + void initFromResources(); + void storeToResources(); + + void initFromPrsObject(VISU::ScalarMap_i* thePrs); + int storeToPrsObject(VISU::ScalarMap_i* thePrs); + + bool check(); + void deletePreview(); + + protected: + QButtonGroup* RangeGroup; + QRadioButton* RBFrange; + QRadioButton* RBIrange; + QLineEdit* MinEdit; + QLineEdit* MaxEdit; + + QRadioButton* RBhori; + QRadioButton* RBvert; + + QtxDblSpinBox* XSpin; + QtxDblSpinBox* YSpin; + + QtxDblSpinBox* WidthSpin; + QtxDblSpinBox* HeightSpin; + + QSpinBox* ColorSpin; + QSpinBox* LabelSpin; + + QCheckBox* CBSave; + QCheckBox* CBLog; + QLabel* myModeLbl; + QComboBox* myModeCombo; + QPushButton* myTextBtn; + VisuGUI_TextPrefDlg* myTextDlg; + + double Imin, Imax, /* Fmin, Fmax,*/ Rmin, Rmax; + double myHorX, myHorY, myHorW, myHorH; + double myVerX, myVerY, myVerW, myVerH; + int myRangeMode; + bool myIsStoreTextProp; + + private slots: + void changeDefaults( int ); + void changeRange( int ); + void XYChanged( double ); + void onTextPref(); + void onPreviewCheck(bool thePreview); + void updatePreview(); + + private: + void createScalarBar(); + void deleteScalarBar(); + + QCheckBox* myPreviewCheck; + VISU_ScalarMapAct* myPreviewActor; + VISU::ScalarMap_i* myScalarMap; +}; -namespace VISU{ - class ScalarMap_i; -} class VisuGUI_ScalarBarDlg : public QDialog -{ - Q_OBJECT - -public: - VisuGUI_ScalarBarDlg( bool SetPref = FALSE ); - ~VisuGUI_ScalarBarDlg(); - - void setRange( double imin, double imax, double fmin, double fmax, bool sbRange ); - bool isIRange(); - double getMin(); - double getMax(); - int getOrientation(); - void setPosAndSize( double x, double y, double w, double h, bool vert ); - double getX(); - double getY(); - double getWidth(); - double getHeight(); - void setScalarBarData( int colors, int labels ); - int getNbColors(); - int getNbLabels(); - bool isLogarithmic(); - void setLogarithmic( bool on ); - bool isToSave(); - - void initFromResources(); - void storeToResources(); - - void initFromPrsObject(VISU::ScalarMap_i* thePrs); - void storeToPrsObject(VISU::ScalarMap_i* thePrs); - - -protected: - QButtonGroup* RangeGroup; - QRadioButton* RBFrange; - QRadioButton* RBIrange; - QLineEdit* MinEdit; - QLineEdit* MaxEdit; - - QRadioButton* RBhori; - QRadioButton* RBvert; - - QAD_SpinBoxDbl* XSpin; - QAD_SpinBoxDbl* YSpin; - - QAD_SpinBoxDbl* WidthSpin; - QAD_SpinBoxDbl* HeightSpin; - - QSpinBox* ColorSpin; - QSpinBox* LabelSpin; - - QCheckBox* CBSave; - QCheckBox* CBLog; - QLabel* myModeLbl; - QComboBox* myModeCombo; - - double Imin, Imax, Fmin, Fmax, Rmin, Rmax; - double myHorX, myHorY, myHorW, myHorH; - double myVerX, myVerY, myVerW, myVerH; - int myRangeMode; - -protected slots: - void accept(); - -private slots: - void changeDefaults( int ); - void changeRange( int ); - void XYChanged( double ); +{ + Q_OBJECT; + + public: + VisuGUI_ScalarBarDlg (SalomeApp_Module* theModule, bool SetPref = FALSE); + ~VisuGUI_ScalarBarDlg() {}; + + bool isToSave() {return myScalarPane->isToSave();} + + void initFromResources() {myScalarPane->initFromResources();} + void storeToResources() {myScalarPane->storeToResources();} + + void initFromPrsObject(VISU::ScalarMap_i* thePrs) {myScalarPane->initFromPrsObject(thePrs);} + int storeToPrsObject(VISU::ScalarMap_i* thePrs) {return myScalarPane->storeToPrsObject(thePrs);} + + protected slots: + void accept(); + void reject(); + + protected: + VisuGUI_ScalarBarPane* myScalarPane; }; #endif // VISUGUI_SCALARBARDLG_H