- myDockWidgets.append(pipelineBrowserDock);
-
- //Object inspector
- QDockWidget* objectInspectorDock = new QDockWidget( tr( "TTL_OBJECT_INSPECTOR" ), desk );
- objectInspectorDock->setObjectName("objectInspectorDock");
- objectInspectorDock->setAllowedAreas( Qt::LeftDockWidgetArea|Qt::NoDockWidgetArea|Qt::RightDockWidgetArea );
- desk->addDockWidget( Qt::LeftDockWidgetArea, objectInspectorDock );
- pqProxyTabWidget* proxyTab = new pqProxyTabWidget(objectInspectorDock);
- proxyTab->setShowOnAccept(true);
- objectInspectorDock->setWidget(proxyTab);
- connect( proxyTab->getObjectInspector(), SIGNAL( helpRequested(QString) ),
- this, SLOT( showHelpForProxy(QString) ) );
- //connect( proxyTab->getObjectInspector(), SIGNAL( preaccept() ), this, SLOT( onPreAccept() ) );
- //connect( proxyTab->getObjectInspector(), SIGNAL( postaccept() ), this, SLOT( onPostAccept() ) );
- myDockWidgets.append(objectInspectorDock);
+ myDockWidgets[pipelineBrowserDock] = true;
+ pipelineBrowserDock->hide();
+
+ // 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::RightDockWidgetArea );
+ desk->addDockWidget( Qt::LeftDockWidgetArea, propertiesDock );
+
+ pqPropertiesPanel* propertiesPanel = guiElements->getPropertiesPanel();
+ 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);
+ informationDock->setObjectName("informationDock");
+
+ 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);
+
+ QScrollArea* informationScrollArea = new QScrollArea(informationWidgetFrame);
+ informationScrollArea->setObjectName("informationScrollArea") ;
+ informationScrollArea->setWidgetResizable(true);
+
+ pqProxyInformationWidget* informationWidget = new pqProxyInformationWidget();
+ informationWidget->setObjectName("informationWidget");
+ informationWidget->setGeometry(QRect(0, 0, 77, 214));
+ informationScrollArea->setWidget(informationWidget);
+
+ verticalLayout_2->addWidget(informationScrollArea);
+ informationDock->setWidget(informationWidgetFrame);
+
+ myDockWidgets[informationDock] = true;
+
+ desk->tabifyDockWidget(propertiesDock, viewPropertiesDock);
+ desk->tabifyDockWidget(propertiesDock, displayPropertiesDock);
+ desk->tabifyDockWidget(propertiesDock, informationDock);
+ propertiesDock->raise();