00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #ifndef _OSGQFIELDVALUELABEL_H_
00040 #define _OSGQFIELDVALUELABEL_H_
00041 #ifdef __sgi
00042 #pragma once
00043 #endif
00044
00045 #include "OSGWindowQTDef.h"
00046
00047 #include <OSGBaseTypes.h>
00048 #include <OSGVector.h>
00049 #include <OSGFieldContainerPtr.h>
00050
00051 #include <qnamespace.h>
00052 #include <qsize.h>
00053 #include <qstring.h>
00054
00055 class QPainter;
00056 class QColorGroup;
00057 class QRect;
00058
00059 OSG_BEGIN_NAMESPACE
00060
00064 class QFieldViewBase;
00065
00066 class OSG_WINDOWQTLIB_DLLMAPPING QFieldValueLabelBase : public Qt
00067 {
00068 public:
00069 QFieldValueLabelBase(QFieldViewBase *pView, UInt32 uiIndex);
00070
00071 virtual ~QFieldValueLabelBase(void);
00072
00073 virtual void paint( QPainter *pPainter,
00074 const QColorGroup &colGrp, const QRect &rect) = 0;
00075
00076 virtual QSize sizeHint (void ) = 0;
00077 virtual QSize minimumSizeHint(void ) = 0;
00078
00079 void setIndex (UInt32 uiIndex);
00080 UInt32 getIndex (void ) const;
00081
00082 virtual void valueChanged (void ) = 0;
00083
00084 protected:
00085 QFieldViewBase *getFieldView (void);
00086 const QFieldViewBase *getFieldView (void) const;
00087
00088 FieldContainerPtr &getFieldContainer(void);
00089 const FieldContainerPtr &getFieldContainer(void) const;
00090
00091 UInt32 getFieldId (void) const;
00092
00093 UInt32 getAspect (void) const;
00094
00095 Field *getFieldPtr (void);
00096 const Field *getFieldPtr (void) const;
00097
00098 private:
00099 QFieldViewBase *_pView;
00100 UInt32 _uiIndex;
00101 };
00102
00106 class OSG_WINDOWQTLIB_DLLMAPPING QGenericFieldValueLabel :
00107 public QFieldValueLabelBase
00108 {
00109 public:
00110 QGenericFieldValueLabel(QFieldViewBase *pView, UInt32 uiIndex);
00111
00112 static QFieldValueLabelBase *create(QFieldViewBase *pView, UInt32 uiIndex);
00113
00114 virtual ~QGenericFieldValueLabel(void);
00115
00116 virtual void paint( QPainter *pPainter,
00117 const QColorGroup &colGrp, const QRect &rect);
00118
00119 virtual QSize sizeHint (void);
00120 virtual QSize minimumSizeHint(void);
00121
00122 virtual void valueChanged (void);
00123
00124 protected:
00125 const QString &getCachedValue(void);
00126 const QSize &getCachedSize (void);
00127
00128 private:
00129 typedef QFieldValueLabelBase Inherited;
00130
00131 void updateCache (void);
00132
00133 QString _strCachedVal;
00134 QSize _cachedSize;
00135 bool _bCacheValid;
00136 };
00137
00138 OSG_END_NAMESPACE
00139
00140 #define OSGQFIELDVALUELABEL_HEADER_CVSID "@(#)$Id: OSGQFieldValueLabel.h,v 1.2 2003/05/16 13:54:29 neumannc Exp $"
00141
00142 #include "OSGQFieldValueLabel.inl"
00143
00144 #endif