VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
editPlanWidgetLogic.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
17 
18 #include <map>
19 
20 namespace makVrv
21 {
22  class DtDe;
23  struct DtEntityState;
24 }
25 
26 class QWidget;
27 
28 namespace makVrf
29 {
30  class DtSimCommandObjectWrapper;
31  class DtPlanStatementItem;
32  class DtGuiLocalObject;
33 
35  {
36  public:
37 
40 
42  virtual ~DtEditPlanWidgetLogic() override;
43 
44  virtual void clearPlanModified();
45  virtual void markPlanModified();
46 
47  virtual void setupGui(const makVrv::DtSelectionManager::IdSet&) override;
48 
49  virtual void removeTrigger(const DtUUID&) override;
50  virtual void editTrigger(const std::set<makVrv::DtUniqueID>& states, const DtUUID&) override;
51 
53  virtual void cleanup() override;
54 
55  protected:
56  virtual bool ignoreOperationsCheck() const;
57  virtual void setPlanIsModified(bool);
58 
60  virtual void setVariables(const DtRwVariableBindings& vars);
61 
62  virtual void objectAdded();
63 
65  virtual void requestPlan(const std::vector<DtUUID>&) override;
66 
67  virtual void registerPlanCallbacks(const std::vector<DtUUID>& names);
68  virtual void unregisterPlanCallbacks(const std::vector<DtUUID>& names);
69 
70  virtual bool planIsModified() const override;
71 
72  virtual void processReceivePlan(const DtUUID&, bool isGlobal, const std::vector<DtSimStatement*>& statements,
73  const DtRwTriggersList&, const DtRwVariableBindings& variables) override;
74 
75  virtual void processReceiveCurrentStatement(
76  const DtUUID&, bool isGlobal, DtPlanStatus status, bool reselect = true) override;
77  virtual void processReceivePlanComplete(const DtUUID&, bool isGlobal) override;
78  virtual void processPlanStatement(
79  const DtUUID&, bool isGlobal, DtPlanStatus status, bool reselect = true) override;
80 
82  virtual bool isWatching(const DtUUID&) const;
83 
85  virtual void addStatementAfter(DtSimStatement* stmt, const DtPlanStatementItem* listItem);
86 
88  virtual void addConditional(const DtSimStatement& stmt) override;
89 
91  virtual void addTrigger(const DtSimStatement& stmt, bool selectNew = true) override;
92 
95  virtual void planRequestComplete();
96 
97  virtual void planSelectionChanged() override;
98  virtual void replacePlan() override;
99 
101  virtual bool deleteStatement(DtPlanStatementItem*) override;
102  virtual void deleteAllStatements() override;
103 
104  virtual void addSetRequest(const DtSetDataRequest&) override;
105  virtual void addTaskRequest(const DtSimTask&) override;
106  virtual void addCommandRequest(DtSimCommand&) override;
107  virtual void replaceStatement(DtSimStatement* stmt, DtPlanStatementItem* listItem);
108 
109  virtual bool statementIsEditable(DtSimStatement* stmt) const;
110  virtual void editCurrentPlanStatement(const std::set<makVrv::DtUniqueID>&) override;
111  virtual void updatePlanLockState() override;
112  virtual bool editPlanStatement(const std::set<makVrv::DtUniqueID>&, DtSimStatement* stmt, bool readOnlyMode = false);
113  virtual bool editConditionalExpression(int type, const DtSimStatement* simStmt,
114  const DtSimCondExpr* stmt, const std::set<makVrv::DtUniqueID>& data, const QString& statementDescription, bool readOnlyMode = false);
115  virtual void editPlanStatementFor(const DtEntityType& t, const DtCreateObjectCommand* simStmt);
116  virtual void editPlanStatementForTacticalGraphic(const DtCreateObjectCommand* simStmt);
117  virtual void editPlanStatementForEntity(const DtCreateObjectCommand* simStmt);
118 
119  virtual void finalizeObjectCreation(
121  virtual void slot_stoppedObjectCreation();
122  virtual void finalizeTacticalGraphicObjectCreation(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&);
123  virtual void finalizeEntityObjectCreation(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&);
124 
125  virtual bool editing() const override { return (myEditing.size() != 0); };
126  virtual void cleanupUnusedTriggers(bool showNeverShowAgain = false) override;
127 
128  protected:
129  virtual void setupTriggers(bool maintainSelection = true);
130  virtual void slot_onDialogDestroyed(QWidget*);
131  virtual void slot_onConditionEditingComplete(const DtSimStatement&);
132 
134  virtual void slot_onEditSimCommandRequest(const DtSimCommandObjectWrapper&);
135 
136  virtual void slot_objectCreateComplete();
137 
139  virtual void cancel(bool force = false) override;
140 
142  virtual bool isGlobalPlan() const;
143 
144  virtual void diGuyAnimationsReceived();
145 
146  virtual void slot_scriptedTasksReceived();
147 
148  protected:
154  std::vector<DtUUID> myRegisteredNames;
155  std::set<void*> myEditing;
158 
160  {
161  std::shared_ptr<DtGuiLocalObject> localData;
163  };
164 
165  typedef std::map<DtUUID, PlanVariable> PlanVariables;
167  std::vector<DtUUID> myPlansRequestedFor;
169  };
170 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
std::set< void * > myEditing
Definition: editPlanWidgetLogic.h:155
Definition: editPlanWidgetLogic.h:159
bool myRequestingPlan
Definition: editPlanWidgetLogic.h:149
std::vector< DtUUID > myPlansRequestedFor
Definition: editPlanWidgetLogic.h:167
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
int myCurrentStatement
Definition: editPlanWidgetLogic.h:151
Definition: planStatementItem.h:35
DtSimCommand subclass for creating a new VrfObjects. Used for both single and multi-point objects...
Definition: createObjectCommand.h:36
bool myPlanEditMode
Definition: editPlanWidgetLogic.h:150
PlanVariables myPlanVariables
Definition: editPlanWidgetLogic.h:166
Definition: planWidgetInterface.h:39
DtSimObjectReference reference
Definition: editPlanWidgetLogic.h:162
bool myAboutToEditPlanStatement
Definition: editPlanWidgetLogic.h:153
virtual bool editing() const override
Definition: editPlanWidgetLogic.h:125
ReaderWriter object that maintains a list of reader-writer variable bindings. It keeps a list of name...
Definition: rwVariableBindings.h:27
std::vector< DtUUID > myRegisteredNames
Definition: editPlanWidgetLogic.h:154
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
DtSimCommand is an abstract base class from which commands can derive. It manages the read/write capa...
Definition: simCommand.h:32
Definition: simCommandObjectWrapper.h:42
std::map< DtUUID, PlanVariable > PlanVariables
Definition: editPlanWidgetLogic.h:165
std::shared_ptr< DtGuiLocalObject > localData
Definition: editPlanWidgetLogic.h:161
DtSimCondExpr is an abstract base class representing various Conditional Expressions used by the Plan...
Definition: simCondExpr.h:53
Small container class that holds the status of a running DtPlan.
Definition: plan.h:45
Definition: vrfObjectManipulationHandlerBaseClass.h:503
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
DtPlanStatus myPlanStatus
Definition: editPlanWidgetLogic.h:152
Definition: editPlanWidgetLogic.h:34
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
bool mySentPlan
Definition: editPlanWidgetLogic.h:157
bool myPlanLockState
Definition: editPlanWidgetLogic.h:168
Definition: basePlanWidgetLogic.h:44
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
DtUUID myEditingEntity
Definition: editPlanWidgetLogic.h:156
Instances of DtRwTriggersList are lists of readable, writeable when statements (triggers) The list co...
Definition: rwTriggersList.h:21

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)