Eneboo - Documentación para desarrolladores
|
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