MemoryGroupBoxController.h
Go to the documentation of this file.
1/*
2 * This file is part of ArmarX.
3 *
4 * Copyright (C) 2012-2025, High Performance Humanoid Technologies (H2T), Karlsruhe Institute of Technology (KIT), all rights reserved.
5 *
6 * ArmarX is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 * ArmarX is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 *
18 * @package RobotStateComponent::
19 * @author Samet Soenmez (uewtt at student dot kit dot edu)
20 * @date 2025t
21 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
22 * GNU General Public License
23 */
24
25#pragma once
26
27#include <QObject>
28
33
34class QLayout;
35class QGroupBox;
36class QLabel;
37
39{
40 /**
41 * @brief controlls predictions, commits, LTM recording/storing
42 */
43 class MemoryGroupBoxController : public QObject, public armarx::Logging
44 {
45 Q_OBJECT
46 using This = MemoryGroupBoxController;
47
48 public:
50 MemoryViewerUIContext& uiContext,
51 std::shared_ptr<armem::gui::model::MemoryViewerModel> model);
52
55
56 public slots:
57 void onMakePrediction(const MemoryID& entityID,
58 const aron::type::ObjectPtr& entityType,
60 const std::string& engineID);
61
62 void onCommit();
63
64 void onStoreInLTM();
66 void onStopLTMRecording();
67
68 void updateMemoryTree();
69
70 signals:
71
72 private slots:
73 void updateActiveMemories();
74 void updateRecursionDepth(int value);
75 void updateDataMode();
76 void updateDropRemovedMemories();
77 void updateDropDisabledMemories();
78 void updateSelector();
79
80 private:
81 armem::gui::view::MemoryGroupBoxView* _memoryGroupBoxView;
82 std::shared_ptr<armem::gui::model::MemoryViewerModel> _model;
83 QLabel* _statusLabel;
84
85 std::unique_ptr<InstanceGroupBoxController> _instanceGroupBoxController;
86
87 };
88}
std::string timestamp()
Base Class for all Logging classes.
Definition Logging.h:240
armem::gui::view::MemoryGroupBoxView * memoryGroupBoxView() const
void onMakePrediction(const MemoryID &entityID, const aron::type::ObjectPtr &entityType, const armarx::DateTime &timestamp, const std::string &engineID)
MemoryGroupBoxController(MemoryViewerUIContext &uiContext, std::shared_ptr< armem::gui::model::MemoryViewerModel > model)
Represents a point in time.
Definition DateTime.h:25
std::shared_ptr< Object > ObjectPtr
Definition Object.h:36