![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: DtConditionalExpressionInterface.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 #include <QtGui/QWidget> 00020 00021 namespace makVrv 00022 { 00023 class DtDe; 00024 class DtSimEntry; 00025 } 00026 00027 class QWidget; 00028 class DtSimCondExpr; 00029 00030 namespace makVrf 00031 { 00032 class DtConditionalExpressionInterface; 00033 class DtConditionalExpressionViewInterface; 00034 00038 class DT_DLL_VRFGUICOREQT DtVrfConditionalExpressionCreator 00039 { 00040 public: 00041 virtual DtConditionalExpressionInterface* create(makVrv::DtDe&, QWidget* parent) = 0; 00042 virtual QString title() const = 0; 00043 virtual bool canEditType(int) const = 0; 00044 }; 00045 00046 class DT_DLL_VRFGUICOREQT DtConditionExpressionLogic 00047 { 00048 public: 00049 DtConditionExpressionLogic(makVrv::DtDe&, DtConditionalExpressionInterface*); 00050 virtual ~DtConditionExpressionLogic(); 00051 00052 public: 00053 virtual void createConditional(DtConditionalExpressionViewInterface* parentView, 00054 const std::vector<makVrv::DtSimEntry*>& data) = 0; 00055 00056 virtual bool isComplete() const = 0; 00057 virtual DtSimCondExpr* conditionalExpression() const = 0; 00058 virtual void setupConditional(const DtSimCondExpr*, const std::vector<makVrv::DtSimEntry*>& data) = 0; 00059 00061 virtual void accept(); 00062 00064 virtual void cancel(); 00065 00067 virtual void setupGui(const std::vector<makVrv::DtSimEntry*>& data); 00068 00069 protected: 00070 makVrv::DtDe& myDe; 00071 DtConditionalExpressionInterface* myInterface; 00072 }; 00073 00074 class DT_DLL_VRFGUICOREQT DtConditionalExpressionInterface : public QWidget 00075 { 00076 public: 00077 //CTOR 00078 DtConditionalExpressionInterface(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0); 00079 00080 //DTOR 00081 virtual ~DtConditionalExpressionInterface(); 00082 00084 virtual void run(DtConditionalExpressionViewInterface*, const std::vector<makVrv::DtSimEntry*>& data) = 0; 00085 00086 virtual void setupGui(const std::vector<makVrv::DtSimEntry*>& data) = 0; 00087 virtual bool isComplete() const = 0; 00088 virtual QString value() const = 0; 00089 virtual void setValue(const QString&) = 0; 00090 virtual DtSimCondExpr* conditionalExpression() const; 00091 00093 virtual void setupConditional(const DtSimCondExpr*, const std::vector<makVrv::DtSimEntry*>& data) = 0; 00094 00096 virtual bool bringsUpDialog() const; 00097 00099 virtual void conditionComplete(); 00100 boost::signal<void ()> signal_conditionComplete; 00101 00103 virtual void conditionCancelled(); 00104 boost::signal<void ()> signal_conditionCancelled; 00105 00106 protected: 00107 makVrv::DtDe& myDe; 00108 DtConditionExpressionLogic* myLogic; 00109 }; 00110 }