summaryrefslogtreecommitdiffstats
path: root/kugar/lib/mreportsection.h
diff options
context:
space:
mode:
Diffstat (limited to 'kugar/lib/mreportsection.h')
-rw-r--r--kugar/lib/mreportsection.h190
1 files changed, 190 insertions, 0 deletions
diff --git a/kugar/lib/mreportsection.h b/kugar/lib/mreportsection.h
new file mode 100644
index 000000000..704daf4bd
--- /dev/null
+++ b/kugar/lib/mreportsection.h
@@ -0,0 +1,190 @@
+/***************************************************************************
+ mreportsection.h - Kugar report section
+ -------------------
+ begin : Mon Aug 23 1999
+ copyright : (C) 1999 by Mutiny Bay Software
+ email : info@mutinybaysoftware.com
+ copyright : (C) 2002-2004 Alexander Dymo
+ email : cloudtemple@mksat.net
+***************************************************************************/
+
+#ifndef MREPORTSECTION_H
+#define MREPORTSECTION_H
+
+#include <qptrlist.h>
+#include <qobject.h>
+
+#include "mlineobject.h"
+#include "mlabelobject.h"
+#include "mspecialobject.h"
+#include "mcalcobject.h"
+#include "mfieldobject.h"
+
+/**Kugar report section
+ *@author Mutiny Bay Software
+ */
+
+namespace Kugar
+{
+
+class MReportSection : public QObject
+{
+
+public:
+ /** Section print frequency constants */
+ enum PrintFrequency { FirstPage = 0, EveryPage, LastPage };
+
+ /** Constructor */
+ MReportSection();
+ /** Copy constructor */
+ MReportSection( const MReportSection& mReportSection );
+ /** Assignment operator */
+ MReportSection operator=( const MReportSection& mReportSection );
+ /** Destructor */
+ virtual ~MReportSection();
+
+protected:
+ /** Sections's height */
+ int height;
+ /** Sections's level in hierarchy */
+ int level;
+ /** Section print frequency */
+ int frequency;
+ /** Page number - used by special fields */
+ int pageNumber;
+ /** Report date - used by special fields */
+ QDate reportDate;
+
+ /** Section's line collection */
+ QPtrList<MLineObject> lines;
+ /** Section's label collection */
+ QPtrList<MLabelObject> labels;
+ /** Section's special field collection */
+ QPtrList<MSpecialObject> specialFields;
+ /** Section's calculated field collection */
+ QPtrList<MCalcObject> calculatedFields;
+ /** Section's field collection (for use as report variables) */
+ QPtrList<MFieldObject> fields;
+
+public:
+ /** Adds a new line object to the section's line collection */
+ void addLine( MLineObject* line );
+ /** Adds a new label object to the section's label collection */
+ void addLabel( MLabelObject* label );
+ /** Adds a new field object to the section's field collection */
+ void addField( MFieldObject* field );
+ /** Adds a new special field object to the section's special field collection */
+ void addSpecialField( MSpecialObject* special );
+ /** Adds a new calculated field object to the section's calculated field collection */
+ void addCalculatedField( MCalcObject* calc );
+ /** Sets the height of the section */
+ void setHeight( int h );
+ /** Gets the height of the section */
+ int getHeight();
+ /** Sets the level of the section */
+ void setLevel( int l );
+ /** Gets the level of the section */
+ int getLevel();
+ /** Set the current page number - used by special fields */
+ void setPageNumber( int page );
+ /** Set the current date - used by special fields */
+ void setReportDate( QDate date );
+ /** Sets the print frequency of the section */
+ void setPrintFrequency( int printFrequency );
+ /** Returns the print frequency of the section */
+ int printFrequency();
+ /** Returns the name of the bound field for the calculated field object at the given index */
+ QString getCalcFieldName( int idx );
+ /** Returns the index of the calculated field object for the given bound field */
+ int getCalcFieldIndex( QString field );
+ /** Sets the data for the specified calculated field */
+ void setCalcFieldData( int idx, QString data );
+ /** Sets the data for the all calculated fields - list size must match number of calculated fields */
+ void setCalcFieldData( QPtrList<QMemArray<double> >* values );
+ /** Returns the number of calculated fields in the section */
+ int getCalcFieldCount();
+ /** Sets the field data */
+ void setFieldData( QString name, QString data );
+ /** Draws the section to the specified painter & x/y-offsets */
+ virtual void draw( QPainter* p, int xoffset, int yoffset );
+ /** Frees all resources allocated by the report section */
+ virtual void clear();
+
+protected:
+ /** Frees base resources allocated by the report section */
+ void clearBase();
+ /** Draws the section base objects to the specified painter & x/y offsets */
+ void drawObjects( 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 MReportSection* mReportSection );
+};
+
+}
+
+#endif
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+