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

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)