![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtModelDefinitionComboBox.h,v $ $Revision: 1.8 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 #include <vrvCoreQt/vrvCoreQt.h> 00015 #include <vrvUtil/DtSignalConnectionManager.h> 00016 #include <QtGui/QComboBox> 00017 #include <QImage> 00018 #include <boost/unordered_set.hpp> 00019 00020 namespace makVrv 00021 { 00022 class DtModelDefinition; 00023 00027 class DT_DLL_VRVCOREQT DtModelDefinitionSchemaComboBox : public QComboBox 00028 { 00029 public: 00030 00032 DtModelDefinitionSchemaComboBox(DtDe& de, QWidget* parent); 00033 00035 ~DtModelDefinitionSchemaComboBox(); 00036 00037 void populate(); 00038 00039 protected: 00040 DtDe& myDe; 00041 DtSignalConnectionManager myConnections; 00042 }; 00043 00046 class DT_DLL_VRVCOREQT DtModelDefinitionComboBox : public QComboBox 00047 { 00048 00049 Q_OBJECT 00050 00051 public: 00052 00054 DtModelDefinitionComboBox(DtDe& de, QWidget* parent); 00055 00057 ~DtModelDefinitionComboBox(); 00058 00060 void populate(); 00061 00063 void addSchemaFilter(const std::string& filter); 00064 00066 void removeSchemaFilter(const std::string& filter); 00067 00069 void addPersistentItem(const std::string& persistentItem); 00070 00072 void removePersistentItem(const std::string& filter); 00073 00077 void setFilteringMode(bool isPositive); 00078 00080 void setShowImagesIfAvailable(bool); 00081 00083 bool showImagesIfAvailable() const; 00084 00085 protected: 00086 00088 void slot_modelDefinitionToBeRemoved(const DtModelDefinition& modelDef); 00089 00091 void showImagesForModelDefinitions(); 00092 00095 QImage imageForModelDefinition(const QString&) const; 00096 00097 protected: 00098 typedef boost::unordered_set<std::string> NameSet; 00099 00100 DtDe& myDe; 00101 DtSignalConnectionManager myConnections; 00102 NameSet myFilterSet; 00103 NameSet myPersistentItemSet; 00104 bool myFilterMode; 00105 00106 bool myShowImagesIfAvailable; 00107 }; 00108 }