summaryrefslogtreecommitdiffstats
path: root/kugar/lib/mlabelobject.h
diff options
context:
space:
mode:
Diffstat (limited to 'kugar/lib/mlabelobject.h')
-rw-r--r--kugar/lib/mlabelobject.h92
1 files changed, 92 insertions, 0 deletions
diff --git a/kugar/lib/mlabelobject.h b/kugar/lib/mlabelobject.h
new file mode 100644
index 00000000..7f4a5164
--- /dev/null
+++ b/kugar/lib/mlabelobject.h
@@ -0,0 +1,92 @@
+/***************************************************************************
+ mlabelobject.h - Kugar report label object
+ -------------------
+ begin : Wed Aug 11 1999
+ copyright : (C) 1999 by Mutiny Bay Software
+ email : info@mutinybaysoftware.com
+***************************************************************************/
+
+#ifndef MLABELOBJECT_H
+#define MLABELOBJECT_H
+
+#include <qstring.h>
+#include <qfontmetrics.h>
+
+#include "mreportobject.h"
+
+/**Kugar report label object
+ *@author Mutiny Bay Software
+ */
+
+namespace Kugar
+{
+
+class MLabelObject : public MReportObject
+{
+
+public:
+ /** Font weight constants */
+ enum FontWeight { Light = 25, Normal = 50, DemiBold = 63, Bold = 75, Black = 87 };
+ /** Horizontal alignment constants */
+ enum HAlignment { Left = 0, Center, Right };
+ /** Vertial alignment constants */
+ enum VAlignment { Top = 0, Middle, Bottom };
+
+ /** Constructor */
+ MLabelObject();
+ /** Copy constructor */
+ MLabelObject( const MLabelObject& mLabelObject );
+ /** Assignment operator */
+ MLabelObject operator=( const MLabelObject& mLabelObject );
+ /** Destructor */
+ virtual ~MLabelObject();
+
+protected:
+ /** Label text */
+ QString text;
+ /** Label text font family */
+ QString fontFamily;
+ /** Label text font size in points */
+ int fontSize;
+ /** Label text font weight */
+ int fontWeight;
+ /** Label text font italic flag */
+ bool fontItalic;
+ /** Lable text horizontal alignment */
+ int hAlignment;
+ /** Label text vertical alignment */
+ int vAlignment;
+ /** Label text word wrap flag */
+ bool wordWrap;
+
+private:
+ /** Label text horizontal margin spacing */
+ const int xMargin;
+ /** Label text vertical margin spacing */
+ const int yMargin;
+
+public:
+ /** Sets the label's text string - default is an empty string*/
+ virtual void setText( const QString txt );
+ /** Sets the label's text font - default is Times,10,Normal,false */
+ void setFont( const QString family, int size, int weight, bool italic );
+ /** Sets the label's horizontal alignment -default is Left */
+ void setHorizontalAlignment( int a );
+ /** Sets the label's vertical alignment - default is Top */
+ void setVerticalAlignment( int a );
+ /** Sets the label's word wrap flag - default is false */
+ void setWordWrap( bool state );
+ /** Draws the label using the specificed painter & x/y-offsets */
+ void draw( QPainter* p, int xoffset, int yoffset );
+
+private:
+ /** Copies member data from one object to another.
+ * Used by the copy constructor and assignment operator
+ */
+ void copy( const MLabelObject* mLabelObject );
+
+};
+
+}
+
+#endif