/* ============================================================ * Copyright 2004 by Tudor Calin * 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, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * ============================================================ */ #ifndef THUMBITEM_H #define THUMBITEM_H #include #include class TQPixmap; class TQPainter; class TQColorGroup; namespace KIPIKameraKlientPlugin { class ThumbView; class ThumbItemLineEdit; class ThumbItemPrivate; class ThumbItem { friend class ThumbView; friend class ThumbItemLineEdit; public: ThumbItem(ThumbView* parent, const TQString& text, const TQPixmap& pixmap); virtual ~ThumbItem(); TQPixmap *pixmap() const; TQString text() const; ThumbItem *nextItem(); ThumbItem *prevItem(); int x() const; int y() const; int width() const; int height() const; TQRect rect(); TQRect textRect(bool relative=true); TQRect pixmapRect(bool relative=true); bool move(int x, int y); void setSelected(bool val, bool cb=true); bool isSelected(); virtual void setPixmap(const TQPixmap& pixmap); virtual void setText(const TQString& text); void repaint(); ThumbView* iconView(); void rename(); virtual int compare(ThumbItem *item); virtual TQString key() const; protected: virtual void calcRect(); void setRect(const TQRect& rect); void setTextRect(const TQRect& rect); void setPixmapRect(const TQRect& rect); virtual void paintItem(TQPainter *p, const TQColorGroup& cg); void renameItem(); void cancelRenameItem(); private: ThumbItemPrivate *d; ThumbView *view; ThumbItem *next; ThumbItem *prev; ThumbItemLineEdit *renameBox; }; } // NameSpace KIPIKameraKlientPlugin #endif