![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: DtConditionalDialogInterface.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 DtSimStatement; 00028 class DtSimCondExpr; 00029 00030 static const Qt::WindowFlags theConditionalCreationFlags = 00031 Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint; 00032 00033 namespace makVrf 00034 { 00035 class DtConditionalDialogInterface; 00036 00038 class DT_DLL_VRFGUICOREQT DtVrfConditionalDialogCreator 00039 { 00040 public: 00041 virtual DtConditionalDialogInterface* create(makVrv::DtDe&, QWidget* parent) = 0; 00042 virtual bool canEditType(int) const = 0; 00043 }; 00044 00045 class DT_DLL_VRFGUICOREQT DtConditionalDialogInterface : public QWidget 00046 { 00047 public: 00048 //CTOR 00049 DtConditionalDialogInterface(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0); 00050 00051 //DTOR 00052 virtual ~DtConditionalDialogInterface(); 00053 00055 virtual void run(const std::vector<makVrv::DtSimEntry*>& data) = 0; 00056 00058 virtual void conditionComplete(const DtSimStatement&); 00059 boost::signal<void (const DtSimStatement&)> signal_conditionComplete; 00060 00062 virtual void conditionCancelled(); 00063 boost::signal<void ()> signal_conditionCancelled; 00064 00065 virtual void setupGui(const std::vector<makVrv::DtSimEntry*>& data) = 0; 00066 00068 virtual void enable() = 0; 00069 00071 virtual void disable() = 0; 00072 00074 virtual DtSimCondExpr* conditionalExpression() const = 0; 00075 00077 virtual bool editExpression(const DtSimCondExpr*, const std::vector<makVrv::DtSimEntry*>& data) = 0; 00078 00079 protected: 00080 makVrv::DtDe& myDe; 00081 }; 00082 }