![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtBaseEntityConditionalExpressionDialog.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00013 00014 #pragma once 00015 00016 #include <vrvUtil/signalslib.h> 00017 #include <vrfGuiCoreQt/DtBaseConditionalExpressionDialog.h> 00018 #include <vrfGuiCoreQt/DtVrfFilteredListView.h> 00019 #include <vlpi/disEnums.h> 00020 00021 class QTabWidget; 00022 class QCheckBox; 00023 class QComboBox; 00024 class QLabel; 00025 class QVBoxLayout; 00026 class DtRangedObjectType; 00027 class DtObjectType; 00028 class QShowEvent; 00029 00030 namespace makVrf 00031 { 00032 class DtVrfSelectionFilter; 00033 class DtEnumerationSelectionWidget; 00034 00035 class DT_DLL_VRFGUICOREQT DtBaseEntityConditionalExpressionDialog : public DtBaseConditionalExpressionDialog 00036 { 00037 Q_OBJECT 00038 00039 public: 00040 //CTOR 00041 DtBaseEntityConditionalExpressionDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0); 00042 00043 //DTOR 00044 virtual ~DtBaseEntityConditionalExpressionDialog(); 00045 00046 virtual void addFilter(const DtVrfSelectionFilter* f); 00047 virtual void addForceLevelItem(int force, std::string entityKey, std::string forceName); 00048 00049 DtVrfFilteredListView* filteredListView() 00050 { 00051 return myFilteredListView; 00052 } 00053 00054 virtual bool useNameSelected() const; 00055 00056 virtual bool useSelf() const; 00057 virtual void setUseSelf(bool); 00058 00059 virtual bool anySubordinate() const; 00060 virtual void setAnySubordinate(bool); 00061 00062 virtual bool invertSelection() const; 00063 virtual void setInvertSelection(bool); 00064 00065 virtual QString selectedName() const; 00066 virtual void setSelectedName(const QString&); 00067 00068 virtual bool usePatternSelected() const; 00069 virtual void setUsePatternSelected(bool b); 00070 00071 virtual bool anyPatternSubordinate() const; 00072 virtual void setAnyPatternSubordinate(bool); 00073 00074 virtual bool invertPatternSelection() const; 00075 virtual void setInvertPatternSelection(bool); 00076 00077 virtual DtForceType patternForce() const; 00078 virtual void setPatternForce(DtForceType forceType); 00079 00080 virtual void patternObjectType(DtObjectType&) const; 00081 virtual void setPatternObjectType(const DtRangedObjectType&); 00082 00083 virtual bool isForceLevelItemSelected() const; 00084 00086 static void setConditionEntityTypesFile(const std::string&); 00087 static std::string conditionEntityTypesFile(); 00088 00089 virtual std::vector<DtVrfObjectListViewItem::DtVrfObjectState> selectedObjects() const; 00090 00091 virtual void selectObject(const DtVrfObjectListViewItem::DtVrfObjectState& obj); 00092 virtual bool canSelect(const DtVrfObjectListViewItem::DtVrfObjectState& obj); 00093 00094 virtual void clearSelection(); 00095 00096 virtual void setupCheckBoxes(); 00097 00098 protected: 00099 virtual QWidget* contents(); 00100 00101 virtual void createObjectSelectionTab(); 00102 virtual void createPatternSelectionTab(); 00103 00104 virtual QWidget* expressionExtension() = 0; 00105 00106 virtual void postGuiSetup(const std::vector<makVrv::DtSimEntry*>& data); 00107 00108 virtual int extensionLayoutPosition() const; 00109 00110 virtual void showEvent(QShowEvent*); 00111 00112 protected slots: 00113 virtual void onUseSelfChanged(); 00114 virtual void onTabChanged(int); 00115 virtual void onPatternTypeChanged(const DtRangedObjectType&); 00116 00117 public: 00118 QWidget* myCanvas; 00119 QVBoxLayout* myContentsLayout; 00120 QLabel* myDescription; 00121 QTabWidget* myTabWidget; 00122 00123 QWidget* myObjectSelectionTab; 00124 DtVrfFilteredListView* myFilteredListView; 00125 QCheckBox* myUseNameTab; 00126 QCheckBox* myUseSelf; 00127 QCheckBox* myAnySubordinate; 00128 QCheckBox* myInvertSelection; 00129 00130 QWidget* myPatternWidget; 00131 QLabel* myForceLabel; 00132 QComboBox* myForce; 00133 QCheckBox* myUsePatternTab; 00134 QCheckBox* myAnyPatternSubordinate; 00135 QCheckBox* myInvertPatternSelection; 00136 DtEnumerationSelectionWidget *mySelectionWidget; 00137 }; 00138 }