VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 namespace makVrf
28 {
29  class DtSimCommandObjectWrapper;
30 
32  {
33  public:
34 
37 
39  virtual ~DtEditPlanWidgetLogic();
40 
41  virtual void clearPlanModified();
42  virtual void markPlanModified();
43 
44  virtual void setupGui(const makVrv::DtSelectionManager::IdSet&);
45 
46  virtual void selectTrigger(int);
47  virtual void selectTrigger(const DtUUID&);
48  virtual void selectTrigger(DtTriggerStmt*);
49 
50  protected:
51  virtual void removeTrigger(const DtUUID&);
52  virtual void setPlanIsModified(bool);
53  virtual void triggerWasModified(bool);
54  virtual void renameTrigger(const DtUUID&, const DtString&);
55  virtual void editTrigger(const std::vector<makVrv::DtSimEntry*>& states, const DtUUID&);
56 
58  virtual void setVariables(const DtRwVariableBindings& vars);
59 
60  virtual void objectAdded();
61 
62  virtual DtRwTriggersList* triggers() { return &myTriggers; };
63 
65  virtual void requestPlan(const std::vector<DtUUID>&);
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;
71 
72  virtual void processReceivePlan(const DtUUID&,
73  bool isGlobal, const std::vector<DtSimStatement*>& statements,
74  const DtRwTriggersList&, const DtRwVariableBindings& variables);
75 
76  virtual void processReceiveCurrentStatement(const DtUUID&, bool isGlobal, DtPlanStatus status,
77  bool reselect = true);
78  virtual void processReceivePlanComplete(const DtUUID&, bool isGlobal);
79  virtual void processPlanStatement(const DtUUID&, bool isGlobal, DtPlanStatus status, bool reselect = true);
80 
82  virtual bool isWatching(const DtUUID&) const;
83 
85  virtual void addStatementAfter(DtSimStatement* stmt, const DtPlanListBoxItem* listItem);
86 
88  virtual void addConditional(const DtSimStatement& stmt);
89 
91  virtual void addTrigger(const DtSimStatement& stmt, bool selectNew = true);
92 
95  virtual void planRequestComplete();
96 
97  virtual void planSelectionChanged();
98  virtual void replacePlan();
99 
100  virtual bool deleteStatement(const DtPlanListBoxItem*);
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, DtPlanListBoxItem* listItem);
107 
108  virtual bool statementIsEditable(DtSimStatement* stmt) const;
109  virtual void editCurrentPlanStatement(const std::vector<makVrv::DtSimEntry*>&);
110  virtual bool editPlanStatement(const std::vector<makVrv::DtSimEntry*>&, DtSimStatement* stmt);
111  virtual bool editConditionalExpression(int type, const DtSimStatement* simStmt,
112  const DtSimCondExpr* stmt, const std::vector<makVrv::DtSimEntry*>& data, const QString& statementDescription);
113  virtual void editPlanStatementFor(const DtEntityType& t, const DtCreateObjectCommand* simStmt);
114  virtual void editPlanStatementForTacticalGraphic(const DtCreateObjectCommand* simStmt);
115  virtual void editPlanStatementForEntity(const DtCreateObjectCommand* simStmt);
116 
117  virtual void finalizeObjectCreation(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&);
118  virtual void slot_stoppedObjectCreation();
119  virtual void finalizeTacticalGraphicObjectCreation(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&);
120  virtual void finalizeEntityObjectCreation(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&);
121 
122  virtual bool editing() const { return (myEditing.size() != 0); };
123  virtual void selectExecutingTrigger(int);
124  virtual void selectExecutingTrigger();
125  virtual void cleanupUnusedTriggers(bool showNeverShowAgain = false);
126 
127  protected:
128  virtual void setupTriggers(bool maintainSelection = true);
129  virtual void slot_onDialogDestroyed(void*);
130  virtual void slot_onConditionEditingComplete(const DtSimStatement&);
131 
133  virtual void slot_onEditSimCommandRequest(const DtSimCommandObjectWrapper&);
134 
135  virtual void slot_objectCreateComplete();
136 
138  virtual void cancel(bool force = false);
139 
141  virtual bool isGlobalPlan() const;
142 
143  virtual void planAddedTriggers();
144  virtual void triggersAddedTriggers();
145  virtual void triggerViewStateChanged(bool);
146 
147  virtual void diGuyAnimationsReceived();
148 
149  protected:
155  std::vector<DtUUID> myRegisteredNames;
156  std::set<DtUUID> myRegisteredTriggers;
157  std::set<DtUUID> myExecutingTriggers;
158  std::set<void*> myEditing;
164 
165  typedef boost::unordered_map<DtUUID, makVrv::DtUniqueID> PlanVariables;
167  };
168 }

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)