Eneboo - Documentación para desarrolladores
src/kugar/mfieldobject.h
Ir a la documentación de este archivo.
00001 /***************************************************************************
00002              mfieldobject.h  -  Kugar report field object
00003              -------------------
00004    begin     : Mon Aug 23 1999
00005    copyright : (C) 1999 by Mutiny Bay Software
00006    email     : info@mutinybaysoftware.com
00007 ***************************************************************************/
00008 
00009 #ifndef MFIELDOBJECT_H
00010 #define MFIELDOBJECT_H
00011 
00012 #include <qregexp.h>
00013 #include <qpixmap.h>
00014 #include <qimage.h>
00015 #include <qpixmapcache.h>
00016 
00017 #include "mlabelobject.h"
00018 
00024 class MFieldObject: public MLabelObject
00025 {
00026 
00027   Q_OBJECT
00028 
00029 public:
00030 
00034   enum DataType {
00035     String = 0,
00036     Integer,
00037     Float,
00038     Date,
00039     Currency,
00040     Pixmap,
00041     Codbar,
00042     Bool
00043   };
00044 
00048   MFieldObject();
00049 
00053   MFieldObject(const MFieldObject &mFieldObject);
00054 
00058   MFieldObject operator=(const MFieldObject &mFieldObject);
00059 
00063   virtual ~ MFieldObject();
00064 
00065 protected:
00066 
00070   QString fieldName;
00071 
00075   int dataType;
00076 
00080   int codbarType;
00081 
00085   int codbarRes;
00086 
00090   int format;
00091 
00095   int precision;
00096 
00100   QChar currency;
00101 
00105   QColor negativeValueColor;
00106 
00110   QColor saveColor;
00111 
00115   int comma;
00116 
00120   int blankZero;
00121 
00122 public:
00123 
00124   int getDataType() const;
00125   int getBlankZero() const;
00126 
00130   QString getFieldName() const;
00131 
00135   void setFieldName(const QString field);
00136 
00140   void setText(const QString txt);
00141 
00145   void setDataType(int t);
00146 
00150   void setCodBarType(const QString &t);
00151 
00155   void setCodBarRes(int r);
00156 
00160   void setDateFormat(int f);
00161 
00165   void setPrecision(int p);
00166 
00170   void setCurrency(const QChar c);
00171 
00175   void setNegValueColor(int r, int g, int b);
00176 
00180   void setCommaSeparator(int c);
00181 
00185   void setBlankZero(int z);
00186 
00191   virtual int draw(FLStylePainter *p);
00192 
00193 private:
00194 
00198   void formatNegValue();
00199 
00203   void formatCommas();
00204 
00210   void copy(const MFieldObject *mFieldObject);
00211 
00212   friend class MReportSection;
00213 };
00214 
00215 inline int MFieldObject::getDataType() const
00216 {
00217   return dataType;
00218 }
00219 
00221 inline QString MFieldObject::getFieldName() const
00222 {
00223   return fieldName;
00224 }
00225 
00227 inline void MFieldObject::setFieldName(const QString field)
00228 {
00229   fieldName = field;
00230 }
00231 
00233 inline void MFieldObject::setDataType(int t)
00234 {
00235   dataType = t;
00236   if (dataType == MFieldObject::Integer ||
00237       dataType == MFieldObject::Float ||
00238       dataType == MFieldObject::Currency)
00239     saveColor = foregroundColor;
00240 }
00241 
00243 inline void MFieldObject::setCodBarRes(int r)
00244 {
00245   codbarRes = r;
00246 }
00247 
00249 inline void MFieldObject::setDateFormat(int f)
00250 {
00251   format = f;
00252 }
00253 
00255 inline void MFieldObject::setPrecision(int p)
00256 {
00257   precision = p;
00258 }
00259 
00261 inline void MFieldObject::setCurrency(const QChar c)
00262 {
00263   if (c.isNull())
00264     currency = QChar(8364);
00265   else
00266     currency = c;
00267 }
00268 
00270 inline void MFieldObject::setNegValueColor(int r, int g, int b)
00271 {
00272   negativeValueColor.setRgb(r, g, b);
00273 }
00274 
00276 inline void MFieldObject::setCommaSeparator(int c)
00277 {
00278   comma = c;
00279 }
00280 
00282 inline void MFieldObject::setBlankZero(int z)
00283 {
00284   blankZero = z;
00285 }
00286 
00287 inline int MFieldObject::getBlankZero() const {
00288   return blankZero;
00289 }
00290 #endif
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Propiedades Amigas 'defines'