VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfGlobalPlansManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
14 #include <vrfutil/rwUUID.h>
15 #include <vrvCore/DtEntityState.h>
16 #include <vrvCore/DtStateView.h>
19 
20 #include <vrvUtil/signalslib.h>
21 
22 #include <vlpi/simulationAddress.h>
23 
24 #include <QtCore/QObject>
25 
26 namespace makVrv
27 {
28  class DtDe;
29 }
30 
31 class QWidget;
32 class DtSimMessage;
33 class DtSimulationAddress;
34 
35 namespace makVrf
36 {
37  class DtGlobalPlansDialogInterface;
38  class DtEditGlobalPlanWidget;
39  class DtVrfBackendState;
40 
42  {
43  Q_OBJECT
44 
45  public:
46  typedef std::pair<DtUUID, DtSimulationAddress> EditingPlan;
47  typedef std::map<DtEditGlobalPlanWidget*, EditingPlan> EditingPlans;
48 
50  {
55  bool isLaunched;
57  int ordinal;
59  };
60 
61  typedef std::map<makVrv::DtUniqueID, GlobalPlanWithState> GlobalPlanInformation;
62  typedef std::map<std::string, GlobalPlanInformation> GlobalPlans;
63 
64  public:
67 
69  virtual ~DtVrfGlobalPlansManager();
70 
72  static DtVrfGlobalPlansManager& instance(makVrv::DtDe& de);
73 
75  virtual void show(QWidget* parent);
76 
77  virtual DtEditGlobalPlanWidget* editGlobalPlan(const DtUUID& plan, const DtSimulationAddress& simulationAddress, QWidget* parent);
78 
79  virtual void deleteGlobalPlan(const DtUUID& plan, const DtSimulationAddress& simulationAddress);
80 
82  virtual void launchGlobalPlan(const DtUUID& u);
83  virtual void launchGlobalPlan(const makVrv::DtUniqueID& u);
84 
86  virtual bool isGlobalPlan(makVrv::DtUniqueID) const;
87 
89  virtual DtSimulationAddress simulationAddressFor(makVrv::DtUniqueID) const;
90 
91  virtual void requestGlobalPlans();
92 
93  const GlobalPlans& globalPlans() const { return myGlobalPlans; };
94 
95  virtual void globalPlanAdded(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* p);
96  virtual void globalPlanRemoved(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* p);
97 
98  virtual DtString planName(const DtUUID&) const;
99 
100  virtual DtUUID uuidForPlan(makVrv::DtUniqueID) const;
101 
102  virtual bool isQuickLaunch(const DtUUID&) const;
103  virtual int ordinal(const DtUUID&) const;
104  virtual bool showOnQuickLaunchToolbar(const DtUUID&) const;
105  virtual bool isLaunched(const DtUUID&) const;
106  virtual DtString quickLaunchIcon(const DtUUID&) const;
107  virtual int nextOrdinal() const;
108 
109  public:
110 
111  boost::signal<void (DtEditGlobalPlanWidget*, DtUUID, DtSimulationAddress)> signal_globalPlanEditorCreated;
112  boost::signal<void (DtEditGlobalPlanWidget*, DtUUID, DtSimulationAddress)> signal_globalPlanEditorDeleted;
113  boost::signal<void ()> signal_clearGlobalPlans;
114  boost::signal<void (DtUUID, DtSimulationAddress)> signal_globalPlanAdded;
115  boost::signal<void (const GlobalPlanInformation&,
116  const std::string&)> signal_receivedGlobalPlans;
117 
118  protected:
120  virtual void sessionStatusChanged(bool);
121 
122  virtual void scenarioRewound();
123  virtual void scenarioClosed();
124 
125  virtual void slot_backendUpdated(const DtVrfBackendState&, int);
126 
127  virtual void processGlobalPlansResponseCallback(DtSimMessage*);
128 
129  virtual void connectSignals(QWidget*);
130  virtual void disconnectSignals(QWidget*);
131 
132  virtual DtGlobalPlansDialogInterface* createGlobalPlansDialog(QWidget*);
133  virtual DtEditGlobalPlanWidget* createGlobalPlanEditDialog(QWidget*, const DtUUID& p, const DtSimulationAddress& a);
134 
135  virtual void clearGlobalPlans();
136 
137  protected slots:
138  virtual void onGlobalPlanDialogDestroyed();
139 
140  protected:
141 
142  typedef std::map<DtEditGlobalPlanWidget*, GlobalPlanInformation> GlobalPlanInformationMap;
143 
150  };
151 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)