VR-Forces 4.8 Class Documentation
 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 void removeTrigger(const DtUUID&);
54  virtual void setPlanIsModified(bool);
55  virtual void triggerWasModified(bool);
56  virtual void renameTrigger(const DtUUID&, const DtString&);
57  virtual void editTrigger(const std::vector<makVrv::DtSimEntry*>& states, const DtUUID&);
58 
60  virtual void setVariables(const DtRwVariableBindings& vars);
61 
62  virtual void objectAdded();
63 
64  virtual DtRwTriggersList* triggers() { return &myTriggers; };
65 
67  virtual void requestPlan(const std::vector<DtUUID>&);
68 
69  virtual void registerPlanCallbacks(const std::vector<DtUUID>& names);
70  virtual void unregisterPlanCallbacks(const std::vector<DtUUID>& names);
71 
72  virtual bool planIsModified() const;
73 
74  virtual void processReceivePlan(const DtUUID&,
75  bool isGlobal, const std::vector<DtSimStatement*>& statements,
76  const DtRwTriggersList&, const DtRwVariableBindings& variables);
77 
78  virtual void processReceiveCurrentStatement(const DtUUID&, bool isGlobal, DtPlanStatus status,
79  bool reselect = true);
80  virtual void processReceivePlanComplete(const DtUUID&, bool isGlobal);
81  virtual void processPlanStatement(const DtUUID&, bool isGlobal, DtPlanStatus status, bool reselect = true);
82 
84  virtual bool isWatching(const DtUUID&) const;
85 
87  virtual void addStatementAfter(DtSimStatement* stmt, const DtPlanListBoxItem* listItem);
88 
90  virtual void addConditional(const DtSimStatement& stmt);
91 
93  virtual void addTrigger(const DtSimStatement& stmt, bool selectNew = true);
94 
97  virtual void planRequestComplete();
98 
99  virtual void planSelectionChanged();
100  virtual void replacePlan();
101 
102  virtual bool deleteStatement(const DtPlanListBoxItem*);
103  virtual void deleteAllStatements();
104 
105  virtual void addSetRequest(const DtSetDataRequest&);
106  virtual void addTaskRequest(const DtSimTask&);
107  virtual void addCommandRequest(DtSimCommand&);
108  virtual void replaceStatement(DtSimStatement* stmt, DtPlanListBoxItem* listItem);
109 
110  virtual bool statementIsEditable(DtSimStatement* stmt) const;
111  virtual void editCurrentPlanStatement(const std::vector<makVrv::DtSimEntry*>&);
112  virtual bool editPlanStatement(const std::vector<makVrv::DtSimEntry*>&, DtSimStatement* stmt);
113  virtual bool editConditionalExpression(int type, const DtSimStatement* simStmt,
114  const DtSimCondExpr* stmt, const std::vector<makVrv::DtSimEntry*>& data, const QString& statementDescription);
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(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&);
120  virtual void slot_stoppedObjectCreation();
121  virtual void finalizeTacticalGraphicObjectCreation(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&);
122  virtual void finalizeEntityObjectCreation(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&);
123 
124  virtual bool editing() const { return (myEditing.size() != 0); };
125  virtual void selectExecutingTrigger(int);
126  virtual void selectExecutingTrigger();
127  virtual void cleanupUnusedTriggers(bool showNeverShowAgain = false);
128 
129  protected:
130  virtual void setupTriggers(bool maintainSelection = true);
131  virtual void slot_onDialogDestroyed(QWidget*);
132  virtual void slot_onConditionEditingComplete(const DtSimStatement&);
133 
135  virtual void slot_onEditSimCommandRequest(const DtSimCommandObjectWrapper&);
136 
137  virtual void slot_objectCreateComplete();
138 
140  virtual void cancel(bool force = false);
141 
143  virtual bool isGlobalPlan() const;
144 
145  virtual void planAddedTriggers();
146  virtual void triggersAddedTriggers();
147  virtual void triggerViewStateChanged(bool);
148 
149  virtual void diGuyAnimationsReceived();
150 
151  virtual void slot_scriptedTasksReceived();
152 
153  protected:
159  std::vector<DtUUID> myRegisteredNames;
160  std::set<DtUUID> myRegisteredTriggers;
161  std::set<DtUUID> myExecutingTriggers;
162  std::set<void*> myEditing;
168 
169  typedef boost::unordered_map<DtUUID, makVrv::DtUniqueID> PlanVariables;
171  std::vector<DtUUID> myPlansRequestedFor;
172  };
173 }
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
std::set< void * > myEditing
Definition: editPlanWidgetLogic.h:162
std::set< DtUUID > myExecutingTriggers
Definition: editPlanWidgetLogic.h:161
bool myRequestingPlan
Definition: editPlanWidgetLogic.h:154
std::vector< DtUUID > myPlansRequestedFor
Definition: editPlanWidgetLogic.h:171
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
int myCurrentStatement
Definition: editPlanWidgetLogic.h:156
DtRwTriggersList myTriggers
Definition: editPlanWidgetLogic.h:163
virtual bool editing() const
Definition: editPlanWidgetLogic.h:124
DtSimCommand subclass for creating a new VrfObjects.
Definition: createObjectCommand.h:36
bool myPlanEditMode
Definition: editPlanWidgetLogic.h:155
Contains makVrv::DtStateView class.
PlanVariables myPlanVariables
Definition: editPlanWidgetLogic.h:170
Definition: planWidgetInterface.h:36
bool myAboutToEditPlanStatement
Definition: editPlanWidgetLogic.h:158
virtual DtRwTriggersList * triggers()
Definition: editPlanWidgetLogic.h:64
ReaderWriter object that maintains a list of reader-writer variable bindings.
Definition: rwVariableBindings.h:27
std::vector< DtUUID > myRegisteredNames
Definition: editPlanWidgetLogic.h:159
boost::unordered_map< DtUUID, makVrv::DtUniqueID > PlanVariables
Definition: editPlanWidgetLogic.h:169
DtSetDataRequest is an abstract base class from which real setDataRequests can derive.
Definition: setDataRequest.h:40
std::set< DtUUID > myRegisteredTriggers
Definition: editPlanWidgetLogic.h:160
Definition: planListBoxItem.h:23
Contains makVrv::DtEntityState class.
DtSimCommand is an abstract base class from which commands can derive.
Definition: simCommand.h:32
Definition: simCommandObjectWrapper.h:44
DtUUID mySelectTriggerIfShowsUp
Definition: editPlanWidgetLogic.h:165
DtSimCondExpr is an abstract base class representing various Conditional Expressions used by the Plan...
Definition: simCondExpr.h:49
Small container class that holds the status of a running DtPlan.
Definition: plan.h:50
Definition: vrfObjectManipulationHandlerBaseClass.h:477
class DtSimStatement:
Definition: simStatement.h:41
DtSimTask is an abstract base class from which real tasks can derive.
Definition: simTask.h:33
DtPlanStatus myPlanStatus
Definition: editPlanWidgetLogic.h:157
Definition: editPlanWidgetLogic.h:33
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Definition: triggerStmt.h:58
bool mySentPlan
Definition: editPlanWidgetLogic.h:167
bool myTriggersShown
Definition: editPlanWidgetLogic.h:166
Definition: basePlanWidgetLogic.h:45
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
DtUUID myEditingEntity
Definition: editPlanWidgetLogic.h:164
Instances of DtRwTriggersList are lists of readable, writeable when statements (triggers) The list co...
Definition: rwTriggersList.h:21

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)