#include <QtxActionToolMgr.h>
#include <LightApp_Application.h>
-#include <SalomeApp_Application.h>
+#include <SalomeApp_Application.h> // // should ultimately be a LightApp only
#include <SUIT_Desktop.h>
#include <QApplication>
#include <pqColorMapEditor.h>
#include <pqDeleteReaction.h>
-//class ResizeHelper : public pqPVAnimationWidget
-//{
-// // TEMPORARILY WORKAROUND AROUND PARAVIEW 3.14 BUG:
-// // WHEN ANIMATION VIEW IS RESIZED, ITS CONTENTS IS NOT PREPERLY RE-ARRANGED
-// // CAUSING SOME CONTROLS TO STAY NON-VISIBLE
-// // THIS BUG IS NATURALLY FIXED BY ADDING
-// // this->updateGeometries();
-// // TO THE
-// // void pqAnimationWidget::resizeEvent(QResizeEvent* e);
-// // BUT THIS CANNOT BE DONE DIRECTLY, SINCE CORRESPONDING API IS NOT PUBLIC
-// // THE ONLY WAY TO DO THIS BY SENDING SHOW EVENT TO THE WIDGET
-//
-//public:
-// ResizeHelper( QWidget* parent ) : pqPVAnimationWidget( parent ) {}
-//protected:
-// void resizeEvent(QResizeEvent* e)
-// {
-// pqAnimationWidget* w = findChild<pqAnimationWidget*>( "pqAnimationWidget" );
-// if ( w ) {
-// QShowEvent e;
-// QApplication::sendEvent( w, &e );
-// }
-// pqPVAnimationWidget::resizeEvent( e );
-// }
-//};
+#include <vtkPVGeneralSettings.h>
+
+class ResizeHelper : public pqPVAnimationWidget
+{
+ // TEMPORARILY WORKAROUND AROUND PARAVIEW 3.14 BUG:
+ // WHEN ANIMATION VIEW IS RESIZED, ITS CONTENTS IS NOT PREPERLY RE-ARRANGED
+ // CAUSING SOME CONTROLS TO STAY NON-VISIBLE
+ // THIS BUG IS NATURALLY FIXED BY ADDING
+ // this->updateGeometries();
+ // TO THE
+ // void pqAnimationWidget::resizeEvent(QResizeEvent* e);
+ // BUT THIS CANNOT BE DONE DIRECTLY, SINCE CORRESPONDING API IS NOT PUBLIC
+ // THE ONLY WAY TO DO THIS BY SENDING SHOW EVENT TO THE WIDGET
+
+public:
+ ResizeHelper( QWidget* parent ) : pqPVAnimationWidget( parent ) {}
+protected:
+ void resizeEvent(QResizeEvent* e)
+ {
+ pqAnimationWidget* w = findChild<pqAnimationWidget*>( "pqAnimationWidget" );
+ if ( w ) {
+ QShowEvent e;
+ QApplication::sendEvent( w, &e );
+ }
+ pqPVAnimationWidget::resizeEvent( e );
+ }
+};
+
+
/*!
\brief Create dock widgets for ParaView widgets such as object inspector, pipeline browser, etc.
desk->setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);
desk->setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea);
+ desk->setTabPosition(Qt::LeftDockWidgetArea, QTabWidget::North);
// Pipeline
QDockWidget* pipelineBrowserDock = new QDockWidget( tr( "TTL_PIPELINE_BROWSER" ), desk );
pqPipelineBrowserWidget* browser = guiElements->getPipelineBrowserWidget();
pipelineBrowserDock->setWidget(browser);
myDockWidgets[pipelineBrowserDock] = true;
+ pipelineBrowserDock->hide();
- // Properties dock (previously called OBJECT_INSPECTOR)
+ // PROPERTIES, DISPLAY and VIEW:
+ // See ParaViewMainWindow.cxx - those three panels can be separated or grouped.
+ pqSettings *settings = pqApplicationCore::instance()->settings();
+
+ // Properties dock (previously called OBJECT_INSPECTOR)
QDockWidget* propertiesDock = new QDockWidget( tr( "TTL_OBJECT_INSPECTOR" ), desk );
propertiesDock->setObjectName("propertiesDock");
- propertiesDock->setAllowedAreas( Qt::LeftDockWidgetArea|Qt::NoDockWidgetArea|Qt::RightDockWidgetArea );
+ propertiesDock->setAllowedAreas( Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea );
desk->addDockWidget( Qt::LeftDockWidgetArea, propertiesDock );
pqPropertiesPanel* propertiesPanel = guiElements->getPropertiesPanel();
- propertiesDock->setObjectName("propertiesPanel");
propertiesDock->setWidget(propertiesPanel);
connect( propertiesPanel, SIGNAL( helpRequested(const QString&, const QString&) ), this, SLOT( showHelpForProxy(const QString&, const QString&) ) );
// hook delete to pqDeleteReaction.
QAction* tempDeleteAction = new QAction(this);
pqDeleteReaction* handler = new pqDeleteReaction(tempDeleteAction);
handler->connect(propertiesPanel, SIGNAL(deleteRequested(pqPipelineSource*)), SLOT(deleteSource(pqPipelineSource*)));
-
myDockWidgets[propertiesDock] = true;
+ propertiesDock->hide();
+
+ // Display dock
+ QDockWidget* displayPropertiesDock = new QDockWidget( tr( "TTL_DISPLAY" ), desk );
+ displayPropertiesDock->setObjectName("displayPropertiesDock");
+ displayPropertiesDock->setAllowedAreas( Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea );
+ desk->addDockWidget( Qt::LeftDockWidgetArea, displayPropertiesDock );
+
+ pqPropertiesPanel* displayPropertiesPanel = new pqPropertiesPanel();
+ displayPropertiesPanel->setObjectName("displayPropertiesPanel");
+ displayPropertiesPanel->setProperty("panelMode", QVariant(2)); // probably to have only the Display part
+ displayPropertiesDock->setWidget(displayPropertiesPanel);
+ myDockWidgets[displayPropertiesDock] = false;
+ displayPropertiesDock->hide();
+
+ // View dock
+ QDockWidget* viewPropertiesDock = new QDockWidget( tr( "TTL_VIEW_PANEL" ), desk );
+ viewPropertiesDock->setObjectName("viewPropertiesDock");
+ viewPropertiesDock->setAllowedAreas( Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea );
+ desk->addDockWidget( Qt::LeftDockWidgetArea, viewPropertiesDock );
+
+ pqPropertiesPanel* viewPropertiesPanel = new pqPropertiesPanel();
+ viewPropertiesPanel->setObjectName("viewPropertiesPanel");
+ viewPropertiesPanel->setProperty("panelMode", QVariant(4)); // probably to have only the View part
+ viewPropertiesDock->setWidget(viewPropertiesPanel);
+ myDockWidgets[viewPropertiesDock] = false;
+ viewPropertiesDock->hide();
+
+ // Taken from ParaViewMainWindow.cxx:
+ int propertiesPanelMode = settings->value(
+ "GeneralSettings.PropertiesPanelMode", vtkPVGeneralSettings::ALL_IN_ONE).toInt();
+ switch (propertiesPanelMode)
+ {
+ case vtkPVGeneralSettings::SEPARATE_DISPLAY_PROPERTIES:
+ viewPropertiesDock->hide();
+ propertiesPanel->setPanelMode(
+ pqPropertiesPanel::SOURCE_PROPERTIES|pqPropertiesPanel::VIEW_PROPERTIES);
+ break;
+
+ case vtkPVGeneralSettings::SEPARATE_VIEW_PROPERTIES:
+ displayPropertiesDock->hide();
+ propertiesPanel->setPanelMode(
+ pqPropertiesPanel::SOURCE_PROPERTIES|pqPropertiesPanel::DISPLAY_PROPERTIES);
+ break;
+
+ case vtkPVGeneralSettings::ALL_SEPARATE:
+ propertiesPanel->setPanelMode(pqPropertiesPanel::SOURCE_PROPERTIES);
+ break;
+
+ case vtkPVGeneralSettings::ALL_IN_ONE:
+ default:
+ propertiesPanel->setPanelMode(
+ pqPropertiesPanel::SOURCE_PROPERTIES|pqPropertiesPanel::VIEW_PROPERTIES|pqPropertiesPanel::DISPLAY_PROPERTIES);
+ viewPropertiesDock->hide();
+ displayPropertiesDock->hide();
+ break;
+ }
// Information dock
QDockWidget* informationDock = new QDockWidget(tr( "TTL_INFORMATION" ), desk);
QWidget* informationWidgetFrame = new QWidget(informationDock);
informationWidgetFrame->setObjectName("informationWidgetFrame");
-
+
QVBoxLayout* verticalLayout_2 = new QVBoxLayout(informationWidgetFrame);
verticalLayout_2->setSpacing(0);
verticalLayout_2->setContentsMargins(0, 0, 0, 0);
myDockWidgets[informationDock] = true;
- desk->setTabPosition(Qt::LeftDockWidgetArea, QTabWidget::North);
- desk->tabifyDockWidget(informationDock, propertiesDock);
+ desk->tabifyDockWidget(propertiesDock, viewPropertiesDock);
+ desk->tabifyDockWidget(propertiesDock, displayPropertiesDock);
+ desk->tabifyDockWidget(propertiesDock, informationDock);
propertiesDock->raise();
// Statistic View
QDockWidget* animationViewDock = new QDockWidget( tr( "TTL_ANIMATION_VIEW" ), desk );
animationViewDock->setObjectName("animationViewDock");
desk->addDockWidget( Qt::BottomDockWidgetArea, animationViewDock );
- pqPVAnimationWidget* animation_panel = new pqPVAnimationWidget(animationViewDock); // [ABN] was resizeHelper
+ pqPVAnimationWidget* animation_panel = new ResizeHelper(animationViewDock); // [ABN] was resizeHelper
animationViewDock->setWidget(animation_panel);
myDockWidgets[animationViewDock] = false; // hidden by default
aProgress->setEnabled(true);
// Set up the dock window corners to give the vertical docks more room.
- desk->setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);
- desk->setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea);
+// desk->setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);
+// desk->setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea);
// Setup the default dock configuration ...
statisticsViewDock->hide();
// restoreCommonWindowsState() method, and at the moment of the ParaVis activation we call
// this method.
+ //LightApp_Application* anApp = getApp();
SalomeApp_Application* anApp = getApp();
if(!anApp)
return;
- int begin = SalomeApp_Application::WT_ObjectBrowser;
- int end = SalomeApp_Application::WT_NoteBook;
+// int begin = SalomeApp_Application::WT_ObjectBrowser;
+// int end = SalomeApp_Application::WT_NoteBook;
+ int begin = LightApp_Application::WT_ObjectBrowser;
+ int end = LightApp_Application::WT_User;
for( int i = begin; i <= end; i++ ) {
QWidget* wg = anApp->getWindow(i);
if(wg) {
*/
void PVGUI_Module::restoreCommonWindowsState() {
SalomeApp_Application* anApp = getApp();
+// LightApp_Application* anApp = getApp();
if(!anApp)
return;
DockWindowMap::const_iterator it = myCommonMap.begin();