![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtEntInAreaConditional.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00013 00014 #pragma once 00015 00016 #include <vrfGuiCoreQt/DtBaseEntityConditionalExpressionDialog.h> 00017 #include <vrfGuiCoreQt/DtBaseEntityConditionalExpressionLogic.h> 00018 00019 class QWidget; 00020 class QCheckBox; 00021 class QLabel; 00022 class QFrame; 00023 class QVBoxLayout; 00024 00025 namespace makVrf 00026 { 00028 class DT_DLL_VRFGUICOREQT DtEntInAreaConditionalCreator : public DtVrfConditionalExpressionCreator 00029 { 00030 public: 00031 virtual DtConditionalExpressionInterface* create(makVrv::DtDe&, QWidget* parent); 00032 virtual QString title() const ; 00033 virtual bool canEditType(int) const; 00034 }; 00035 00036 class DT_DLL_VRFGUICOREQT DtEntInAreaConditionalLogic : public DtBaseEntityConditionalExpressionLogic 00037 { 00038 public: 00039 DtEntInAreaConditionalLogic(makVrv::DtDe&, DtConditionalExpressionInterface*); 00040 00041 virtual ~DtEntInAreaConditionalLogic(); 00042 00043 public: 00044 virtual void createConditional(DtConditionalExpressionViewInterface* parentView, 00045 const std::vector<makVrv::DtSimEntry*>& data); 00046 00047 virtual DtSimCondExpr* conditionalExpression() const; 00048 virtual void setupConditional(const DtSimCondExpr*, const std::vector<makVrv::DtSimEntry*>& data); 00049 00050 protected: 00051 virtual void initializeSelectionFilters(); 00052 virtual bool isComplete() const; 00053 00054 virtual QString areaName() const; 00055 virtual void setAreaName(QString); 00056 virtual void selectObject(const DtVrfObjectListViewItem::DtVrfObjectState& obj); 00057 }; 00058 00059 class DT_DLL_VRFGUICOREQT DtEntInAreaConditional : public DtBaseEntityConditionalExpressionDialog 00060 { 00061 Q_OBJECT 00062 00063 public: 00064 //CTOR 00065 DtEntInAreaConditional(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0); 00066 00067 //DTOR 00068 virtual ~DtEntInAreaConditional(); 00069 00070 DtVrfFilteredListView* inAreaView() 00071 { 00072 return myInArea; 00073 } 00074 00075 virtual QString areaName() const; 00076 virtual void setAreaName(QString); 00077 00078 protected: 00079 virtual QWidget* expressionExtension(); 00080 00081 virtual QString value() const; 00082 virtual void setValue(const QString&); 00083 virtual void setupConditional(const DtSimCondExpr* expr, const std::vector<makVrv::DtSimEntry*>& data); 00084 virtual void postGuiSetup(const std::vector<makVrv::DtSimEntry*>& data); 00085 virtual std::vector<DtVrfObjectListViewItem::DtVrfObjectState> selectedObjects() const; 00086 00087 public: 00088 QWidget* myExtension; 00089 QVBoxLayout* myExtensionLayout; 00090 QFrame* mySeparator; 00091 QLabel* myLabel; 00092 DtVrfFilteredListView* myInArea; 00093 }; 00094 }