#ifndef _KVI_TAL_LISTBOX_QT3_H_ #define _KVI_TAL_LISTBOX_QT3_H_ //============================================================================= // // File : kvi_tal_listbox_qt3.h // Creation date : Mon Jan 22 2007 11:25:08 by Szymon Stefanek // // This file is part of the KVirc irc client distribution // Copyright (C) 2007 Szymon Stefanek (pragma at kvirc dot net) // // 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 opinion) 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. // // You should have received a copy of the GNU General Public License // along with this program. If not, write to the Free Software Foundation, // Inc. ,51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // //============================================================================= #include "kvi_settings.h" #include "kvi_qstring.h" #include class KviTalListBoxItem; class KVILIB_API KviTalListBox : public TQListBox { Q_OBJECT TQ_OBJECT public: KviTalListBox(TQWidget * pParent,TQt::WFlags f = 0); virtual ~KviTalListBox() {}; public: KviTalListBoxItem * firstItem() const { return (KviTalListBoxItem *)TQListBox::firstItem(); }; KviTalListBoxItem * selectedItem() const { return (KviTalListBoxItem *)TQListBox::selectedItem(); }; KviTalListBoxItem * item(int iIndex) const { return (KviTalListBoxItem *)TQListBox::item(iIndex); }; signals: void highlighted(KviTalListBoxItem *); void selected(KviTalListBoxItem *); void selectionChanged(KviTalListBoxItem * item); void currentChanged(KviTalListBoxItem * item); void clicked(KviTalListBoxItem * item); void clicked(KviTalListBoxItem * item,const TQPoint & pnt); void pressed(KviTalListBoxItem * item); void pressed(KviTalListBoxItem * item,const TQPoint & pnt); void doubleClicked(KviTalListBoxItem * item); void returnPressed(KviTalListBoxItem * item); void rightButtonClicked(KviTalListBoxItem *, const TQPoint &); void rightButtonPressed(KviTalListBoxItem *, const TQPoint &); void mouseButtonPressed(int button,KviTalListBoxItem * item,const TQPoint & pos); void mouseButtonClicked(int button,KviTalListBoxItem * item,const TQPoint & pos); void contextMenuRequested(KviTalListBoxItem * item,const TQPoint & pos); void onItem(KviTalListBoxItem * i); protected slots: void redirect_highlighted(TQListBoxItem *item); void redirect_selected(TQListBoxItem *item); void redirect_selectionChanged(TQListBoxItem * item); void redirect_currentChanged(TQListBoxItem * item); void redirect_clicked(TQListBoxItem * item); void redirect_clicked(TQListBoxItem * item,const TQPoint & pnt); void redirect_pressed(TQListBoxItem * item); void redirect_pressed(TQListBoxItem * item,const TQPoint & pnt); void redirect_doubleClicked(TQListBoxItem * item); void redirect_returnPressed(TQListBoxItem * item); void redirect_rightButtonClicked(TQListBoxItem * item, const TQPoint &pnt); void redirect_rightButtonPressed(TQListBoxItem * item, const TQPoint &pnt); void redirect_mouseButtonPressed(int button,TQListBoxItem * item,const TQPoint & pos); void redirect_mouseButtonClicked(int button,TQListBoxItem * item,const TQPoint & pos); void redirect_contextMenuRequested(TQListBoxItem * item,const TQPoint & pos); void redirect_onItem(TQListBoxItem * i); }; class KVILIB_API KviTalListBoxItem : public TQListBoxItem { public: KviTalListBoxItem() : TQListBoxItem() {}; KviTalListBoxItem(KviTalListBox * pParent) : TQListBoxItem(pParent) {}; KviTalListBoxItem(KviTalListBox * pParent,KviTalListBoxItem * pAfter) : TQListBoxItem(pParent,pAfter) {}; virtual ~KviTalListBoxItem() {}; public: KviTalListBoxItem * next() const { return (KviTalListBoxItem *)TQListBoxItem::next(); }; KviTalListBoxItem * prev() const { return (KviTalListBoxItem *)TQListBoxItem::prev(); }; KviTalListBox * listBox() const { return (KviTalListBox *)TQListBoxItem::listBox(); }; virtual int height(const KviTalListBox *) const { return 0; }; int height(const TQListBox *lb) const { return height((KviTalListBox *)lb); }; virtual int width(const KviTalListBox *) const { return 0; }; int width(const TQListBox *lb) const { return width((KviTalListBox *)lb); }; }; class KVILIB_API KviTalListBoxText : public KviTalListBoxItem { public: KviTalListBoxText( KviTalListBox* listbox, const TQString & text=TQString() ); KviTalListBoxText( const TQString & text=TQString() ); KviTalListBoxText( KviTalListBox* listbox, const TQString & text, KviTalListBoxItem *after ); ~KviTalListBoxText(); int height( const KviTalListBox * ) const; int width( const KviTalListBox * ) const; int rtti() const; static int RTTI; protected: virtual void paint( TQPainter * ); private: // Disabled copy constructor and operator= #if defined(TQ_DISABLE_COPY) KviTalListBoxText( const KviTalListBoxText & ); KviTalListBoxText &operator=( const KviTalListBoxText & ); #endif }; class KVILIB_API KviTalListBoxPixmap : public KviTalListBoxItem { public: KviTalListBoxPixmap( KviTalListBox* listbox, const TQPixmap & ); KviTalListBoxPixmap( const TQPixmap & ); KviTalListBoxPixmap( KviTalListBox* listbox, const TQPixmap & pix, KviTalListBoxItem *after ); KviTalListBoxPixmap( KviTalListBox* listbox, const TQPixmap &, const TQString& ); KviTalListBoxPixmap( const TQPixmap &, const TQString& ); KviTalListBoxPixmap( KviTalListBox* listbox, const TQPixmap & pix, const TQString&, KviTalListBoxItem *after ); ~KviTalListBoxPixmap(); const TQPixmap *pixmap() const { return ± } int height( const KviTalListBox * ) const; int width( const KviTalListBox * ) const; int rtti() const; static int RTTI; protected: virtual void paint( TQPainter * ); private: TQPixmap pm; private: // Disabled copy constructor and operator= #if defined(TQ_DISABLE_COPY) KviTalListBoxPixmap( const KviTalListBoxPixmap & ); KviTalListBoxPixmap &operator=( const KviTalListBoxPixmap & ); #endif }; #endif // _KVI_TAL_LISTBOX_QT3_H_