![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2011 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: $ $Revision: $ $State: $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 #include <vrvCoreQt/vrvCoreQt.h> 00015 #include <vrvCore/DtVisualizerAttribute.h> 00016 #include <QtGui/QWidget> 00017 00018 class QLineEdit; 00019 00020 namespace makVrv 00021 { 00023 class DT_DLL_VRVCOREQT DtVisualizerAttributeWidget : public QWidget 00024 { 00025 public: 00026 00028 DtVisualizerAttributeWidget(QWidget* parent); 00029 00031 virtual ~DtVisualizerAttributeWidget(); 00032 00035 virtual void setAttributeName(const QString& name); 00036 00038 virtual void setValue(const QString& value) = 0; 00039 00040 }; 00041 00043 class DtVisualizerAttributeWidgetCreator 00044 { 00045 public: 00046 virtual ~DtVisualizerAttributeWidgetCreator() 00047 { 00048 } 00049 00052 virtual const DtVisualizerAttribute::TypeInfo& typeInfo() = 0; 00053 00055 virtual DtVisualizerAttributeWidget* create(DtDe& de, QWidget* parent) = 0; 00056 }; 00057 00058 template <typename VisualizerAttributeClass, typename WidgetClass> 00059 class DtVisualizerAttributeWidgetCreatorTemplate : public DtVisualizerAttributeWidgetCreator 00060 { 00061 public: 00062 00063 virtual const DtVisualizerAttribute::TypeInfo& typeInfo() 00064 { 00065 return VisualizerAttributeClass::theTypeInfo(); 00066 } 00067 00068 virtual DtVisualizerAttributeWidget* create(DtDe& de, QWidget* parent) 00069 { 00070 return new WidgetClass(de,parent); 00071 } 00072 }; 00073 00075 class DT_DLL_VRVCOREQT DtVisualizerAttributeStringWidget : public DtVisualizerAttributeWidget 00076 { 00077 public: 00079 DtVisualizerAttributeStringWidget(DtDe& de, QWidget* parent); 00080 00082 virtual void setValue(const QString& value); 00083 00084 protected: 00085 QLineEdit* myLineEdit; 00086 }; 00087 00088 typedef DtVisualizerAttributeWidgetCreatorTemplate< 00089 DtVisualizerAttributeString,DtVisualizerAttributeStringWidget> 00090 DtVisualizerAttributeStringWidgetCreator; 00091 } 00092