![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtConditionalLogic.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00013 00014 #pragma once 00015 00016 #include <vrvUtil/signalslib.h> 00017 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00018 00019 namespace makVrv 00020 { 00021 class DtDe; 00022 } 00023 00024 class DtSimStatement; 00025 00026 namespace makVrf 00027 { 00028 class DtConditionalDialogInterface; 00029 class DtConditionalExpressionInterface; 00030 00031 class DT_DLL_VRFGUICOREQT DtConditionalLogic 00032 { 00033 public: 00034 00036 DtConditionalLogic(makVrv::DtDe& de, DtConditionalDialogInterface* iface); 00037 00039 virtual ~DtConditionalLogic(); 00040 00041 virtual void accept(); 00042 virtual void cancel(); 00043 00044 boost::signal<void (const DtSimStatement&)> signal_addConditional; 00045 00047 virtual DtSimStatement* conditionalStatement() = 0; 00048 00049 protected: 00050 virtual void slot_onExpressionDestroyed(DtConditionalExpressionInterface*); 00051 virtual void slot_onExpressionCreated(DtConditionalExpressionInterface*); 00052 00053 protected: 00054 makVrv::DtDe& myDe; 00055 DtConditionalDialogInterface* myInterface; 00056 }; 00057 00058 class DT_DLL_VRFGUICOREQT DtIfConditionalLogic : public DtConditionalLogic 00059 { 00060 public: 00061 00063 DtIfConditionalLogic(makVrv::DtDe& de, DtConditionalDialogInterface* iface); 00064 00066 virtual ~DtIfConditionalLogic(); 00067 00069 virtual DtSimStatement* conditionalStatement(); 00070 }; 00071 00072 class DT_DLL_VRFGUICOREQT DtWhenConditionalLogic : public DtConditionalLogic 00073 { 00074 public: 00075 00077 DtWhenConditionalLogic(makVrv::DtDe& de, DtConditionalDialogInterface* iface); 00078 00080 virtual ~DtWhenConditionalLogic(); 00081 00083 virtual DtSimStatement* conditionalStatement(); 00084 }; 00085 00086 class DT_DLL_VRFGUICOREQT DtWhileConditionalLogic : public DtConditionalLogic 00087 { 00088 public: 00089 00091 DtWhileConditionalLogic(makVrv::DtDe& de, DtConditionalDialogInterface* iface); 00092 00094 virtual ~DtWhileConditionalLogic(); 00095 00097 virtual DtSimStatement* conditionalStatement(); 00098 }; 00099 }