![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtEntityCreatePaletteLogic.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00013 00014 #pragma once 00015 00016 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00017 #include <vrfGuiCore/entityMapperKey.h> 00018 00019 #include <vector> 00020 00021 class DtSimulationAddress; 00022 class QString; 00023 00024 namespace makVrv 00025 { 00026 class DtDe; 00027 } 00028 00029 namespace makVrf 00030 { 00031 class DtVrfBackendState; 00032 00033 class DtEntityCreatePaletteInterface; 00034 00035 typedef struct _DtEntityPaletteItem 00036 { 00037 std::string myName; 00038 DtEntityMapperKey myMapperKey; 00039 std::string myCategory; 00040 std::vector<int> myForces; 00041 } 00042 DtEntityPaletteItem; 00043 00044 class DT_DLL_VRFGUICOREQT DtEntityCreatePaletteLogic 00045 { 00046 00047 public: 00048 00050 static DtEntityCreatePaletteLogic* create(makVrv::DtDe& de, 00051 DtEntityCreatePaletteInterface* iFace ); 00052 00054 virtual ~DtEntityCreatePaletteLogic(); 00055 00056 virtual void createAndAddItem(const std::string& name, 00057 const DtEntityMapperKey& key,const std::string& category,const std::vector<int>& forces); 00058 00060 virtual void removeItem(const DtEntityMapperKey& key); 00061 00062 virtual void disconnectCreationSignal(bool disconnect); 00063 00064 protected: 00066 DtEntityCreatePaletteLogic(makVrv::DtDe& de, DtEntityCreatePaletteInterface* iFace ); 00067 00068 virtual void slot_postInitialize(makVrv::DtDe& de); 00069 virtual void slot_modelSetChanged(); 00070 virtual void slot_categoryChanged(std::string newCategory); 00071 virtual void slot_executeFilter(); 00072 virtual void slot_showEntityTypesColumn(bool); 00073 00074 virtual void slot_selectedBackEndChanged(const DtSimulationAddress& old, const DtSimulationAddress& newaddr); 00075 virtual void slot_backendUpdated(const DtVrfBackendState&, int); 00076 00077 virtual void slot_createObject(const DtEntityMapperKey&); 00078 00079 protected: 00080 virtual bool shouldAddCreationItem(const DtEntityPaletteItem&, const QString& category, int force) const; 00081 virtual void enablePalette(int terrainPatchOffset = 0); 00082 virtual void slot_terrainPatchToBeDeleted(); 00083 virtual void slot_terrainPatchAdded(); 00084 virtual void slot_sessionStatusChanged(); 00085 00086 protected: 00087 makVrv::DtDe& myDe; 00088 DtEntityCreatePaletteInterface* myInterface; 00089 std::vector<DtEntityPaletteItem> myItems; 00090 }; 00091 }