/***************************************************************************
              mspecialobject.h  -  Kugar report special field object
              -------------------
    begin     : Mon Aug 23 1999                                           
    copyright : (C) 1999 by Mutiny Bay Software                         
    email     : info@mutinybaysoftware.com                                     
 ***************************************************************************/

#ifndef MSPECIALOBJECT_H
#define MSPECIALOBJECT_H

#include <qdatetime.h>

#include "mlabelobject.h"

/**Kugar report special field object - report date, page number, etc.
  *@author Mutiny Bay Software
  */

class MSpecialObject : public MLabelObject  {

public:
  /** Data type constants */
  enum SpecialType { Date = 0, PageNumber };

  /** Constructor */
	MSpecialObject();
  /** Copy constructor */
  MSpecialObject(const MSpecialObject& mSpecialObject);
  /** Assignment operator */
  MSpecialObject operator=(const MSpecialObject& mSpecialObject);
  /** Destructor */
	virtual ~MSpecialObject();

protected:
  /** Field type */
  int type;
	/** Format type */
	int format;
public:
  /** Sets the field's data string with a date */
  void setText(QDate d);
  /** Sets the field's data string with a page number */
  void setText(int page);
  /** Sets the field's type */
  void setType(int t);
  /** Gets the field's type */
  int getType();
	/** Sets the field's date formatting */
  void setDateFormat(int f);

private:
  /** Copies member data from one object to another.
    * Used by the copy constructor and assignment operator
    */
  void copy(const MSpecialObject* mSpecialObject);

};

#endif

























