Commit 507da8b3 authored by David Thompson's avatar David Thompson
Browse files

Add more of ParaView's panels to ModelBuilder.

parent 048cc8cf
ModelBuilder now includes ParaView's information, statistics, light, and memory
inspection panels. You can also set the `PV_DEBUG_LEAKS_VIEW` environment
variable when running aeva to debug memory leaks, although this feature
is currently untested.
......@@ -17,6 +17,8 @@
#include "modelbuilder/ui_mbFileMenu.h"
#include "modelbuilder/ui_mbMainWindow.h"
#include "vtkPVConfig.h"
#include "pqAlwaysConnectedBehavior.h"
#include "pqApplyBehavior.h"
#include "pqDefaultViewBehavior.h"
......@@ -49,6 +51,22 @@
#include "vtkPVPluginLoader.h"
#include "vtkSMProxyManager.h"
#include <vtksys/SystemTools.hxx>
#ifdef MODELBUILDER_USE_PYTHON
#include "pvpythonmodules.h"
#endif
#ifdef MODELBUILDER_USE_PYTHON
#include "pqExportInspector.h"
#include "pqPythonDebugLeaksView.h"
#include "pqPythonShell.h"
using DebugLeaksViewType = pqPythonDebugLeaksView;
#else
#include "vtkQtDebugLeaksView.h"
using DebugLeaksViewType = vtkQtDebugLeaksView;
#endif
namespace
{
bool registerFactoryOverrides()
......@@ -169,6 +187,30 @@ static void showAction(QAction* act)
//-----------------------------------------------------------------------------
mbMainWindow::mbMainWindow()
{
// the debug leaks view should be constructed as early as possible
// so that it can monitor vtk objects created at application startup.
DebugLeaksViewType* leaksView = nullptr;
if (vtksys::SystemTools::GetEnv("PV_DEBUG_LEAKS_VIEW"))
{
leaksView = new DebugLeaksViewType(this);
leaksView->setWindowFlags(Qt::Window);
leaksView->show();
}
#ifdef MODELBUILDER_USE_PYTHON
pvpythonmodules_load();
#endif
#ifdef MODELBUILDER_USE_PYTHON
pqPythonShell* shell = new pqPythonShell(this);
shell->setObjectName("pythonShell");
this->Internals->pythonShellDock->setWidget(shell);
if (leaksView)
{
leaksView->setShell(shell);
}
#endif
this->setTabPosition(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea, QTabWidget::North);
this->Internals = new pqInternals();
this->Internals->setupUi(this);
......
......@@ -101,6 +101,18 @@
</property>
</widget>
</widget>
<widget class="QDockWidget" name="statisticsDock">
<property name="allowedAreas">
<set>Qt::BottomDockWidgetArea|Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea</set>
</property>
<property name="windowTitle">
<string>Statistics Inspector</string>
</property>
<attribute name="dockWidgetArea">
<number>8</number>
</attribute>
<widget class="pqDataInformationWidget" name="statisticsView"/>
</widget>
<widget class="QDockWidget" name="proxyTabDock">
<property name="allowedAreas">
<set>Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea</set>
......@@ -125,6 +137,77 @@
</attribute>
<widget class="pqMultiBlockInspectorWidget" name="multiBlockInspectorPanel"/>
</widget>
<widget class="QDockWidget" name="informationDock">
<property name="allowedAreas">
<set>Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea</set>
</property>
<property name="windowTitle">
<string>Information</string>
</property>
<attribute name="dockWidgetArea">
<number>1</number>
</attribute>
<widget class="QWidget" name="informationWidgetFrame">
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QScrollArea" name="informationScrollArea">
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="pqProxyInformationWidget" name="informationWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>78</width>
<height>154</height>
</rect>
</property>
</widget>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QDockWidget" name="memoryInspectorDock">
<property name="allowedAreas">
<set>Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea</set>
</property>
<property name="windowTitle">
<string>Memory Inspector</string>
</property>
<attribute name="dockWidgetArea">
<number>2</number>
</attribute>
<widget class="pqMemoryInspectorPanel" name="dockWidgetContents"/>
</widget>
<widget class="QDockWidget" name="lightInspectorDock">
<property name="allowedAreas">
<set>Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea</set>
</property>
<property name="windowTitle">
<string>Light Inspector</string>
</property>
<attribute name="dockWidgetArea">
<number>1</number>
</attribute>
<widget class="pqLightsInspector" name="lightInspectorPanel"/>
</widget>
<widget class="QDockWidget" name="outputWidgetDock">
<property name="floating">
<bool>false</bool>
......@@ -156,10 +239,16 @@
</widget>
<customwidgets>
<customwidget>
<class>pqPipelineBrowserWidget</class>
<extends>QWidget</extends>
<header>pqPipelineBrowserWidget.h</header>
<container>1</container>
<class>pqPipelineBrowserWidget</class>
<extends>QWidget</extends>
<header>pqPipelineBrowserWidget.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>pqProxyInformationWidget</class>
<extends>QWidget</extends>
<header>pqProxyInformationWidget.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>pqViewManager</class>
......@@ -190,12 +279,30 @@
<header>pqOutputWidget.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>pqMultiBlockInspectorWidget</class>
<extends>QWidget</extends>
<header>pqMultiBlockInspectorWidget.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>pqMultiBlockInspectorWidget</class>
<extends>QWidget</extends>
<header>pqMultiBlockInspectorWidget.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>pqDataInformationWidget</class>
<extends>QWidget</extends>
<header>pqDataInformationWidget.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>pqMemoryInspectorPanel</class>
<extends>QWidget</extends>
<header>pqMemoryInspectorPanel.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>pqLightsInspector</class>
<extends>QWidget</extends>
<header>pqLightsInspector.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections/>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment