![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtAggregateAsDialog.h,v $ $Revision: 1.4 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00013 00014 #pragma once 00015 00016 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00017 #include <vrfGuiCoreQt/DtAggregateAsDialogInterface.h> 00018 #include <vrfGuiCoreQt/aggregateAsWidgetUi.hpp> 00019 00020 #include <QtGui/QWidget> 00021 00022 namespace makVrf 00023 { 00024 class DtAggregateAsDialogLogic; 00025 class DtVrfFilteredListView; 00026 class DtEnumerationSelectionWidget; 00027 00028 class DT_DLL_VRFGUICOREQT DtAggregateAsDialog : public QWidget, public DtAggregateAsDialogInterface 00029 { 00030 Q_OBJECT 00031 00032 public: 00033 //CTOR 00034 DtAggregateAsDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0); 00035 00036 //DTOR 00037 virtual ~DtAggregateAsDialog(); 00038 00039 public: 00041 virtual void setupGui(const makVrv::DtSelectionManager::IdSet&); 00042 00043 protected: 00045 virtual void initConnections(); 00046 00047 virtual void clearAggregateTypes(); 00048 00049 virtual void addAggregateType(const QString&); 00051 virtual DtVrfSelectionFilter* addFilter(const DtVrfSelectionFilter*); 00052 00054 virtual void selectFilter(int); 00055 00056 DtVrfFilteredListView* listView() 00057 { 00058 return myToAggregate; 00059 } 00060 00061 virtual int currentAggregateType() const; 00062 00063 virtual void setObjectType(const DtRangedObjectType&); 00064 00065 virtual DtRangedObjectType aggregateObjectType() const; 00066 00067 virtual void setAggregateIcon(const QPixmap&); 00068 00069 virtual void setSelectedName(const QString& name); 00070 00071 protected: 00072 virtual void updateMoveButtons(); 00073 00074 protected slots: 00075 virtual void acceptAndClose(); 00076 virtual void more(); 00077 virtual void less(); 00078 virtual void moveEntityUp(); 00079 virtual void moveEntityDown(); 00080 virtual void sort(); 00081 virtual void changeAggregateType(); 00082 virtual void setupAggregateTypeAndIcon(); 00083 00084 public: 00085 Ui_DtAggregateAsDialogUi myUiImpl; 00086 DtVrfFilteredListView* myToAggregate; 00087 DtEnumerationSelectionWidget* myEnumerationSelectionWidget; 00088 00089 protected: 00090 makVrv::DtDe& myDe; 00091 DtAggregateAsDialogLogic* myLogic; 00092 }; 00093 00094 class DT_DLL_VRFGUICOREQT DtAggregateAsDialogCreator : public makVrv::DtVirtualBaseClass 00095 { 00096 public: 00097 DtAggregateAsDialogCreator(); 00098 virtual ~DtAggregateAsDialogCreator(); 00099 00101 static DtAggregateAsDialogCreator& instance(makVrv::DtDe&); 00102 00104 static void registerInstance(makVrv::DtDe& de, DtAggregateAsDialogCreator* instance); 00105 00106 virtual DtAggregateAsDialog* create(makVrv::DtDe&, QWidget* parent); 00107 }; 00108 }