VR-Forces 4.0.4 Class Documentation
include/vrvCoreQt/DtVisualizerAttributeWidget.h
Go to the documentation of this file.
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 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)