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 #include <vrvCore/DtStateView.h>
18 #include <vrvCore/DtEntityState.h>
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 
34  {
35  public:
36 
39 
41  virtual ~DtEditPlanWidgetLogic();
42 
43  virtual void clearPlanModified();
44  virtual void markPlanModified();
45 
46  virtual void setupGui(const makVrv::DtSelectionManager::IdSet&);
47 
48  virtual void removeTrigger(const DtUUID&);
49  virtual void editTrigger(const std::vector<makVrv::DtSimEntry*>& states, const DtUUID&);
50 
52  virtual void cleanup();
53 
54  protected:
55  virtual bool ignoreOperationsCheck() const;
56  virtual void setPlanIsModified(bool);
57 
59  virtual void setVariables(const DtRwVariableBindings& vars);
60 
61  virtual void objectAdded();
62 
64  virtual void requestPlan(const std::vector<DtUUID>&);
65 
66  virtual void registerPlanCallbacks(const std::vector<DtUUID>& names);
67  virtual void unregisterPlanCallbacks(const std::vector<DtUUID>& names);
68 
69  virtual bool planIsModified() const;
70 
71  virtual void processReceivePlan(const DtUUID&,
72  bool isGlobal, const std::vector<DtSimStatement*>& statements,
73  const DtRwTriggersList&, const DtRwVariableBindings& variables);
74 
75  virtual void processReceiveCurrentStatement(const DtUUID&, bool isGlobal, DtPlanStatus status,
76  bool reselect = true);
77  virtual void processReceivePlanComplete(const DtUUID&, bool isGlobal);
78  virtual void processPlanStatement(const DtUUID&, bool isGlobal, DtPlanStatus status, bool reselect = true);
79 
81  virtual bool isWatching(const DtUUID&) const;
82 
84  virtual void addStatementAfter(DtSimStatement* stmt, const DtPlanStatementItem* listItem);
85 
87  virtual void addConditional(const DtSimStatement& stmt);
88 
90  virtual void addTrigger(const DtSimStatement& stmt, bool selectNew = true);
91 
94  virtual void planRequestComplete();
95 
96  virtual void planSelectionChanged();
97  virtual void replacePlan();
98 
100  virtual bool deleteStatement(DtPlanStatementItem*);
101  virtual void deleteAllStatements();
102 
103  virtual void addSetRequest(const DtSetDataRequest&);
104  virtual void addTaskRequest(const DtSimTask&);
105  virtual void addCommandRequest(DtSimCommand&);
106  virtual void replaceStatement(DtSimStatement* stmt, DtPlanStatementItem* listItem);
107 
108  virtual bool statementIsEditable(DtSimStatement* stmt) const;
109  virtual void editCurrentPlanStatement(const std::vector<makVrv::DtSimEntry*>&);
110  virtual void updatePlanLockState() override;
111  virtual bool editPlanStatement(const std::vector<makVrv::DtSimEntry*>&, DtSimStatement* stmt, bool readOnlyMode = false);
112  virtual bool editConditionalExpression(int type, const DtSimStatement* simStmt,
113  const DtSimCondExpr* stmt, const std::vector<makVrv::DtSimEntry*>& data, const QString& statementDescription, bool readOnlyMode = false);
114  virtual void editPlanStatementFor(const DtEntityType& t, const DtCreateObjectCommand* simStmt);
115  virtual void editPlanStatementForTacticalGraphic(const DtCreateObjectCommand* simStmt);
116  virtual void editPlanStatementForEntity(const DtCreateObjectCommand* simStmt);
117 
118  virtual void finalizeObjectCreation(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&);
119  virtual void slot_stoppedObjectCreation();
120  virtual void finalizeTacticalGraphicObjectCreation(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&);
121  virtual void finalizeEntityObjectCreation(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&);
122 
123  virtual bool editing() const { return (myEditing.size() != 0); };
124  virtual void cleanupUnusedTriggers(bool showNeverShowAgain = false);
125 
126  protected:
127  virtual void setupTriggers(bool maintainSelection = true);
128  virtual void slot_onDialogDestroyed(QWidget*);
129  virtual void slot_onConditionEditingComplete(const DtSimStatement&);
130 
132  virtual void slot_onEditSimCommandRequest(const DtSimCommandObjectWrapper&);
133 
134  virtual void slot_objectCreateComplete();
135 
137  virtual void cancel(bool force = false);
138 
140  virtual bool isGlobalPlan() const;
141 
142  virtual void diGuyAnimationsReceived();
143 
144  virtual void slot_scriptedTasksReceived();
145 
146  protected:
152  std::vector<DtUUID> myRegisteredNames;
153  std::set<void*> myEditing;
156 
157  typedef boost::unordered_map<DtUUID, makVrv::DtUniqueID> PlanVariables;
159  std::vector<DtUUID> myPlansRequestedFor;
161  };
162 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
std::set< void * > myEditing
Definition: editPlanWidgetLogic.h:153
bool myRequestingPlan
Definition: editPlanWidgetLogic.h:147
std::vector< DtUUID > myPlansRequestedFor
Definition: editPlanWidgetLogic.h:159
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
int myCurrentStatement
Definition: editPlanWidgetLogic.h:149
virtual bool editing() const
Definition: editPlanWidgetLogic.h:123
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:148
Contains makVrv::DtStateView class.
PlanVariables myPlanVariables
Definition: editPlanWidgetLogic.h:158
Definition: planWidgetInterface.h:39
bool myAboutToEditPlanStatement
Definition: editPlanWidgetLogic.h:151
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:152
boost::unordered_map< DtUUID, makVrv::DtUniqueID > PlanVariables
Definition: editPlanWidgetLogic.h:157
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
Contains makVrv::DtVrlinkSimulatedEntityState class.
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
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:505
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:150
Definition: editPlanWidgetLogic.h:33
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
bool mySentPlan
Definition: editPlanWidgetLogic.h:155
bool myPlanLockState
Definition: editPlanWidgetLogic.h:160
Definition: basePlanWidgetLogic.h:46
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
DtUUID myEditingEntity
Definition: editPlanWidgetLogic.h:154
Instances of DtRwTriggersList are lists of readable, writeable when statements (triggers) The list co...
Definition: rwTriggersList.h:21

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)