![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtResourceConditional.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00013 00014 #pragma once 00015 00016 #include <vrvUtil/signalslib.h> 00017 00018 #include <vrfGuiCoreQt/DtBaseConditionalExpressionDialog.h> 00019 #include <vrfGuiCore/DtVrfResourceRequestor.h> 00020 00021 #include <QtCore/QVariant> 00022 00023 class QLabel; 00024 class QLineEdit; 00025 class QComboBox; 00026 class QGridLayout; 00027 class QCheckBox; 00028 class QDoubleValidator; 00029 class QIntValidator; 00030 00031 namespace makVrf 00032 { 00034 class DT_DLL_VRFGUICOREQT DtResourceConditionalCreator : public DtVrfConditionalExpressionCreator 00035 { 00036 public: 00037 virtual DtConditionalExpressionInterface* create(makVrv::DtDe&, QWidget* parent); 00038 virtual QString title() const ; 00039 virtual bool canEditType(int) const; 00040 }; 00041 00042 class DT_DLL_VRFGUICOREQT DtResourceConditionalLogic : public DtConditionExpressionLogic, 00043 public DtVrfResourceRequestor 00044 { 00045 public: 00046 DtResourceConditionalLogic(makVrv::DtDe&, DtConditionalExpressionInterface*); 00047 virtual ~DtResourceConditionalLogic(); 00048 00049 public: 00050 virtual void comboChanged(const QString&); 00051 00052 protected: 00053 virtual void createConditional(DtConditionalExpressionViewInterface* parentView, 00054 const std::vector<makVrv::DtSimEntry*>& data); 00055 virtual bool isComplete() const; 00056 virtual DtSimCondExpr* conditionalExpression() const; 00057 virtual void setupConditional(const DtSimCondExpr*, const std::vector<makVrv::DtSimEntry*>& data); 00058 00059 virtual void setupGui(const std::vector<makVrv::DtSimEntry*>& data); 00060 virtual void addResource(const DtResource& resource); 00061 virtual void resourceUpdated(const DtResource&); 00062 00063 virtual QString resourceName() const; 00064 virtual void setResourceName(const QString&); 00065 00066 virtual QString resourceOperator() const; 00067 virtual void setResourceOperator(const QString&); 00068 00069 virtual bool isPercent() const; 00070 virtual void setIsPercent(bool); 00071 00072 protected: 00073 virtual void resourcesChanged(); 00074 virtual void resourceCheckingDisabled(); 00075 virtual void resourceCheckComplete(); 00076 }; 00077 00078 class DT_DLL_VRFGUICOREQT DtResourceConditional : public DtBaseConditionalExpressionDialog 00079 { 00080 Q_OBJECT 00081 00082 public: 00083 //CTOR 00084 DtResourceConditional(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0); 00085 00086 //DtResource 00087 virtual ~DtResourceConditional(); 00088 00089 public: 00090 virtual void addItem(const QString&, const QVariant& = QVariant()); 00091 virtual void disable(const QString& reason); 00092 virtual void enable(); 00093 virtual void setSelectedIndex(int); 00094 virtual QString selectedText() const; 00095 virtual void clear(); 00096 virtual void setRealResource(const QString& full, const QString& current); 00097 virtual void setIntegerResource(const QString& full, const QString& current); 00098 00099 virtual QString resourceName() const; 00100 virtual void setResourceName(const QString&); 00101 00102 virtual QString resourceOperator() const; 00103 virtual void setResourceOperator(const QString&); 00104 00105 virtual bool isPercent() const; 00106 virtual void setIsPercent(bool); 00107 00108 protected: 00109 virtual QWidget* contents(); 00110 virtual QString value() const; 00111 00112 virtual void setValue(const QString&); 00113 00114 virtual void setupConditional(const DtSimCondExpr*, const std::vector<makVrv::DtSimEntry*>& data); 00115 00116 protected slots: 00117 virtual void onComboChanged(const QString&); 00118 00119 public: 00120 QWidget* myCanvas; 00121 QGridLayout* myLayout; 00122 00123 QLabel* myResourcesLabel; 00124 QComboBox* myResources; 00125 QLabel* myFullAmount; 00126 QLabel* myCurrentAmount; 00127 00128 QComboBox* myOperator; 00129 00130 QLabel* myCompareLabel; 00131 QLineEdit* myCompare; 00132 QCheckBox* myValueIsPercent; 00133 QDoubleValidator* myDoubleValidator; 00134 QIntValidator* myIntValidator; 00135 }; 00136 }