VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
basePlanWidgetLogic.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
16 
20 
21 #include <matrix/vlVector.h>
22 
23 #include <vrfplan/plan.h>
24 #include <QtCore/QString>
25 
26 namespace makVrv
27 {
28  class DtDe;
29  class DtSimEntry;
30 }
31 
32 class DtRwTriggersList;
33 class DtSimBlock;
34 class DtStmtIndex;
35 class DtSetDataRequest;
36 class DtSimTask;
37 class DtSimCommand;
38 class DtSimMessage;
39 class DtEntityType;
40 
41 namespace makVrf
42 {
43  class DtPlanWidgetInterface;
44  class DtPlanStatementItem;
45 
47  {
48 
49  public:
50 
53 
55  virtual ~DtBasePlanWidgetLogic();
56 
58  virtual void requestPlan(const std::vector<DtUUID>&) = 0;
59 
61  virtual bool sendPlan(bool reregister = true) = 0;
62 
63  virtual void planSelectionChanged() = 0;
64 
65  virtual void restartPlan() = 0;
66 
67  virtual void abandonPlan() = 0;
68 
69  virtual void replacePlan() = 0;
70 
71  virtual void setupGui(const makVrv::DtSelectionManager::IdSet&) = 0;
72 
73  virtual bool planIsModified() const = 0;
74 
76  virtual bool deleteStatement(DtPlanStatementItem*) = 0;
77 
78  virtual void deleteAllStatements() = 0;
79 
80  virtual void addSetRequest(const DtSetDataRequest&) = 0;
81 
82  virtual void addTaskRequest(const DtSimTask&) = 0;
83 
84  virtual void addCommandRequest(DtSimCommand&) = 0;
85 
86  virtual void addConditional(const DtSimStatement& stmt) = 0;
87  virtual void addTrigger(const DtSimStatement& stmt, bool andSelect) = 0;
88 
89  virtual void editCurrentPlanStatement(const std::vector<makVrv::DtSimEntry*>&) = 0;
90 
91  virtual void finalizeObjectCreation(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&) = 0;
92 
93  virtual bool editing() const = 0;
94 
95  virtual bool globalPlan() const;
96 
97  virtual void enableReplacePlan();
98  virtual bool canPastePlan() const;
99 
100  virtual void cleanupUnusedTriggers(bool showNeverShowAgain = false) = 0;
101  virtual void removeTrigger(const DtUUID&) = 0;
102  virtual void editTrigger(const std::vector<makVrv::DtSimEntry*>& states, const DtUUID&) = 0;
103 
104  virtual void cleanup() = 0;
105 
106  virtual bool planUnlockedByUser() const
107  {
108  return myPlanUnlockedByUser;
109  }
110 
111  virtual bool planLocked() const;
112  virtual void userLockPlan(bool);
113 
114  public:
116  virtual void printPlan();
117 
119  virtual void copySelectedPlanStatement();
120  virtual void copyPlan();
121 
122  virtual void setPlanName(const DtUUID&);
123  virtual const DtUUID& planName() const;
124 
125  virtual void setMarkingTextTitle(const QString&);
126 
128  virtual void cancel(bool force = false);
129 
131  virtual void accept();
132 
135  virtual void connectSignals(const std::vector<makVrv::DtSimEntry*>& s);
136 
137  virtual void setTitle();
138 
140  virtual DtPlan* plan();
141 
142  virtual void setClosingBecauseObjectRemoved(bool b) { myClosingBecauseObjectRemoved = b; };
143  virtual bool closingBecauseObjectRemoved() const { return myClosingBecauseObjectRemoved; };
144 
145  protected:
146  virtual void receivedPlanCallback(DtSimMessage*);
147 
148  virtual void processReceivePlan(const DtUUID&,
149  bool isGlobal, const std::vector<DtSimStatement*>& statements,
150  const DtRwTriggersList&, const DtRwVariableBindings& variables) = 0;
151 
152  virtual void receivedPlanStatementCallback(DtSimMessage*);
153 
154  virtual void processPlanStatement(const DtUUID&, bool isGlobal, DtPlanStatus status,
155  bool reselect = true) = 0;
156  virtual void processReceiveCurrentStatement(const DtUUID&, bool isGlobal, DtPlanStatus status,
157  bool reselect = true) = 0;
158  virtual void processReceivePlanComplete(const DtUUID&, bool isGlobal) = 0;
159 
163  virtual void addStatementsToPlan(const std::vector<DtSimStatement*>& statements, bool append);
164 
165  virtual void displayPlan();
166  virtual void clearAllStatements();
167 
169  virtual void displayPlanStatusString(DtPlanStatus status);
170 
171  protected:
172  virtual void slot_objectAboutToBeRemoved(makVrv::DtSimObjectEntry&);
173  virtual void updatePlanLockState();
174 
175  protected:
179  std::vector<makVrv::DtSimEntry*> myConnectedTo;
184  bool myPlanUnlockedByUser = false;
185  };
186 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
makVrv::DtDe & myDe
Definition: basePlanWidgetLogic.h:176
makVrv::DtSignalConnectionManager myPlanLockConnections
Definition: basePlanWidgetLogic.h:181
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
Definition: planStatementItem.h:35
bool myIgnoreNextPlanStatementReceipt
Definition: basePlanWidgetLogic.h:183
std::vector< makVrv::DtSimEntry * > myConnectedTo
Definition: basePlanWidgetLogic.h:179
Contains makVrv:DtSelectionManager class.
makVrv::DtSignalConnectionManager myConnectionManager
Definition: basePlanWidgetLogic.h:180
class DtStmtIndex:
Definition: stmtIndex.h:24
virtual bool planUnlockedByUser() const
Definition: basePlanWidgetLogic.h:106
Definition: planWidgetInterface.h:39
DtPlanWidgetInterface * myInterface
Definition: basePlanWidgetLogic.h:177
ReaderWriter object that maintains a list of reader-writer variable bindings. It keeps a list of name...
Definition: rwVariableBindings.h:27
class DtSimBlock:
Definition: simBlock.h:27
DtSetDataRequest is an abstract base class from which real setDataRequests can derive. It manages the read/write capability; derived classes need only use and register read/writatble data types for derived information.
Definition: setDataRequest.h:41
A DtSimObjectEntry is an entry for a persistent simulation object like an entity. ...
Definition: DtSimObjectEntry.h:22
Contains makVrv::DtSimObjectEntry class.
File: simMsg.h.
Definition: simMessage.h:35
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
virtual bool closingBecauseObjectRemoved() const
Definition: basePlanWidgetLogic.h:143
DtSimCommand is an abstract base class from which commands can derive. It manages the read/write capa...
Definition: simCommand.h:32
class DtPlan:
Definition: plan.h:92
Small container class that holds the status of a running DtPlan.
Definition: plan.h:45
Definition: vrfObjectManipulationHandlerBaseClass.h:505
Base class to provide boost signal/slot management.
class DtSimStatement:
Definition: simStatement.h:38
DtSimTask is an abstract base class from which real tasks can derive. It manages the read/write capab...
Definition: simTask.h:30
virtual void setClosingBecauseObjectRemoved(bool b)
Definition: basePlanWidgetLogic.h:142
bool myClosingBecauseObjectRemoved
Definition: basePlanWidgetLogic.h:182
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:72
Definition: basePlanWidgetLogic.h:46
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
Instances of DtRwTriggersList are lists of readable, writeable when statements (triggers) The list co...
Definition: rwTriggersList.h:21
DtUUID myName
Definition: basePlanWidgetLogic.h:178

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)