diff --git a/Application/Client/LidarViewMainWindow.cxx b/Application/Client/LidarViewMainWindow.cxx index fa58a0de381f75c4d7d108b98ec17926954e7b93..27584701e08a6b3475bdf0e71a54b8104f898ba6 100644 --- a/Application/Client/LidarViewMainWindow.cxx +++ b/Application/Client/LidarViewMainWindow.cxx @@ -57,6 +57,7 @@ typedef pqPythonDebugLeaksView DebugLeaksViewType; #include "lqLiveSourceScalarColoringBehavior.h" #include "lqOpenLidarReaction.h" #include "lqRecentlyUsedPcapLoader.h" +#include "lqViewFrameActionsImplementation.h" #include "lqWelcomeDialog.h" //----------------------------------------------------------------------------- @@ -107,6 +108,10 @@ LidarViewMainWindow::LidarViewMainWindow() this->tabifyDockWidget(this->Internals->propertiesDock, this->Internals->viewPropertiesDock); this->tabifyDockWidget(this->Internals->propertiesDock, this->Internals->displayPropertiesDock); + this->tabifyDockWidget(this->Internals->propertiesDock, this->Internals->comparativePanelDock); + + // Set properties panel as default dock + this->Internals->propertiesDock->raise(); // Change default properties panel modes (one dock for each) this->Internals->propertiesPanel->setPanelMode(pqPropertiesPanel::SOURCE_PROPERTIES); @@ -188,6 +193,10 @@ LidarViewMainWindow::LidarViewMainWindow() // To register ParaView interfaces. pqInterfaceTracker* pgm = pqApplicationCore::instance()->interfaceTracker(); + // Replace default views + pqParaViewBehaviors::setEnableStandardViewFrameActions(false); + pgm->addInterface(new lqViewFrameActionsImplementation(pgm)); + // Add recently used pcap interface pgm->addInterface(new lqRecentlyUsedPcapLoader(pgm)); diff --git a/Application/Client/LidarViewMainWindow.ui b/Application/Client/LidarViewMainWindow.ui index 705913e1a4bacbbaa5701d19ecd42fa68471dcac..5474811c843b9781c8ee56a44e512349c57491e3 100644 --- a/Application/Client/LidarViewMainWindow.ui +++ b/Application/Client/LidarViewMainWindow.ui @@ -128,6 +128,18 @@ + + + Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea + + + Comparative View Inspector + + + 2 + + + Properties @@ -313,6 +325,12 @@ QStatusBar
lqStatusBar.h
+ + pqComparativeVisPanel + QWidget +
pqComparativeVisPanel.h
+ 1 +
pqPropertiesPanel QWidget diff --git a/Application/Qt/ApplicationComponents/CMakeLists.txt b/Application/Qt/ApplicationComponents/CMakeLists.txt index 9f52071a06e542b822158bd0d343c8c99e6fe4ad..dff4602990e88e43be0c3389301b00c4f96b1db1 100644 --- a/Application/Qt/ApplicationComponents/CMakeLists.txt +++ b/Application/Qt/ApplicationComponents/CMakeLists.txt @@ -8,6 +8,7 @@ set(classes lqMainControlsToolbar lqMenuSaveAsReaction lqStatusBar + lqViewFrameActionsImplementation lqWelcomeDialog ) diff --git a/Application/Qt/ApplicationComponents/lqViewFrameActionsImplementation.cxx b/Application/Qt/ApplicationComponents/lqViewFrameActionsImplementation.cxx new file mode 100644 index 0000000000000000000000000000000000000000..f153b138ef9ef73032107940f875eff69f91d889 --- /dev/null +++ b/Application/Qt/ApplicationComponents/lqViewFrameActionsImplementation.cxx @@ -0,0 +1,44 @@ +/*========================================================================= + + Program: LidarView + Module: lqViewFrameActionsImplementation.cxx + + Copyright (c) Kitware, Inc. + All rights reserved. + See LICENSE or http://www.apache.org/licenses/LICENSE-2.0 for details. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notice for more information. + +=========================================================================*/ + +#include "lqViewFrameActionsImplementation.h" + +//----------------------------------------------------------------------------- +lqViewFrameActionsImplementation::lqViewFrameActionsImplementation(QObject* parent) + : Superclass(parent) +{ +} + +//----------------------------------------------------------------------------- +QList +lqViewFrameActionsImplementation::availableViewTypes() +{ + std::vector> option_view{ { "LidarGridView", "Render View" }, + { "ComparativeRenderView", "Comparative Render View" }, + { "RenderViewWithEDL", "Eye Dome Lighting Render View" }, + { "SpreadSheetView", "SpreadSheet View" }, + { "XYHistogramChartView", "Histogram View" }, + { "XYChartView", "Line Chart View" }, + { "PythonView", "Python View" } }; + QList views; + for (const auto& [key, value] : option_view) + { + pqStandardViewFrameActionsImplementation::ViewType info; + info.Name = QString(key.c_str()); + info.Label = QString(value.c_str()); + views.push_back(info); + } + return views; +} diff --git a/Application/Qt/ApplicationComponents/lqViewFrameActionsImplementation.h b/Application/Qt/ApplicationComponents/lqViewFrameActionsImplementation.h new file mode 100644 index 0000000000000000000000000000000000000000..ea0c7ad13f509973895d0819ff15572cfaff5b9e --- /dev/null +++ b/Application/Qt/ApplicationComponents/lqViewFrameActionsImplementation.h @@ -0,0 +1,45 @@ +/*========================================================================= + + Program: LidarView + Module: lqViewFrameActionsImplementation.h + + Copyright (c) Kitware, Inc. + All rights reserved. + See LICENSE or http://www.apache.org/licenses/LICENSE-2.0 for details. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notice for more information. + +=========================================================================*/ + +#ifndef lqViewFrameActionsImplementation_h +#define lqViewFrameActionsImplementation_h + +#include + +#include + +#include "lvApplicationComponentsModule.h" + +class LVAPPLICATIONCOMPONENTS_EXPORT lqViewFrameActionsImplementation + : public pqStandardViewFrameActionsImplementation +{ + Q_OBJECT + typedef pqStandardViewFrameActionsImplementation Superclass; + +public: + lqViewFrameActionsImplementation(QObject* parent = 0); + ~lqViewFrameActionsImplementation() override = default; + +protected: + /** + * Returns available view types in LidarView. + */ + QList availableViewTypes() override; + +private: + Q_DISABLE_COPY(lqViewFrameActionsImplementation); +}; + +#endif