/* This file is part of Akregator. Copyright (C) 2004 Sashmit Bhaduri 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. 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. As a special exception, permission is given to link this program with any edition of TQt, and distribute the resulting executable, without including the source code for TQt in the source distribution. */ #ifndef TABWIDGET_H #define TABWIDGET_H #include #include class TQString; namespace Akregator { class Frame; class TabWidget : public KTabWidget { Q_OBJECT TQ_OBJECT public: TabWidget(TQWidget * parent = 0, const char *name = 0); virtual ~TabWidget(); void addFrame(Frame *f); Frame* currentFrame(); void removeFrame(Frame *f); TQPtrList frames() const; public slots: void slotSetTitle(Frame* frame, const TQString& title); void slotSettingsChanged(); void slotNextTab(); void slotPreviousTab(); void slotRemoveCurrentFrame(); signals: void currentFrameChanged(Frame *); protected slots: virtual void initiateDrag(int tab); private: // methods uint tabBarWidthForMaxChars( uint maxLength ); void setTitle( const TQString &title , TQWidget* sender); private slots: void slotDetachTab(); void slotCopyLinkAddress(); void slotCloseTab(); void slotCloseRequest(TQWidget* widget); void contextMenu (int item, const TQPoint &p); void slotTabChanged(TQWidget *w); private: class TabWidgetPrivate; TabWidgetPrivate* d; }; } #endif