/*************************************************************************** mpagecollection.h - Kugar report page collection ------------------- begin : Fri Aug 20 1999 copyright : (C) 1999 by Mutiny Bay Software email : info@mutinybaysoftware.com ***************************************************************************/ #ifndef MPAGECOLLECTION_H #define MPAGECOLLECTION_H #include #include #include #include /**Kugar report page collection *@author Mutiny Bay Software */ namespace Kugar { class MPageCollection : public TQObject { public: /** Constructor */ MPageCollection( TQObject *parent ); /** Copy constructor */ MPageCollection( const MPageCollection& mPageCollection ); /** Assignment operator */ MPageCollection operator=( const MPageCollection& mPageCollection ); /** Destructor */ virtual ~MPageCollection(); private: /** The report page list */ TQPtrList pages; /** Page dimensions */ TQSize dimensions; /** Page size */ int size; /** Page orientation */ int orientation; public: /** Clears the page collection */ void clear(); /** Appends a new page to the page collection */ void appendPage(); /** Gets the current page in the page collection, * the current page may be null */ TQPicture* getCurrentPage(); /** Gets the first page in the page collection, * returns NULL if the list is empty */ TQPicture* getFirstPage(); /** Get the previous page in the page collection, * returns NULL if the beginning of the list has been reached */ TQPicture* getPreviousPage(); /** Gets the next page in the page collection, * returns NULL if the end of the list has been reached */ TQPicture* getNextPage(); /** Gets the last page in the page collection, * returns NULL if the list empty */ TQPicture* getLastPage(); /** Get the index of the current page */ int getCurrentIndex(); /** Set the current page to page at idx */ void setCurrentPage( int idx ); /** Sets the page size */ void setPageSize( int s ); /** Sets the page orientation */ void setPageOrientation( int o ); /** Sets the page dimensions */ void setPageDimensions( TQSize dim ); /** Returns the page size */ int pageSize(); /** Returns the page orientation */ int pageOrientation(); /** Returns the page dimensions */ TQSize pageDimensions(); /** Returns the number of pages in the page collection */ int pageCount(); void addRef(); void removeRef(); private: /** Copies member data from one object to another. * Used by the copy constructor and assignment operator */ void copy( const MPageCollection* mPageCollection ); int m_ref; }; } #endif