![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtAggregateAsDialogLogic.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00013 00014 #pragma once 00015 00016 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00017 #include <vrfGuiCore/DtVrfStateViewCollectionManager.h> 00018 00019 #include <vrvCore/DtSelectionManager.h> 00020 00021 #include <vrfExtProtocol/objType.h> 00022 00023 #include <QtCore/QVector> 00024 00025 namespace makVrv 00026 { 00027 class DtDe; 00028 } 00029 00030 class DtModelSet; 00031 00032 namespace makVrf 00033 { 00034 class DtVrfSelectionFilter; 00035 class DtAggregateAsDialogInterface; 00036 00037 class DT_DLL_VRFGUICOREQT DtAggregateAsDialogLogic 00038 { 00039 public: 00040 //CTOR 00041 DtAggregateAsDialogLogic(makVrv::DtDe& de, DtAggregateAsDialogInterface*); 00042 00043 //DTOR 00044 virtual ~DtAggregateAsDialogLogic(); 00045 00046 public: 00047 virtual void setupGui(const makVrv::DtSelectionManager::IdSet&); 00048 00050 virtual void setupAggregateTypeAndIcon(); 00051 virtual void changeAggregateType(); 00052 00053 virtual void moveSelectedEntity(const makVrv::DtVrlinkSimulatedBaseState*, int iDir); 00054 00055 virtual void sort(); 00056 00057 virtual void aggregate(); 00058 00059 protected: 00060 virtual void initAggregatesCombo(const DtModelSet*); 00061 virtual DtObjectType validObjectTypeFor(const DtObjectType&) const; 00062 00063 virtual const makVrv::DtVrlinkSimulatedBaseState* leader() const; 00064 virtual void slot_onObjectAboutToBeRemoved(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>& s); 00065 00066 protected: 00067 makVrv::DtDe& myDe; 00068 00069 DtAggregateAsDialogInterface* myInterface; 00070 QVector<DtObjectType> myObjectTypes; 00071 DtVrfSelectionFilter* myFilter; 00072 }; 00073 }