VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
scenarioEventManagerDialog.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 #pragma once
7 
8 #if !defined(Q_MOC_RUN)
9 
11 #include "DtScenarioEventManagerDialogUI.hpp"
17 #endif
18 
19 #include <boost/signals2.hpp>
20 
21 #include <QDialog>
22 #include <QTreeWidget>
23 
24 class QTreeWidget;
25 class DtRwScenarioEvent;
26 class DtUUID;
27 
28 namespace makVrf
29 {
32  {
33  public:
36 
38  virtual ~DtScenarioEventManagerTreeWidget() override;
39 
40  boost::signals2::signal<void (const DtUUID&)> signal_startEvent;
41  boost::signals2::signal<void (const DtUUID&)> signal_stopEvent;
42  boost::signals2::signal<void (const DtUUID&)> signal_resetEvent;
43  boost::signals2::signal<void (const DtUUID&, bool)> signal_setEventEnabled;
44 
45  protected:
46  virtual void mousePressEvent(QMouseEvent* event) override;
47  };
48 
51  {
52  public:
54  virtual ~DtScenarioEventManagerTreeWidgetItem() override;
55 
56  virtual bool operator<(const QTreeWidgetItem& other) const override;
57  virtual QVariant data(int col, int role) const override;
58  };
59 
64  {
65  Q_OBJECT
66 
67  public:
68  //CTOR
69  DtScenarioEventManagerDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
70 
71  //DTOR
72  virtual ~DtScenarioEventManagerDialog() override;
73 
74  //Selects the scenario event given, if the id exists
75  virtual void selectScenarioEvent(makVrv::DtElementID);
76 
77  protected:
79  void setupGui();
80  void initConnections();
81 
83  virtual makVrv::DtElementID idFromItem(QTreeWidgetItem*) const;
84 
85  virtual void selectionChanged(const makVrv::DtSelectionManager::IdSet& selected, const makVrv::DtSelectionManager::IdSet& deselected);
86 
87  virtual void editingOrCreateChanged();
88 
90  virtual void slot_onStartEvent(const DtUUID&);
91 
93  virtual void slot_onResetEvent(const DtUUID&);
94 
96  virtual void slot_onStopEvent(const DtUUID&);
97 
99  virtual void slot_onSetEventEnabled(const DtUUID&, bool);
100 
102  virtual QString startTimeString(const DtRwScenarioEvent&) const;
103 
105  virtual void slot_updated(DtSimObjectReference);
106 
108  virtual void slot_removed(DtSimObjectReference);
109 
111  virtual void resolveLinkedEvents();
112 
113  virtual void updateMainIconForTheme(makVrv::DtUniqueID);
114  virtual void updateMainIconsForTheme();
115 
116  virtual void filterEvents();
117  virtual void filterEvent(QTreeWidgetItem*);
118 
119  protected slots:
121  virtual void itemClicked(QTreeWidgetItem*);
122 
124  virtual void itemDoubleClicked(QTreeWidgetItem*);
125 
127  virtual void createScenarioEvent();
128  virtual void createIntelligenceObject();
129 
131  virtual void deleteScenarioEvent();
132 
134  virtual void editScenarioEvent();
135 
137  virtual void updateButtons(QTreeWidgetItem*);
138 
139  virtual void dateAndTimeFormatChanged();
140 
141  protected:
146 
147  typedef std::map<makVrv::DtElementID, DtThemedTreeWidgetItem*> ScenarioEventsItemsMap;
149  std::map<DtUUID, std::set<makVrv::DtUniqueID> > myAwaitingScenarioEvents;
151 
152  public:
153  Ui_DtScenarioEventManagerDialogUI myUiImpl;
155  };
156 
159  {
160  public:
162  virtual ~DtScenarioEventManagerDialogCreator() override;
163 
165  static void registerInstance(makVrv::DtDe&, DtScenarioEventManagerDialogCreator*);
166 
167  virtual DtScenarioEventManagerDialog* create(makVrv::DtDe&, QWidget* parent, const Qt::WindowFlags& f = 0);
168 
169  protected:
172  };
173 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
bool myInCreationMode
Definition: scenarioEventManagerDialog.h:145
boost::signals2::signal< void(const DtUUID &)> signal_stopEvent
Definition: scenarioEventManagerDialog.h:41
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
makVrv::DtDe & myDe
Definition: scenarioEventManagerDialog.h:142
Creator class. Register a subclass of this to return your own version of the DtScenarioEventManagerDi...
Definition: scenarioEventManagerDialog.h:158
Contains makVrv:DtSelectionManager class.
For ID sorting numerically.
Definition: scenarioEventManagerDialog.h:50
DtScenarioEventManagerTreeWidget * myTreeWidget
Definition: scenarioEventManagerDialog.h:154
virtual ~DtScenarioEventManagerTreeWidgetItem() override
virtual QVariant data(int col, int role) const override
DtScenarioEventManagerTreeWidget class implemented for mouse down on icon.
Definition: scenarioEventManagerDialog.h:31
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
ScenarioEventsItemsMap myScenarioEvents
Definition: scenarioEventManagerDialog.h:148
boost::signals2::signal< void(const DtUUID &, bool)> signal_setEventEnabled
Definition: scenarioEventManagerDialog.h:43
DtScenarioEventManagerTreeWidgetItem(makVrv::DtDe &, QTreeWidget *)
DtScenarioEventManagerDialog.
Definition: scenarioEventManagerDialog.h:63
Contains makVrv::DtVirtualBaseClass class.
Ui_DtScenarioEventManagerDialogUI myUiImpl
Definition: scenarioEventManagerDialog.h:153
std::map< makVrv::DtElementID, DtThemedTreeWidgetItem * > ScenarioEventsItemsMap
Definition: scenarioEventManagerDialog.h:147
boost::signals2::signal< void(const DtUUID &)> signal_resetEvent
Definition: scenarioEventManagerDialog.h:42
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
virtual bool operator<(const QTreeWidgetItem &other) const override
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
QPixmap myGrayscaleImage
Definition: scenarioEventManagerDialog.h:150
The DtRwScenarioEvent class will define the contents of a scenario event and it&#39;s current status...
Definition: rwScenarioEvent.h:68
Allows for setting of icons that will switch with the theme.
Definition: treeWidget.h:190
Base class to provide boost signal/slot management.
boost::signals2::signal< void(const DtUUID &)> signal_startEvent
Definition: scenarioEventManagerDialog.h:40
makVrv::DtSignalConnectionManager myConnectionManager
Definition: scenarioEventManagerDialog.h:143
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
DtScenarioEventManagerDialog * myDialog
Only create once.
Definition: scenarioEventManagerDialog.h:171
std::map< DtUUID, std::set< makVrv::DtUniqueID > > myAwaitingScenarioEvents
Definition: scenarioEventManagerDialog.h:149
makVrv::DtSignalConnectionManager mySelectionSignals
Definition: scenarioEventManagerDialog.h:144
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)