-// Copyright (C) 2010-2014 CEA/DEN, EDF R&D
+// Copyright (C) 2014-2020 CEA/DEN, EDF R&D, OPEN CASCADE
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
//
// Author: Adrien Bruneton (CEA)
-#ifndef PVVIEWERGUIELEMENTS_H_
-#define PVVIEWERGUIELEMENTS_H_
+#ifndef PVVIEWER_GUIELEMENTS_H
+#define PVVIEWER_GUIELEMENTS_H
#include "PVViewer.h"
#include <QObject>
+#include <QList>
-class pqPropertiesPanel;
-class pqPipelineBrowserWidget;
-class SUIT_Desktop;
+class QAction;
+class QMainWindow;
class QMenu;
class QToolBar;
-class QAction;
class pqAnimationTimeToolbar;
+class pqPipelineBrowserWidget;
+class pqPipelineModel;
+class pqPropertiesPanel;
class pqVCRToolbar;
/*!
Q_OBJECT
public:
- static PVViewer_GUIElements * GetInstance(SUIT_Desktop* desk);
+ static PVViewer_GUIElements* GetInstance(QMainWindow*);
- pqPropertiesPanel * getPropertiesPanel() { return propertiesPanel; }
- pqPipelineBrowserWidget * getPipelineBrowserWidget() { return pipelineBrowserWidget; }
+ pqPropertiesPanel* getPropertiesPanel();
+ pqPipelineBrowserWidget* getPipelineBrowserWidget();
- QMenu * getFiltersMenu() { return filtersMenu; }
- QMenu * getSourcesMenu() { return sourcesMenu; }
- QMenu * getMacrosMenu() { return macrosMenu; }
+ QMenu* getFiltersMenu();
+ QMenu* getSourcesMenu();
+ QMenu* getMacrosMenu();
+ QMenu* getCatalystMenu();
- pqVCRToolbar * getVCRToolbar() { return vcrToolbar; }
- pqAnimationTimeToolbar * getTimeToolbar() { return timeToolbar; }
+ pqVCRToolbar* getVCRToolbar();
+ pqAnimationTimeToolbar* getTimeToolbar();
- void myBuildToolbars(SUIT_Desktop* desk);
- void addToolbars(SUIT_Desktop* desk);
- void setToolBarVisible(bool show);
+ void setToolBarVisible(bool);
+ void setToolBarEnabled(bool);
+ QList<QToolBar*> getToolbars();
-public slots:
- void onEmulateApply(); // better use the slot from PVViewer_ViewManager if you want to trigger "Apply"
+ void setVCRTimeToolBarVisible(bool);
private:
- PVViewer_GUIElements(SUIT_Desktop* desk);
+ PVViewer_GUIElements(QMainWindow*);
virtual ~PVViewer_GUIElements() {}
- static PVViewer_GUIElements * theInstance;
+ static PVViewer_GUIElements* theInstance;
+
+ void buildPVWidgets();
+
+ void publishExistingSources();
// Widgets
- pqPropertiesPanel * propertiesPanel;
- pqPipelineBrowserWidget * pipelineBrowserWidget;
+ pqPropertiesPanel* propertiesPanel;
+ pqPipelineBrowserWidget* pipelineBrowserWidget;
+ pqPipelineModel* pipelineModel;
// Dummy QMenus receiving ParaView's reaction for automatic add when new sources are added
- QMenu * sourcesMenu;
- QMenu * filtersMenu;
- QMenu * macrosMenu;
+ QMenu* sourcesMenu;
+ QMenu* filtersMenu;
+ QMenu* macrosMenu;
+ QMenu* catalystMenu;
// Toolbars also need to be instanciated early:
QToolBar* mainToolBar;
pqVCRToolbar* vcrToolbar;
- pqAnimationTimeToolbar * timeToolbar;
+ pqAnimationTimeToolbar* timeToolbar;
QToolBar* colorToolbar;
QToolBar* reprToolbar;
QToolBar* cameraToolbar;
QToolBar* axesToolbar;
QToolBar* macrosToolbar;
+ QToolBar* commonToolbar;
+ QToolBar* dataToolbar;
+
+ QMainWindow* myDesktop;
+ bool myPVWidgetsFlag;
public:
- QAction * mainAction;
- QAction * vcrAction;
- QAction * timeAction;
- QAction * colorAction;
- QAction * reprAction;
- QAction * cameraAction;
- QAction * axesAction;
- QAction * macrosAction;
+ QAction* mainAction;
+ QAction* vcrAction;
+ QAction* timeAction;
+ QAction* colorAction;
+ QAction* reprAction;
+ QAction* cameraAction;
+ QAction* axesAction;
+ QAction* macrosAction;
+ QAction* commonAction;
+ QAction* dataAction;
};
-#endif /* PVVIEWERGUIELEMENTS_H_ */
+#endif // PVVIEWER_GUIELEMENTS_H