VR-Forces 5.0.1 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 <vrfplan/rwTriggersList.h>
18 #include <vrvCore/DtStateView.h>
19 #include <vrvCore/DtEntityState.h>
20 
21 namespace makVrv
22 {
23  class DtDe;
24  struct DtEntityState;
25 }
26 
27 class QWidget;
28 
29 namespace makVrf
30 {
31  class DtSimCommandObjectWrapper;
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 selectTrigger(int);
49  virtual void selectTrigger(const DtUUID&);
50  virtual void selectTrigger(DtTriggerStmt*);
51 
52  protected:
53  virtual bool ignoreOperationsCheck() const;
54  virtual void removeTrigger(const DtUUID&);
55  virtual void setPlanIsModified(bool);
56  virtual void triggerWasModified(bool);
57  virtual void renameTrigger(const DtUUID&, const DtString&);
58  virtual void editTrigger(const std::vector<makVrv::DtSimEntry*>& states, const DtUUID&);
59 
61  virtual void setVariables(const DtRwVariableBindings& vars);
62 
63  virtual void objectAdded();
64 
65  virtual DtRwTriggersList* triggers() { return &myTriggers; };
66 
68  virtual void requestPlan(const std::vector<DtUUID>&);
69 
70  virtual void registerPlanCallbacks(const std::vector<DtUUID>& names);
71  virtual void unregisterPlanCallbacks(const std::vector<DtUUID>& names);
72 
73  virtual bool planIsModified() const;
74 
75  virtual void processReceivePlan(const DtUUID&,
76  bool isGlobal, const std::vector<DtSimStatement*>& statements,
77  const DtRwTriggersList&, const DtRwVariableBindings& variables);
78 
79  virtual void processReceiveCurrentStatement(const DtUUID&, bool isGlobal, DtPlanStatus status,
80  bool reselect = true);
81  virtual void processReceivePlanComplete(const DtUUID&, bool isGlobal);
82  virtual void processPlanStatement(const DtUUID&, bool isGlobal, DtPlanStatus status, bool reselect = true);
83 
85  virtual bool isWatching(const DtUUID&) const;
86 
88  virtual void addStatementAfter(DtSimStatement* stmt, const DtPlanListBoxItem* listItem);
89 
91  virtual void addConditional(const DtSimStatement& stmt);
92 
94  virtual void addTrigger(const DtSimStatement& stmt, bool selectNew = true);
95 
98  virtual void planRequestComplete();
99 
100  virtual void planSelectionChanged();
101  virtual void replacePlan();
102 
103  virtual bool deleteStatement(const DtPlanListBoxItem*);
104  virtual void deleteAllStatements();
105 
106  virtual void addSetRequest(const DtSetDataRequest&);
107  virtual void addTaskRequest(const DtSimTask&);
108  virtual void addCommandRequest(DtSimCommand&);
109  virtual void replaceStatement(DtSimStatement* stmt, DtPlanListBoxItem* listItem);
110 
111  virtual bool statementIsEditable(DtSimStatement* stmt) const;
112  virtual void editCurrentPlanStatement(const std::vector<makVrv::DtSimEntry*>&);
113  virtual bool editPlanStatement(const std::vector<makVrv::DtSimEntry*>&, DtSimStatement* stmt);
114  virtual bool editConditionalExpression(int type, const DtSimStatement* simStmt,
115  const DtSimCondExpr* stmt, const std::vector<makVrv::DtSimEntry*>& data, const QString& statementDescription);
116  virtual void editPlanStatementFor(const DtEntityType& t, const DtCreateObjectCommand* simStmt);
117  virtual void editPlanStatementForTacticalGraphic(const DtCreateObjectCommand* simStmt);
118  virtual void editPlanStatementForEntity(const DtCreateObjectCommand* simStmt);
119 
120  virtual void finalizeObjectCreation(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&);
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 { return (myEditing.size() != 0); };
126  virtual void selectExecutingTrigger(int);
127  virtual void selectExecutingTrigger();
128  virtual void cleanupUnusedTriggers(bool showNeverShowAgain = false);
129 
130  protected:
131  virtual void setupTriggers(bool maintainSelection = true);
132  virtual void slot_onDialogDestroyed(QWidget*);
133  virtual void slot_onConditionEditingComplete(const DtSimStatement&);
134 
136  virtual void slot_onEditSimCommandRequest(const DtSimCommandObjectWrapper&);
137 
138  virtual void slot_objectCreateComplete();
139 
141  virtual void cancel(bool force = false);
142 
144  virtual bool isGlobalPlan() const;
145 
146  virtual void planAddedTriggers();
147  virtual void triggersAddedTriggers();
148  virtual void triggerViewStateChanged(bool);
149 
150  virtual void diGuyAnimationsReceived();
151 
152  virtual void slot_scriptedTasksReceived();
153 
154  protected:
160  std::vector<DtUUID> myRegisteredNames;
161  std::set<DtUUID> myRegisteredTriggers;
162  std::set<DtUUID> myExecutingTriggers;
163  std::set<void*> myEditing;
169 
170  typedef boost::unordered_map<DtUUID, makVrv::DtUniqueID> PlanVariables;
172  std::vector<DtUUID> myPlansRequestedFor;
173  };
174 }
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
std::set< void * > myEditing
Definition: editPlanWidgetLogic.h:163
std::set< DtUUID > myExecutingTriggers
Definition: editPlanWidgetLogic.h:162
bool myRequestingPlan
Definition: editPlanWidgetLogic.h:155
std::vector< DtUUID > myPlansRequestedFor
Definition: editPlanWidgetLogic.h:172
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
int myCurrentStatement
Definition: editPlanWidgetLogic.h:157
DtRwTriggersList myTriggers
Definition: editPlanWidgetLogic.h:164
virtual bool editing() const
Definition: editPlanWidgetLogic.h:125
DtSimCommand subclass for creating a new VrfObjects. Used for both single and multi-point objects...
Definition: createObjectCommand.h:36
bool myPlanEditMode
Definition: editPlanWidgetLogic.h:156
Contains makVrv::DtStateView class.
PlanVariables myPlanVariables
Definition: editPlanWidgetLogic.h:171
Definition: planWidgetInterface.h:38
bool myAboutToEditPlanStatement
Definition: editPlanWidgetLogic.h:159
virtual DtRwTriggersList * triggers()
Definition: editPlanWidgetLogic.h:65
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:160
boost::unordered_map< DtUUID, makVrv::DtUniqueID > PlanVariables
Definition: editPlanWidgetLogic.h:170
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
std::set< DtUUID > myRegisteredTriggers
Definition: editPlanWidgetLogic.h:161
Definition: planListBoxItem.h:29
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
DtUUID mySelectTriggerIfShowsUp
Definition: editPlanWidgetLogic.h:166
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:492
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:158
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:70
Definition: triggerStmt.h:60
bool mySentPlan
Definition: editPlanWidgetLogic.h:168
bool myTriggersShown
Definition: editPlanWidgetLogic.h:167
Definition: basePlanWidgetLogic.h:46
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
DtUUID myEditingEntity
Definition: editPlanWidgetLogic.h:165
Instances of DtRwTriggersList are lists of readable, writeable when statements (triggers) The list co...
Definition: rwTriggersList.h:21

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)