TriggerInspectorWidget.hpp
1 #pragma once
2 
3 #include <State/Expression.hpp>
4 
5 #include <Scenario/Inspector/Expression/ExpressionMenu.hpp>
6 
7 #include <QWidget>
8 
9 namespace score
10 {
11 struct DocumentContext;
12 }
13 namespace Inspector
14 {
15 class InspectorWidgetBase;
16 }
17 class QPushButton;
18 class QMenu;
19 
20 namespace Scenario
21 {
22 class ExpressionEditorWidget;
23 class TimeSyncModel;
24 namespace Command
25 {
26 class TriggerCommandFactoryList;
27 }
28 class TriggerInspectorWidget final : public QWidget
29 {
30 public:
33  const TimeSyncModel& object, Inspector::InspectorWidgetBase* parent);
34 
35  void on_triggerChanged();
36 
37  void createTrigger();
38  void removeTrigger();
39 
40  void on_triggerActiveChanged();
41 
42  void updateExpression(const State::Expression&);
43 
44 private:
45  const Command::TriggerCommandFactoryList& m_triggerCommandFactory;
46  const TimeSyncModel& m_model;
47 
49 
50  QPushButton* m_addTrigBtn{};
51  ExpressionMenu m_menu;
52 
53  ExpressionEditorWidget* m_exprEditor{};
54 };
55 }
The InspectorWidgetBase class Set the global structuration for an inspected element.
Definition: InspectorWidgetBase.hpp:37
Definition: TriggerCommandFactoryList.hpp:14
Definition: ExpressionEditorWidget.hpp:32
Definition: ExpressionMenu.hpp:15
Definition: TimeSyncModel.hpp:35
Definition: TriggerInspectorWidget.hpp:29
Classes used for making and extending the inspector (default right panel).
Definition: lib/score/widgets/Layout.hpp:27
Main plug-in of score.
Definition: score-plugin-dataflow/Dataflow/PortItem.hpp:14
Base toolkit upon which the software is built.
Definition: Application.cpp:90
Definition: DocumentContext.hpp:18