Salome HOME
2f190d492b13bbfd602bb35b0db4778ccbadda69
[modules/kernel.git] / src / SALOMEGUI / QAD_ViewFrame.h
1 //  File      : QAD_ViewFrame.cxx
2 //  Created   : UI team, 05.09.00
3 //  Descrip   : Frame window for viewport in QAD-based application
4
5 //  Modified  : Mon Dec 03 15:41:43 2001
6 //  Author    : Nicolas REJNERI
7 //  Project   : SALOME
8 //  Module    : SALOMEGUI
9 //  Copyright : Open CASCADE
10 //  $Header$
11
12
13 #ifndef QAD_ViewFrame_H
14 #define QAD_ViewFrame_H
15
16 #include "QAD.h"
17 #include "QAD_Application.h"
18 #include "QAD_StudyFrame.h"
19 #include "SALOME_InteractiveObject.hxx"
20
21 // QT Include
22 #include <qmainwindow.h>
23
24 class vtkRenderer;
25
26 class QAD_EXPORT QAD_ViewFrame : public QMainWindow
27 {
28   Q_OBJECT
29
30 public:
31   QAD_ViewFrame(QWidget* parent, const QString& title);
32   QAD_ViewFrame(QWidget* parent = 0);
33   virtual ~QAD_ViewFrame();
34
35   void                   cleanup();
36
37   virtual ViewType       getTypeView() const = 0; 
38   virtual QWidget*       getViewWidget() = 0;
39   virtual vtkRenderer*   getRenderer();
40
41   virtual void           setBackgroundColor( const QColor& ) = 0;
42   virtual QColor         backgroundColor() const = 0;
43
44   virtual void           SetSelectionMode( int mode ) = 0;
45
46   virtual void           SetTrihedronSize( int dim ) = 0;
47
48   /*  popup management */
49   virtual void           setPopupServer( QAD_Application* ) = 0;
50
51   /*  interactive object management */
52   virtual void           highlight( const Handle(SALOME_InteractiveObject)& IObject, 
53                                     bool highlight, bool immediatly = true ) = 0;
54   virtual void           unHighlightAll() = 0;
55   virtual void           rename( const Handle(SALOME_InteractiveObject)& IObject,
56                                  QString newName ) = 0;
57   virtual bool           isInViewer( const Handle(SALOME_InteractiveObject)& IObject ) = 0;
58   virtual bool           isVisible( const Handle(SALOME_InteractiveObject)& IObject ) = 0;
59
60   /*  undo/redo management */
61   virtual void           undo(SALOMEDS::Study_var aStudy,
62                               const char* StudyFrameEntry) = 0;
63   virtual void           redo(SALOMEDS::Study_var aStudy,
64                               const char* StudyFrameEntry) = 0;
65
66   static bool            isInViewer(SALOMEDS::Study_var aStudy,
67                                     const char* anEntry,
68                                     const char* StudyFrameEntry);
69
70   /* selection */
71   virtual Handle(SALOME_InteractiveObject)   FindIObject(const char* Entry) = 0;
72
73   /* display */         
74   virtual void           Display(const Handle(SALOME_InteractiveObject)& IObject, bool immediatly = true) = 0;
75   virtual void           DisplayOnly(const Handle(SALOME_InteractiveObject)& IObject) = 0;
76   virtual void           Erase(const Handle(SALOME_InteractiveObject)& IObject, bool immediatly = true) = 0;
77   virtual void           DisplayAll() = 0;
78   virtual void           EraseAll() = 0;
79   virtual void           Repaint() = 0;
80
81 protected slots:
82   virtual void           onViewPan() = 0; 
83   virtual void           onViewZoom() = 0;
84   virtual void           onViewFitAll() = 0;
85   virtual void           onViewFitArea() = 0;
86   virtual void           onViewGlobalPan() = 0; 
87   virtual void           onViewRotate() = 0;
88   virtual void           onViewReset() = 0;     
89   virtual void           onViewFront() = 0; 
90   virtual void           onViewBack() = 0; 
91   virtual void           onViewRight() = 0; 
92   virtual void           onViewLeft() = 0;     
93   virtual void           onViewBottom() = 0;
94   virtual void           onViewTop() = 0;
95   virtual void           onViewTrihedron() = 0; 
96   virtual void           onViewDump();
97
98 };
99
100 #endif
101