VR-Forces 5.0.2 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"
14 #include <vrvCore/DtStateView.h>
18 #endif
19 
20 #include <boost/signals2.hpp>
21 
22 #include <QDialog>
23 #include <QTreeWidget>
24 
25 class QTreeWidget;
26 class DtRwScenarioEvent;
27 class DtUUID;
28 
29 namespace makVrf
30 {
33  {
34  public:
37 
40 
41  boost::signals2::signal<void (const DtUUID&)> signal_startEvent;
42  boost::signals2::signal<void (const DtUUID&)> signal_stopEvent;
43  boost::signals2::signal<void (const DtUUID&)> signal_resetEvent;
44  boost::signals2::signal<void (const DtUUID&, bool)> signal_setEventEnabled;
45 
46  protected:
47  virtual void mousePressEvent(QMouseEvent *event);
48  };
49 
52  {
53  public:
56 
57  virtual bool operator<(const QTreeWidgetItem& other) const;
58  virtual QVariant data(int col, int role) const;
59  };
60 
65  {
66  Q_OBJECT
67 
68  public:
69  //CTOR
70  DtScenarioEventManagerDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
71 
72  //DTOR
74 
75  //Selects the scenario event given, if the id exists
76  virtual void selectScenarioEvent(makVrv::DtElementID);
77 
78  protected:
80  void setupGui();
81  void initConnections();
82 
84  virtual makVrv::DtElementID idFromItem(QTreeWidgetItem*) const;
85 
86  virtual void selectionChanged(const makVrv::DtSelectionManager::IdSet& selected, const makVrv::DtSelectionManager::IdSet& deselected);
87 
88  virtual void editingOrCreateChanged();
89 
91  virtual void slot_onStartEvent(const DtUUID&);
92 
94  virtual void slot_onResetEvent(const DtUUID&);
95 
97  virtual void slot_onStopEvent(const DtUUID&);
98 
100  virtual void slot_onSetEventEnabled(const DtUUID&, bool);
101 
103  virtual QString startTimeString(const DtRwScenarioEvent&) const;
104 
107 
109  virtual void slot_removed(makVrv::DtElementID);
110 
112  virtual void slot_scenarioEventStarted(makVrv::DtElementID);
113 
115  virtual void slot_scenarioEventStopped(makVrv::DtElementID);
116 
118  virtual void resolveLinkedEvents();
119 
120  virtual void updateMainIconForTheme(makVrv::DtUniqueID);
121  virtual void updateMainIconsForTheme();
122 
123  protected slots:
125  virtual void itemClicked(QTreeWidgetItem*);
126 
128  virtual void itemDoubleClicked(QTreeWidgetItem*);
129 
131  virtual void createScenarioEvent();
132  virtual void createIntelligenceObject();
133 
135  virtual void deleteScenarioEvent();
136 
138  virtual void editScenarioEvent();
139 
141  virtual void updateButtons(QTreeWidgetItem*);
142 
143  virtual void dateAndTimeFormatChanged();
144 
145  protected:
150 
151  typedef std::map<makVrv::DtElementID, DtThemedTreeWidgetItem*> ScenarioEventsItemsMap;
153  std::map<DtUUID, std::set<makVrv::DtUniqueID> > myAwaitingScenarioEvents;
155 
156  public:
157  Ui_DtScenarioEventManagerDialogUI myUiImpl;
159  };
160 
163  {
164  public:
167 
169  static void registerInstance(makVrv::DtDe&, DtScenarioEventManagerDialogCreator*);
170 
171  virtual DtScenarioEventManagerDialog* create(makVrv::DtDe&, QWidget* parent, const Qt::WindowFlags& f = 0);
172 
173  protected:
176  };
177 }
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
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:149
boost::signals2::signal< void(const DtUUID &)> signal_stopEvent
Definition: scenarioEventManagerDialog.h:42
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
virtual QVariant data(int col, int role) const
makVrv::DtDe & myDe
Definition: scenarioEventManagerDialog.h:146
Creator class. Register a subclass of this to return your own version of the DtScenarioEventManagerDi...
Definition: scenarioEventManagerDialog.h:162
virtual bool operator<(const QTreeWidgetItem &other) const
Contains makVrv:DtSelectionManager class.
Contains makVrv::DtStateView class.
For ID sorting numerically.
Definition: scenarioEventManagerDialog.h:51
DtScenarioEventManagerTreeWidget * myTreeWidget
Definition: scenarioEventManagerDialog.h:158
DtScenarioEventManagerTreeWidget class implemented for mouse down on icon.
Definition: scenarioEventManagerDialog.h:32
ScenarioEventsItemsMap myScenarioEvents
Definition: scenarioEventManagerDialog.h:152
boost::signals2::signal< void(const DtUUID &, bool)> signal_setEventEnabled
Definition: scenarioEventManagerDialog.h:44
DtScenarioEventManagerTreeWidgetItem(makVrv::DtDe &, QTreeWidget *)
DtScenarioEventManagerDialog.
Definition: scenarioEventManagerDialog.h:64
Contains makVrv::DtVirtualBaseClass class.
Ui_DtScenarioEventManagerDialogUI myUiImpl
Definition: scenarioEventManagerDialog.h:157
std::map< makVrv::DtElementID, DtThemedTreeWidgetItem * > ScenarioEventsItemsMap
Definition: scenarioEventManagerDialog.h:151
boost::signals2::signal< void(const DtUUID &)> signal_resetEvent
Definition: scenarioEventManagerDialog.h:43
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
QPixmap myGrayscaleImage
Definition: scenarioEventManagerDialog.h:154
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:41
makVrv::DtSignalConnectionManager myConnectionManager
Definition: scenarioEventManagerDialog.h:147
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:70
DtScenarioEventManagerDialog * myDialog
Only create once.
Definition: scenarioEventManagerDialog.h:175
std::map< DtUUID, std::set< makVrv::DtUniqueID > > myAwaitingScenarioEvents
Definition: scenarioEventManagerDialog.h:153
makVrv::DtSignalConnectionManager mySelectionSignals
Definition: scenarioEventManagerDialog.h:148
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)