![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtEditPlanWidgetLogic.h,v $ $Revision: 1.3 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00013 00014 #pragma once 00015 00016 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00017 #include <vrfGuiCoreQt/DtBasePlanWidgetLogic.h> 00018 #include <vrfGuiCoreQt/DtPlanCommandSignaler.h> 00019 #include <vrfplan/createObjectCommand.h> 00020 00021 namespace makVrv 00022 { 00023 class DtDe; 00024 struct DtEntityState; 00025 } 00026 00027 namespace makVrf 00028 { 00029 class DtSimCommandObjectWrapper; 00030 00031 class DT_DLL_VRFGUICOREQT DtEditPlanWidgetLogic : public DtBasePlanWidgetLogic 00032 { 00033 00034 public: 00035 00037 DtEditPlanWidgetLogic(makVrv::DtDe& de, DtPlanWidgetInterface* iFace ); 00038 00040 virtual ~DtEditPlanWidgetLogic(); 00041 00042 protected: 00044 virtual void requestPlan(const std::vector<std::string>&); 00045 00046 virtual void setPlanIsModified(bool); 00047 00048 virtual void registerPlanCallbacks(const std::vector<std::string>& names); 00049 virtual void unregisterPlanCallbacks(const std::vector<std::string>& names); 00050 00051 virtual bool planIsModified() const 00052 { 00053 return myPlanModified; 00054 } 00055 00056 virtual void processReceivePlan(const DtString& name, 00057 bool isGlobal, const DtList& statements); 00058 00059 virtual void processReceiveCurrentStatement(const DtString& name, bool isGlobal, DtPlanStatus status); 00060 virtual void processReceivePlanComplete(const DtString& name, bool isGlobal); 00061 virtual void processPlanStatement(const DtString& name, bool isGlobal, DtPlanStatus status); 00062 00064 virtual bool isWatching(const std::string&) const; 00065 00067 virtual void addStatementAfter(DtSimStatement* stmt, const DtPlanListBoxItem* listItem); 00068 00070 virtual void addConditional(const DtSimStatement& stmt); 00071 00074 virtual void planRequestComplete(); 00075 00076 virtual void planSelectionChanged(); 00077 virtual void replacePlan(); 00078 virtual void enableReplacePlan(); 00079 00080 virtual bool deleteStatement(const DtPlanListBoxItem*); 00081 virtual void deleteAllStatements(); 00082 00083 virtual void addSetRequest(const DtSetDataRequest&); 00084 virtual void addTaskRequest(const DtSimTask&); 00085 virtual void addCommandRequest(DtSimCommand&); 00086 virtual void replaceStatement(DtSimStatement* stmt, DtPlanListBoxItem* listItem); 00087 00088 virtual bool statementIsEditable(DtSimStatement* stmt) const; 00089 virtual void editCurrentPlanStatement(const std::vector<makVrv::DtSimEntry*>&); 00090 virtual bool editPlanStatement(const std::vector<makVrv::DtSimEntry*>&, DtSimStatement* stmt); 00091 virtual bool editConditionalExpression(int type, const DtSimCondExpr* stmt, const std::vector<makVrv::DtSimEntry*>& data); 00092 virtual void editPlanStatementFor(const DtEntityType& t, const DtCreateObjectCommand* simStmt); 00093 virtual void editPlanStatementForTacticalGraphic(const DtCreateObjectCommand* simStmt); 00094 virtual void editPlanStatementForEntity(const DtCreateObjectCommand* simStmt); 00095 00096 virtual void finalizeObjectCreation(const DtEntityType&, std::string name, int, const std::vector<DtVector>&, double, bool, bool); 00097 virtual void slot_stoppedObjectCreation(); 00098 00099 virtual void finalizeTacticalGraphicObjectCreation(const DtEntityType& t, int f, const std::vector<DtVector>& p, 00100 const QString& name); 00101 00102 virtual void finalizeEntityObjectCreation(const DtEntityType& t, int f, const std::vector<DtVector>& p, double entityHeading, bool isClampedToGround, bool isAggregated, 00103 const QString& name); 00104 00105 protected: 00106 virtual void slot_onConditionEditingComplete(const DtSimStatement&); 00107 00109 virtual void slot_onEditSimCommandRequest(const DtSimCommandObjectWrapper&); 00110 00111 virtual void slot_objectCreateComplete(); 00112 00113 virtual bool globalPlan() const; 00114 00116 virtual void cancel(bool force = false); 00117 00118 protected: 00119 bool myRequestingPlan; 00120 bool myPlanModified; 00121 bool myPlanEditMode; 00122 int myCurrentStatement; 00123 DtPlanStatus myPlanStatus; 00124 std::vector<std::string> myRegisteredNames; 00125 }; 00126 }