/*************************************************************************** * Copyright (C) 2003-2004 by David Saxton * * david@bluehaze.org * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * ***************************************************************************/ #ifndef PLVITEM_H #define PLVITEM_H #include #include #include #include class Variant; /** @author David Saxton PropertiesListView Item Basic item, which holds the Variant data and Id for an item */ class PLVItem : public TQObject, public TDEListViewItem { TQ_OBJECT public: PLVItem( TDEListView *listview, const TQString &id, Variant * data ); ~PLVItem(); TQString id() const { return m_id; } Variant * data() const { return p_data; } virtual int width ( const TQFontMetrics & fm, const TQListView * lv, int c ) const; public slots: /** * Call to change the data held by an item, and update the display * accordingly. */ virtual void updateData(TQVariant value); protected: TQString m_id; TQGuardedPtr p_data; }; /** @author Daniel Clarke */ class PLVColorItem : public PLVItem { public: PLVColorItem( TDEListView *listview, const TQString &id, Variant *data ); ~PLVColorItem(); void updateData(TQVariant value); protected: virtual void paintCell( TQPainter * p, const TQColorGroup & cg, int column, int width, int align ); }; #endif