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 
18 
19 #include <matrix/vlVector.h>
20 
21 #include <vrfplan/plan.h>
22 #include <QtCore/QString>
23 
24 namespace makVrv
25 {
26  class DtDe;
27  ;
28 }
29 
30 class DtRwTriggersList;
31 class DtSimBlock;
32 class DtStmtIndex;
33 class DtSetDataRequest;
34 class DtSimTask;
35 class DtSimCommand;
36 class DtSimMessage;
37 class DtEntityType;
38 
39 namespace makVrf
40 {
41  class DtPlanWidgetInterface;
42  class DtPlanStatementItem;
43 
45  {
46 
47  public:
48 
51 
53  virtual ~DtBasePlanWidgetLogic();
54 
56  virtual void requestPlan(const std::vector<DtUUID>&) = 0;
57 
59  virtual bool sendPlan(bool reregister = true) = 0;
60 
61  virtual void planSelectionChanged() = 0;
62 
63  virtual void restartPlan() = 0;
64 
65  virtual void abandonPlan() = 0;
66 
67  virtual void replacePlan() = 0;
68 
69  virtual void setupGui(const makVrv::DtSelectionManager::IdSet&) = 0;
70 
71  virtual bool planIsModified() const = 0;
72 
74  virtual bool deleteStatement(DtPlanStatementItem*) = 0;
75 
76  virtual void deleteAllStatements() = 0;
77 
78  virtual void addSetRequest(const DtSetDataRequest&) = 0;
79 
80  virtual void addTaskRequest(const DtSimTask&) = 0;
81 
82  virtual void addCommandRequest(DtSimCommand&) = 0;
83 
84  virtual void addConditional(const DtSimStatement& stmt) = 0;
85  virtual void addTrigger(const DtSimStatement& stmt, bool andSelect) = 0;
86 
87  virtual void editCurrentPlanStatement(const std::set<makVrv::DtUniqueID>&) = 0;
88 
89  virtual void finalizeObjectCreation(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&) = 0;
90 
91  virtual bool editing() const = 0;
92 
93  virtual bool globalPlan() const;
94 
95  virtual void enableReplacePlan();
96  virtual bool canPastePlan() const;
97 
98  virtual void cleanupUnusedTriggers(bool showNeverShowAgain = false) = 0;
99  virtual void removeTrigger(const DtUUID&) = 0;
100  virtual void editTrigger(const std::set<makVrv::DtUniqueID>& states, const DtUUID&) = 0;
101 
102  virtual void cleanup() = 0;
103 
104  virtual bool planUnlockedByUser() const
105  {
106  return myPlanUnlockedByUser;
107  }
108 
109  virtual bool planLocked() const;
110  virtual void userLockPlan(bool);
111 
112  public:
114  virtual void printPlan();
115 
117  virtual void copySelectedPlanStatement();
118  virtual void copyPlan();
119 
120  virtual void setPlanName(const DtUUID&);
121  virtual const DtUUID& planName() const;
122 
123  virtual void setMarkingTextTitle(const QString&);
124 
126  virtual void cancel(bool force = false);
127 
129  virtual void accept();
130 
133  virtual void connectSignals(const std::set<makVrv::DtUniqueID>& s);
134 
135  virtual void setTitle();
136 
138  virtual DtPlan* plan();
139 
140  virtual void setClosingBecauseObjectRemoved(bool b) { myClosingBecauseObjectRemoved = b; };
141  virtual bool closingBecauseObjectRemoved() const { return myClosingBecauseObjectRemoved; };
142 
143  protected:
144  virtual void receivedPlanCallback(DtSimMessage*);
145 
146  virtual void processReceivePlan(const DtUUID&,
147  bool isGlobal, const std::vector<DtSimStatement*>& statements,
148  const DtRwTriggersList&, const DtRwVariableBindings& variables) = 0;
149 
150  virtual void receivedPlanStatementCallback(DtSimMessage*);
151 
152  virtual void processPlanStatement(const DtUUID&, bool isGlobal, DtPlanStatus status,
153  bool reselect = true) = 0;
154  virtual void processReceiveCurrentStatement(const DtUUID&, bool isGlobal, DtPlanStatus status,
155  bool reselect = true) = 0;
156  virtual void processReceivePlanComplete(const DtUUID&, bool isGlobal) = 0;
157 
161  virtual void addStatementsToPlan(const std::vector<DtSimStatement*>& statements, bool append);
162 
163  virtual void displayPlan();
164  virtual void clearAllStatements();
165 
167  virtual void displayPlanStatusString(DtPlanStatus status);
168 
169  protected:
170  virtual void slot_objectAboutToBeRemoved(DtSimObjectReference);
171  virtual void updatePlanLockState();
172 
173  protected:
177  std::set<makVrv::DtUniqueID> myConnectedTo;
182  bool myPlanUnlockedByUser = false;
183  };
184 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
makVrv::DtDe & myDe
Definition: basePlanWidgetLogic.h:174
makVrv::DtSignalConnectionManager myPlanLockConnections
Definition: basePlanWidgetLogic.h:179
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
Definition: planStatementItem.h:35
bool myIgnoreNextPlanStatementReceipt
Definition: basePlanWidgetLogic.h:181
Contains makVrv:DtSelectionManager class.
makVrv::DtSignalConnectionManager myConnectionManager
Definition: basePlanWidgetLogic.h:178
class DtStmtIndex:
Definition: stmtIndex.h:24
virtual bool planUnlockedByUser() const
Definition: basePlanWidgetLogic.h:104
Definition: planWidgetInterface.h:39
DtPlanWidgetInterface * myInterface
Definition: basePlanWidgetLogic.h:175
std::set< makVrv::DtUniqueID > myConnectedTo
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
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:141
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:503
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:140
bool myClosingBecauseObjectRemoved
Definition: basePlanWidgetLogic.h:180
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
Definition: basePlanWidgetLogic.h:44
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:176

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)