]> SALOME platform Git repositories - modules/paravis.git/blob - src/PVGUI/PVGUI_ViewWindow.cxx
Salome HOME
SHow/hide ParaView view manager
[modules/paravis.git] / src / PVGUI / PVGUI_ViewWindow.cxx
1 // Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
2 // 
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either 
6 // version 2.1 of the License.
7 // 
8 // This library is distributed in the hope that it will be useful 
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of 
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public  
14 // License along with this library; if not, write to the Free Software 
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19 // File   : PVGUI_ViewWindow.cxx
20 // Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com)
21 //
22
23 #include "PVGUI_ViewWindow.h"
24
25 #include <SUIT_ViewManager.h>
26 #include <SUIT_ResourceMgr.h>
27 #include <SUIT_Session.h>
28 #include <SUIT_Desktop.h>
29
30 #include <pqViewManager.h>
31
32
33 /*!
34   \class PVGUI_ViewWindow
35   \brief PVGUI view window.
36 */
37
38 /*!
39   \brief Constructor.
40   \param theDesktop parent desktop window
41   \param theModel plt2d view model
42 */
43 PVGUI_ViewWindow::PVGUI_ViewWindow( SUIT_Desktop* theDesktop, PVGUI_Viewer* theModel )
44   : SUIT_ViewWindow( theDesktop ), myPVMgr( 0 )
45 {
46   myModel = theModel;
47 }
48
49 /*!
50   \brief Destructor.
51   As pqViewManager persists through the whole session,
52   the destructor first removes it from the children of this PVGUI_ViewWindow
53   to prevent its unexpected deletion.
54 */
55 PVGUI_ViewWindow::~PVGUI_ViewWindow()
56 {
57   if ( myPVMgr ) {
58     myPVMgr->setParent( 0 );
59     myPVMgr->hide();
60     myPVMgr = 0;
61     setCentralWidget( 0 );
62   }
63 }
64
65 /*!
66   \brief Get the visual parameters of the view window.
67   \return visual parameters of this view window formatted to the string
68 */
69 QString PVGUI_ViewWindow::getVisualParameters()
70 {
71   return SUIT_ViewWindow::getVisualParameters();
72 }
73
74 /*!
75   \brief Restore visual parameters of the view window from the formated string
76   \param parameters view window visual parameters
77 */
78 void PVGUI_ViewWindow::setVisualParameters( const QString& parameters )
79 {
80   SUIT_ViewWindow::setVisualParameters( parameters );
81 }
82
83 /*!
84   \brief Sets the ParaView multi-view manager for this view window
85 */
86 void PVGUI_ViewWindow::setMultiViewManager( pqViewManager* viewMgr )
87 {
88   myPVMgr = viewMgr;
89   myPVMgr->setParent( this );
90   // This is mandatory, see setParent() method in Qt 4 documentation 
91   myPVMgr->show();
92   setCentralWidget( myPVMgr );
93 }
94
95 /*!
96   \brief Returns the ParaView multi-view manager previously set with setMultiViewManager()
97 */
98 pqViewManager* PVGUI_ViewWindow::getMultiViewManager() const
99 {
100   return myPVMgr;
101 }