Version: 9.15.0
PVViewer_GUIElements.h
Go to the documentation of this file.
1 // Copyright (C) 2014-2025 CEA, EDF, OPEN CASCADE
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, or (at your option) any later version.
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 // Author: Adrien Bruneton (CEA)
20 
21 #ifndef PVVIEWER_GUIELEMENTS_H
22 #define PVVIEWER_GUIELEMENTS_H
23 
24 #include "PVViewer.h"
25 
26 #include <QObject>
27 #include <QList>
28 
29 class QAction;
30 class QMainWindow;
31 class QMenu;
32 class QToolBar;
33 class pqAnimationTimeToolbar;
34 class pqPipelineBrowserWidget;
35 class pqPipelineModel;
36 class pqPropertiesPanel;
37 class pqVCRToolbar;
38 
44 {
45  Q_OBJECT
46 
47 public:
48  static PVViewer_GUIElements* GetInstance(QMainWindow*);
49 
50  pqPropertiesPanel* getPropertiesPanel();
51  pqPipelineBrowserWidget* getPipelineBrowserWidget();
52 
53  QMenu* getFiltersMenu();
54  QMenu* getSourcesMenu();
55  QMenu* getMacrosMenu();
56  QMenu* getCatalystMenu();
57 
58  pqVCRToolbar* getVCRToolbar();
59  pqAnimationTimeToolbar* getTimeToolbar();
60 
61  void setToolBarVisible(bool);
62  void setToolBarEnabled(bool);
63  QList<QToolBar*> getToolbars();
64 
65  void setVCRTimeToolBarVisible(bool);
66 
67 private:
69  virtual ~PVViewer_GUIElements() {}
70 
72 
73  void buildPVWidgets();
74 
75  void publishExistingSources();
76 
77  // Widgets
78  pqPropertiesPanel* propertiesPanel;
79  pqPipelineBrowserWidget* pipelineBrowserWidget;
80  pqPipelineModel* pipelineModel;
81 
82  // Dummy QMenus receiving ParaView's reaction for automatic add when new sources are added
87 
88  // Toolbars also need to be instanciated early:
90  pqVCRToolbar* vcrToolbar;
91  pqAnimationTimeToolbar* timeToolbar;
99 
102 
103 public:
114 };
115 
116 #endif // PVVIEWER_GUIELEMENTS_H
#define PVVIEWER_EXPORT
Definition: PVViewer.h:30
Definition: PVViewer_GUIElements.h:44
QAction * axesAction
Definition: PVViewer_GUIElements.h:110
QMenu * catalystMenu
Definition: PVViewer_GUIElements.h:86
QToolBar * dataToolbar
Definition: PVViewer_GUIElements.h:98
QToolBar * macrosToolbar
Definition: PVViewer_GUIElements.h:96
QToolBar * mainToolBar
Definition: PVViewer_GUIElements.h:89
QAction * dataAction
Definition: PVViewer_GUIElements.h:113
bool myPVWidgetsFlag
Definition: PVViewer_GUIElements.h:101
QAction * cameraAction
Definition: PVViewer_GUIElements.h:109
virtual ~PVViewer_GUIElements()
Definition: PVViewer_GUIElements.h:69
QToolBar * commonToolbar
Definition: PVViewer_GUIElements.h:97
static PVViewer_GUIElements * theInstance
Definition: PVViewer_GUIElements.h:71
QAction * vcrAction
Definition: PVViewer_GUIElements.h:105
QAction * timeAction
Definition: PVViewer_GUIElements.h:106
pqPipelineBrowserWidget * pipelineBrowserWidget
Definition: PVViewer_GUIElements.h:79
QAction * macrosAction
Definition: PVViewer_GUIElements.h:111
QMenu * filtersMenu
Definition: PVViewer_GUIElements.h:84
QToolBar * axesToolbar
Definition: PVViewer_GUIElements.h:95
QAction * mainAction
Definition: PVViewer_GUIElements.h:104
QMenu * sourcesMenu
Definition: PVViewer_GUIElements.h:83
QAction * colorAction
Definition: PVViewer_GUIElements.h:107
pqPipelineModel * pipelineModel
Definition: PVViewer_GUIElements.h:80
pqAnimationTimeToolbar * timeToolbar
Definition: PVViewer_GUIElements.h:91
QToolBar * colorToolbar
Definition: PVViewer_GUIElements.h:92
pqVCRToolbar * vcrToolbar
Definition: PVViewer_GUIElements.h:90
QToolBar * cameraToolbar
Definition: PVViewer_GUIElements.h:94
QMenu * macrosMenu
Definition: PVViewer_GUIElements.h:85
QAction * reprAction
Definition: PVViewer_GUIElements.h:108
QMainWindow * myDesktop
Definition: PVViewer_GUIElements.h:100
pqPropertiesPanel * propertiesPanel
Definition: PVViewer_GUIElements.h:78
QToolBar * reprToolbar
Definition: PVViewer_GUIElements.h:93
QAction * commonAction
Definition: PVViewer_GUIElements.h:112
For more information see QT documentation.
Definition: SUIT_Application.h:42