diff --git a/source/RobotAPI/gui-plugins/ArMemMemoryViewer/ArMemMemoryViewerWidgetController.cpp b/source/RobotAPI/gui-plugins/ArMemMemoryViewer/ArMemMemoryViewerWidgetController.cpp index 66c6091c400f3cba73f7c2c865ce7d27657fcf00..e5e94169bd66666292a58315487d196cb062c5e3 100644 --- a/source/RobotAPI/gui-plugins/ArMemMemoryViewer/ArMemMemoryViewerWidgetController.cpp +++ b/source/RobotAPI/gui-plugins/ArMemMemoryViewer/ArMemMemoryViewerWidgetController.cpp @@ -28,6 +28,7 @@ #include <QTimer> #include <ArmarXCore/observers/variant/Variant.h> +#include <ArmarXCore/core/time/TimeUtil.h> #include <RobotAPI/libraries/armem/core/ice_conversions.h> #include <RobotAPI/libraries/armem_gui/QTreeWidgetAronDataVisitor.h> @@ -50,6 +51,38 @@ namespace armarx } } + static QSplitter* useSplitter(QLayout* layout) + { + ARMARX_CHECK(layout); + + QSplitter* splitter; + if (dynamic_cast<QHBoxLayout*>(layout)) + { + splitter = new QSplitter(Qt::Orientation::Horizontal); + } + else if (dynamic_cast<QVBoxLayout*>(layout)) + { + splitter = new QSplitter(Qt::Orientation::Vertical); + } + else + { + splitter = new QSplitter(); + } + + while (layout->count() > 0) + { + int index = 0; + if (layout->itemAt(index)->widget()) + { + QLayoutItem* item = layout->takeAt(index); + splitter->addWidget(item->widget()); + } + } + layout->addWidget(splitter); + + return splitter; + } + QString ArMemMemoryViewerWidgetController::GetWidgetName() { @@ -62,20 +95,6 @@ namespace armarx widget.setupUi(getWidget()); // Setup widgets - { - QSplitter* splitter = new QSplitter(); - while (widget.treesLayout->count() > 0) - { - int index = 0; //widget.treesLayout->count() - 1; - if (widget.treesLayout->itemAt(index)->widget()) - { - QLayoutItem* item = widget.treesLayout->takeAt(index); - splitter->addWidget(item->widget()); - } - } - widget.treesLayout->addWidget(splitter); - } - widget.statusLabel->clear(); @@ -89,7 +108,6 @@ namespace armarx replaceWidget(widget._memoryTreeWidget, memoryTree, widget.memoryGroupBox->layout()); ARMARX_CHECK_NULL(widget._memoryTreeWidget); - queryTabs = new armem::gui::QueryWidget(); widget._queryTabWidget = nullptr; @@ -103,6 +121,10 @@ namespace armarx ARMARX_CHECK_NULL(widget._instanceTree); + useSplitter(widget.treesLayout); + useSplitter(widget.memoryGroupBox->layout()); + + // Connect signals connect(this, &This::connected, this, &This::updateMemory); connect(widget.updateButton, &QPushButton::pressed, this, &This::updateMemory);