Version: 8.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Plot2d_ViewWindow.h
Go to the documentation of this file.
1 // Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 
23 // File : Plot2d_ViewWindow.h
24 // Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com)
25 //
26 #ifndef PLOT2D_VIEWWINDOW_H
27 #define PLOT2D_VIEWWINDOW_H
28 
29 #include "Plot2d.h"
30 #include <SUIT_ViewWindow.h>
31 #include <QMap>
32 
33 
34 #ifdef WIN32
35 #pragma warning( disable:4251 )
36 #endif
37 
38 class SUIT_Desktop;
39 class Plot2d_Viewer;
40 class Plot2d_ViewFrame;
41 class QtxAction;
42 class QImage;
43 class QMenu;
44 class QToolBar;
45 
47 {
48  Q_OBJECT
49 
50 public:
51  enum { DumpId,
52  ScaleOpId, FitAllId, FitRectId, ZoomId,
53  MoveOpId, PanId, GlobalPanId,
54  PModeXLinearId, PModeXLogarithmicId,
55  PModeYLinearId, PModeYLogarithmicId,
56  PModeNormLMaxId, PModeNormLMinId,
57  PModeNormRMaxId, PModeNormRMinId,
58  CurvPointsId, CurvLinesId, CurvSplinesId,
61  CloneId, PrintId,
62  AnalyticalCurveId };
63 
64 public:
66  virtual ~Plot2d_ViewWindow();
67 
68  Plot2d_Viewer* getModel();
69  void putInfo( const QString&);
70  Plot2d_ViewFrame* getViewFrame();
71  QToolBar* getToolBar();
72  virtual void initLayout();
73  void contextMenuPopup( QMenu* );
74 
75  virtual bool eventFilter( QObject*, QEvent* );
76 
77  void createActions();
78  void createToolBar();
79 
80  virtual QString getVisualParameters();
81  virtual void setVisualParameters( const QString& );
82 
83  virtual void RefreshDumpImage();
84 
85 public slots:
86  void onChangeHorMode();
87  void onChangeVerMode();
88  void onChangeCurveMode();
89  void onChangeLegendMode();
90  void onChangeNormLMode();
91  void onChangeNormRMode();
92 
93 
94  void onFitAll();
95  void onFitRect();
96  void onZoom();
97  void onPanning();
98  void onGlobalPanning();
99  void onViewHorMode();
100  void onViewVerMode();
101  void onViewNormLMode();
102  void onViewNormRMode();
103  void onLegend();
104  void onCurves();
105 
106  void onDumpView();
107  void onPrintView();
108 
109 protected:
110  virtual QImage dumpView();
111  virtual bool dumpViewToFormat( const QImage&,
112  const QString&,
113  const QString& );
114  virtual QString filter() const;
115 
116 signals:
117  void cloneView();
118 
119 private:
123  QImage myDumpImage;
124 };
125 
126 #ifdef WIN32
127 #pragma warning( default:4251 )
128 #endif
129 
130 #endif // PLOT2D_VIEWWINDOW_H