Salome HOME
sources v1.2
[modules/kernel.git] / src / Plot2d / Plot2d_FitDataDlg.h
1 //  Copyright (C) 2003  CEA/DEN, EDF R&D
2 //
3 //
4 //
5 //  File   : Plot2d_FitDataDlg.h
6 //  Author : Vadim SANDLER
7 //  Module : SALOME
8 //  $Header$
9
10 #if !defined(Plot2d_FitDataDlg_H)
11 #define Plot2d_FitDataDlg_H
12
13 #include <qdialog.h>
14
15 #include <qspinbox.h>
16 #include <qbuttongroup.h>
17 #include <qradiobutton.h>
18 #include <qlineedit.h>
19 #include <qpushbutton.h>
20
21 //================================================================
22 // Class        : Plot2d_FitDataDlg
23 // Description  : Dialog to fit view for given data area
24 //================================================================
25 class Plot2d_FitDataDlg : public QDialog
26 {
27   Q_OBJECT
28 public:
29 // constuctor
30   Plot2d_FitDataDlg(QWidget* parent);
31
32 // sets range
33   void setRange(const double xMin, 
34                 const double xMax,
35                 const double yMin,
36                 const double yMax);
37 // gets range, returns mode (see getMode())
38   int getRange(double& xMin, 
39                double& xMax,
40                double& yMin,
41                double& yMax);
42 // gets mode : 0 - Fit all; 1 - Fit horizontal, 2 - Fit vertical
43   int getMode();
44
45 protected slots:
46 // called when range mode changed
47   void onModeChanged(int);
48
49 private:
50   QButtonGroup*           myRangeGrp;
51   QRadioButton*           myModeAllRB;
52   QRadioButton*           myModeHorRB;
53   QRadioButton*           myModeVerRB;
54   QLineEdit*              myXMinEdit;
55   QLineEdit*              myYMinEdit;
56   QLineEdit*              myXMaxEdit;
57   QLineEdit*              myYMaxEdit;
58   QPushButton*            myOkBtn;
59   QPushButton*            myCancelBtn;
60 };
61
62 #endif // !defined(Plot2d_FitDataDlg_H)