VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
quickLaunchWidget.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
11 
12 #pragma once
13 
14 #if !defined(Q_MOC_RUN)
17 #include <vrvCoreQt/DtPage.h>
21 #include <vrvCore/DtUniqueID.h>
22 #endif
23 #include <boost/signals2.hpp>
24 
25 #include <QtWidgets/QWidget>
26 #include <QtWidgets/QToolBar>
27 
28 class QHBoxLayout;
29 class QLabel;
30 class QToolButton;
31 class QVBoxLayout;
32 class QScrollArea;
33 class QSpacerItem;
34 
35 namespace makVrv
36 {
37  class DtDe;
38 }
39 
40 class QTimer;
41 
42 namespace makVrf
43 {
45  {
46  Q_OBJECT
47  public:
49  DtQuickLaunchWidget( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0);
50 
52  virtual ~DtQuickLaunchWidget() override;
53 
55  virtual QIcon icon() override;
56 
59  virtual makVrv::DtQIconConfigurations qIconConfigurations() const override;
60 
62  virtual QString title() override;
63 
65  virtual const std::string& pageClassName() const override;
66 
67  protected:
69  virtual void setupUi();
70  virtual void init();
71 
72  virtual void initializeScenarioEvents();
73  virtual void scenarioEventRemoved(DtSimObjectReference);
74  virtual void scenarioEventStarted(DtSimObjectReference);
75  virtual void scenarioEventStopped(DtSimObjectReference);
76  virtual void scenarioEventUpdated(DtSimObjectReference);
77 
78  virtual void removeFromOrdinalOrder(QToolButton* b);
79 
80  virtual void initializeGlobalPlans();
81  virtual void clearGlobalPlans();
82  virtual void receivedGlobalPlans(const DtVrfGlobalPlansManager::GlobalPlanInformation&,
83  const std::string&);
84  virtual void addQuickLaunchPlan(const DtUUID&,
85  const DtVrfGlobalPlansManager::GlobalPlanWithState&, const std::string& server);
86  virtual void removeQuickLaunchPlan(const DtUUID&);
87 
88  virtual void positionButton(int ordinal, QToolButton*);
89  virtual void updateEventButtonStatus(QToolButton* button, const DtRwScenarioEvent& evt);
90 
91  virtual void scenarioEventOptionsChanged();
92 
93  virtual bool anyValidQuickLaunchEvents() const;
94  virtual void activate() override;
95  virtual void deactivate() override;
96 
97  protected slots:
98  virtual void changeEventStatus();
99  virtual void launchGlobalPlan();
100 
101  public:
102  QVBoxLayout* myMainLayout;
107  QSpacerItem* myQuickLaunchSpacer;
108 
110  {
111  std::string image;
113  };
114 
116  {
117  std::string image;
119  std::string server;
120  };
121 
122  typedef std::map<makVrv::DtUniqueID, QuickLaunchData> QuickLaunchEvents;
124 
125  typedef std::map<DtUUID, QuickLaunchPlanData> QuickLaunchPlans;
127 
128  typedef std::map<int, std::vector<QToolButton*> > OrdinalOrder;
130 
131  protected:
133  bool myActivated = false;
134  };
135 
138  {
139  public:
140 
143 
145  virtual ~DtQuickLaunchWidgetCreator() override;
146 
150  virtual std::string pageClassName() const override;
151 
153  virtual makVrv::DtPage* create(QWidget* parent = 0, Qt::WindowFlags f = 0) override;
154  };
155 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
QScrollArea * myQuickLaunchCanvasScrollArea
Definition: quickLaunchWidget.h:106
std::string server
Definition: quickLaunchWidget.h:119
Contains makVrv::DtWidgetBuilder class.
std::map< int, std::vector< QToolButton * > > OrdinalOrder
Definition: quickLaunchWidget.h:128
Contains makVrv::DtPage class declaration.
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
std::map< makVrv::DtUniqueID, QuickLaunchData > QuickLaunchEvents
Definition: quickLaunchWidget.h:122
QuickLaunchEvents myQuickLaunchEvents
Definition: quickLaunchWidget.h:123
The page creator. This class should be extended by all page classes.
Definition: DtPage.h:152
QSpacerItem * myQuickLaunchSpacer
Definition: quickLaunchWidget.h:107
QuickLaunchPlans myQuickLaunchPlans
Definition: quickLaunchWidget.h:126
OrdinalOrder myOrdinalOrder
Definition: quickLaunchWidget.h:129
Definition: quickLaunchWidget.h:109
QToolButton * button
Definition: quickLaunchWidget.h:112
QVBoxLayout * myMainLayout
Definition: quickLaunchWidget.h:102
QLabel * myNoQuickLaunchEventsLabel
Definition: quickLaunchWidget.h:103
QWidget * myQuickLaunchCanvas
Definition: quickLaunchWidget.h:104
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
The page is a single widget component which is viewed in a page collection.
Definition: DtPage.h:51
QToolButton * button
Definition: quickLaunchWidget.h:118
Definition: quickLaunchWidget.h:115
Definition: quickLaunchWidget.h:44
The DtRwScenarioEvent class will define the contents of a scenario event and it&#39;s current status...
Definition: rwScenarioEvent.h:68
QVBoxLayout * myQuickLaunchCanvasLayout
Definition: quickLaunchWidget.h:105
Base class to provide boost signal/slot management.
std::map< DtUUID, GlobalPlanWithState > GlobalPlanInformation
Definition: vrfGlobalPlansManager.h:83
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
std::string image
Definition: quickLaunchWidget.h:117
The creator class needed to be used to create a DtQuickLaunchWidget.
Definition: quickLaunchWidget.h:137
Contains makVrv::DtUniqueID type.
std::map< DtUUID, QuickLaunchPlanData > QuickLaunchPlans
Definition: quickLaunchWidget.h:125
std::string image
Definition: quickLaunchWidget.h:111
makVrv::DtSignalConnectionManager myConnections
Definition: quickLaunchWidget.h:132
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
A collection of icon configurations. The collection maintains flags indicating whether to generate ic...
Definition: DtQIconConfiguration.h:131
Definition: vrfGlobalPlansManager.h:57

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)