![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtBasePlanWidgetLogic.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00013 00014 #pragma once 00015 00016 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00017 #include <vrfGuiCore/DtVrfStateViewCollectionManager.h> 00018 00019 #include <vrvCore/DtSelectionManager.h> 00020 #include <vrvCore/DtSimObjectEntry.h> 00021 00022 #include <matrix/vlVector.h> 00023 00024 #include <vrfplan/plan.h> 00025 #include <QtCore/QString> 00026 00027 namespace makVrv 00028 { 00029 class DtDe; 00030 class DtSimEntry; 00031 } 00032 00033 class DtSimBlock; 00034 class DtStmtIndex; 00035 class DtSetDataRequest; 00036 class DtSimTask; 00037 class DtSimCommand; 00038 class DtEntityType; 00039 00040 namespace makVrf 00041 { 00042 class DtPlanWidgetInterface; 00043 class DtPlanListBoxItem; 00044 00045 class DT_DLL_VRFGUICOREQT DtBasePlanWidgetLogic 00046 { 00047 00048 public: 00049 00051 DtBasePlanWidgetLogic(makVrv::DtDe& de, DtPlanWidgetInterface* iFace ); 00052 00054 virtual ~DtBasePlanWidgetLogic(); 00055 00057 virtual void requestPlan(const std::vector<std::string>&) = 0; 00058 00060 virtual bool sendPlan(bool reregister = true) = 0; 00061 00062 virtual void planSelectionChanged() = 0; 00063 00064 virtual void restartPlan() = 0; 00065 00066 virtual void abandonPlan() = 0; 00067 00068 virtual void replacePlan() = 0; 00069 00070 virtual void enableReplacePlan() = 0; 00071 00072 virtual bool planIsModified() const = 0; 00073 00074 virtual bool deleteStatement(const DtPlanListBoxItem*) = 0; 00075 00076 virtual void deleteAllStatements() = 0; 00077 00078 virtual void addSetRequest(const DtSetDataRequest&) = 0; 00079 00080 virtual void addTaskRequest(const DtSimTask&) = 0; 00081 00082 virtual void addCommandRequest(DtSimCommand&) = 0; 00083 00084 virtual void addConditional(const DtSimStatement& stmt) = 0; 00085 00086 virtual void editCurrentPlanStatement(const std::vector<makVrv::DtSimEntry*>&) = 0; 00087 00088 virtual void finalizeObjectCreation(const DtEntityType&, std::string name, int, const std::vector<DtVector>&, double, bool, bool) = 0; 00089 00090 public: 00092 virtual void printPlan(); 00093 00095 virtual void copyPlan(); 00096 00097 virtual void setPlanName(const QString&); 00098 virtual QString planName() const; 00099 00101 virtual void cancel(bool force = false); 00102 00104 virtual void accept(); 00105 00108 virtual void connectSignals(const std::vector<makVrv::DtSimEntry*>& s); 00109 00110 virtual void setTitle(); 00111 00112 protected: 00113 virtual void receivedPlanCallback(DtSimMessage*); 00114 00115 virtual void processReceivePlan(const DtString& name, 00116 bool isGlobal, const DtList& statements) = 0; 00117 00118 virtual void receivedPlanStatementCallback(DtSimMessage*); 00119 00120 virtual void processPlanStatement(const DtString& name, bool isGlobal, DtPlanStatus status) = 0; 00121 virtual void processReceiveCurrentStatement(const DtString& name, bool isGlobal, DtPlanStatus status) = 0; 00122 virtual void processReceivePlanComplete(const DtString& name, bool isGlobal) = 0; 00123 00126 virtual DtPlanListBoxItem* findItemByIndex(int statementIndex); 00127 00129 DtPlanListBoxItem* findLastItemByIndex(int statementIndex); 00130 00134 virtual void addStatementsToPlan(const DtList& statements, bool append); 00135 00136 virtual void displayPlan(); 00137 virtual void displayStatement(const DtStmtIndex& stmt, const DtPlanListBoxItem* parentItem); 00138 virtual void displayBlock(DtSimBlock* block, const DtPlanListBoxItem* parentItem); 00139 virtual void clearDisplay(); 00140 virtual void clearAllStatements(); 00141 00143 virtual void displayPlanStatusString(DtPlanStatus status); 00144 00145 protected: 00146 virtual void slot_objectAboutToBeRemoved(makVrv::DtSimObjectEntry&); 00147 00148 protected: 00149 makVrv::DtDe& myDe; 00150 DtPlanWidgetInterface* myInterface; 00151 DtPlan* myPlan; 00152 QString myName; 00153 std::vector<makVrv::DtSimEntry*> myConnectedTo; 00154 }; 00155 }