Learn Environment
Loading...
Searching...
No Matches
subtask_item.hpp
Go to the documentation of this file.
1#ifndef SUBTASK_ITEM_HPP
2#define SUBTASK_ITEM_HPP
3
4#include "task.hpp"
5#include "task_manager.hpp"
6#include "execute_frame.hpp"
7
8#include <QWidget>
9#include <QPushButton>
10#include <QToolButton>
11#include <QLabel>
12#include <QHBoxLayout>
13#include <QVBoxLayout>
14
24class SubtaskItem : public QWidget {
25 Q_OBJECT
26
27public:
33 SubtaskItem(QWidget *parent, Subtask *subtask);
34
38 void updateUI(bool constructorCall = false);
39
44 void setTaskManager(TaskManager *manager);
45
46Q_SIGNALS:
51 void subtaskStartStopRequested(const Subtask &subtask);
52
53private Q_SLOTS:
57 void handleStartButtonClick();
58 void handleHelpButtonClick();
59 void handleStartOwnScript();
60 void handleStartSolution();
61 void handleToggleSolution();
62 void handleResetNotebook();
63
64private:
71 void setupItemUI(const QString &headerText, const QString &linkText, const QString &bodyText);
72 void initializeHelpMenu();
73 void initializeStartMenu();
74 void setExecutionFrame(const QString& imagePath, const QString& text);
75
76 TaskManager *taskManager;
77 Subtask *subtask;
78 QString headerText;
79 QString linkText;
80 QString bodyText;
81 QToolButton *startButton;
82 QToolButton *helpButton;
83 QVBoxLayout *baseLayout;
84 ExecuteFrame *executeSubtaskFrame;
85
86 QPushButton *menuStartOwnBtn;
87 QPushButton *menuStartSolutionBtn;
88
89 QPushButton *menuToggleSolutionBtn;
90 QPushButton *menuResetNotebookBtn;
91
92 QMenu* startMenu;
93 QMenu* helpMenu;
94};
95
96#endif // SUBTASK_ITEM_HPP
A custom QFrame that displays an image and text. For logging and task execution.
Definition execute_frame.hpp:14
Represents a UI item for a subtask.
Definition subtask_item.hpp:24
void updateUI(bool constructorCall=false)
Updates the UI elements based on the subtask's status.
Definition subtask_item.cpp:72
SubtaskItem(QWidget *parent, Subtask *subtask)
Constructs a SubtaskItem object.
Definition subtask_item.cpp:57
void subtaskStartStopRequested(const Subtask &subtask)
Signal emitted when a start/stop request is made for the subtask.
void setTaskManager(TaskManager *manager)
Sets the TaskManager object.
Definition subtask_item.cpp:135
Manages tasks and their execution within the application.
Definition task_manager.hpp:21
Represents a subtask within a task.
Definition task.hpp:31