author | mickeyl <mickeyl> | 2003-03-02 16:38:17 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2003-03-02 16:38:17 (UTC) |
commit | d0e64d0c7961de1c3ecb886ae76c6701f268d767 (patch) (side-by-side diff) | |
tree | 2ea00b7cd496bb0720b9730bbf993f2013a87d3e /noncore/net/wellenreiter/cornucopia/olistview.h | |
parent | a0ae7d2b8cfef3f643c4aa536bdf25d7da510142 (diff) | |
download | opie-d0e64d0c7961de1c3ecb886ae76c6701f268d767.zip opie-d0e64d0c7961de1c3ecb886ae76c6701f268d767.tar.gz opie-d0e64d0c7961de1c3ecb886ae76c6701f268d767.tar.bz2 |
first attempt to add session persistence
Diffstat (limited to 'noncore/net/wellenreiter/cornucopia/olistview.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/wellenreiter/cornucopia/olistview.h | 87 |
1 files changed, 78 insertions, 9 deletions
diff --git a/noncore/net/wellenreiter/cornucopia/olistview.h b/noncore/net/wellenreiter/cornucopia/olistview.h index 4b9e4b0..9df5500 100644 --- a/noncore/net/wellenreiter/cornucopia/olistview.h +++ b/noncore/net/wellenreiter/cornucopia/olistview.h @@ -24,32 +24,35 @@ -. .:....=;==+<; You should have received a copy of the GNU -_. . . )=. = Library General Public License along with -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef OLISTVIEW_H #define OLISTVIEW_H -#include <qlistview.h> #include <qcolor.h> +#include <qlistview.h> #include <qpen.h> +#include <qdatastream.h> + +class OListViewFactory; /** - * A @ref QListView variant featuring visual enhancements - * like an alternate background for odd rows and an autostretch - * mode for the width of the widget. + * A @ref QListView variant featuring visual and functional enhancements + * like an alternate background for odd rows, an autostretch mode + * for the width of the widget ( >= Qt 3 only ) and persistence capabilities. * * @author Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> * @short OListView list/tree widget. */ class OListView: public QListView { public: /** * Constructor. * * The parameters @p parent and @p name are handled by * @ref QListView, as usual. @@ -103,31 +106,69 @@ void setColumnSeparator( const QPen &p ); /** * @return the alternate background color */ const QColor& alternateBackground() const; /** * @return the column separator pen */ const QPen& columnSeparator() const; + #ifndef QT_NO_DATASTREAM + /** + * serialize this object to a @ref QDataStream + * @param s the stream used to serialize this object. + */ + virtual void serializeTo( QDataStream& s ) const; + + /** + * serialize this object from a @ref QDataStream + * @param s the stream used to serialize this object. + */ + virtual void serializeFrom( QDataStream& s ); + #endif + + /** + * returns a factory for OListView classes + * creates one on the fly if it doesn't exist + * @return the XML Factory + */ + #ifndef QT_NO_XML + //OListViewFactory* Factory(); + #endif + private: QColor m_alternateBackground; bool m_fullWidth; QPen m_columnSeparator; - + #ifndef QT_NO_XML + //OListViewFactory* m_Factory; + #endif }; +#ifndef QT_NO_DATASTREAM +/** + * \relates QListView + * Writes a listview to the stream and returns a reference to the stream. + */ +QDataStream& operator<<( QDataStream& s, const OListView& lv ); +/** + * \relates QListView + * Reads a listview from the stream and returns a reference to the stream. + */ +QDataStream& operator>>( QDataStream& s, OListView& lv ); +#endif // QT_NO_DATASTREAM + //****************************** OListViewItem ****************************************************************** class OListViewItem: public QListViewItem { public: OListViewItem( QListView * parent ); OListViewItem( QListViewItem * parent ); OListViewItem( QListView * parent, QListViewItem * after ); OListViewItem( QListViewItem * parent, QListViewItem * after ); OListViewItem( QListView * parent, QString, QString = QString::null, @@ -137,32 +178,60 @@ class OListViewItem: public QListViewItem OListViewItem( QListViewItem * parent, QString, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null ); OListViewItem( QListView * parent, QListViewItem * after, QString, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null ); - + OListViewItem( QListViewItem * parent, QListViewItem * after, QString, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null ); - + virtual ~OListViewItem(); - + const QColor& backgroundColor(); bool isAlternate(); void paintCell( QPainter *p, const QColorGroup &cg, int column, int width, int alignment ); void init(); + #ifndef QT_NO_DATASTREAM + /** + * serialize this object to or from a @ref QDataStream + * @param s the stream used to serialize this object. + */ + virtual void serializeTo( QDataStream& s ) const; + + /** + * serialize this object to or from a @ref QDataStream + * @param s the stream used to serialize this object. + */ + virtual void serializeFrom( QDataStream& s ); + #endif + private: bool m_known; bool m_odd; }; -#endif +#ifndef QT_NO_DATASTREAM +/** + * \relates QListViewItem + * Writes a listview item and all subitems recursively to the stream + * and returns a reference to the stream. + */ +QDataStream& operator<<( QDataStream &s, const OListViewItem& lvi ); +/** + * \relates QListViewItem + * Reads a listview item from the stream and returns a reference to the stream. + */ +QDataStream& operator>>( QDataStream &s, OListViewItem& lvi ); +#endif // QT_NO_DATASTREAM + +#endif // OLISTVIEW_H |