akregator/src

listtabwidget.h

00001 /*
00002     This file is part of Akregator.
00003 
00004     Copyright (C) 2005 Frank Osterfeld <frank.osterfeld at kdemail.net>
00005 
00006     This program is free software; you can redistribute it and/or modify
00007     it under the terms of the GNU General Public License as published by
00008     the Free Software Foundation; either version 2 of the License, or
00009     (at your option) any later version.
00010 
00011     This program is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00014     GNU General Public License for more details.
00015 
00016     You should have received a copy of the GNU General Public License
00017     along with this program; if not, write to the Free Software
00018     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00019 
00020     As a special exception, permission is given to link this program
00021     with any edition of Qt, and distribute the resulting executable,
00022     without including the source code for Qt in the source distribution.
00023 */
00024 
00025 #ifndef AKREGATOR_LISTTABWIDGET_H
00026 #define AKREGATOR_LISTTABWIDGET_H
00027 
00028 #include <qwidget.h>
00029 
00030 class QIconSet;
00031 class QPixmap;
00032 class QString;
00033 
00034 namespace Akregator {
00035 
00036 class NodeListView;
00037 class TreeNode;
00038 
00045 class ListTabWidget : public QWidget
00046 {
00047 
00048 Q_OBJECT
00049 
00050 public:
00051 
00052     ListTabWidget(QWidget* parent=0, const char* name=0);
00053     virtual ~ListTabWidget();
00054 
00055     enum ViewMode { single, /* horizontalTabs, */  verticalTabs };
00056 
00057     void setViewMode(ViewMode mode);
00058     ViewMode viewMode() const;
00059 
00060     void addView(NodeListView* view, const QString& caption, const QPixmap& icon);
00061 
00062     NodeListView* activeView() const;
00063 
00064 public slots:
00065     
00067     void slotItemUp();
00069     void slotItemDown();
00071     void slotItemBegin();
00073     void slotItemEnd();
00075     void slotItemLeft();
00077     void slotItemRight();
00078 
00079     void slotPrevFeed();
00080     void slotNextFeed();
00081     void slotPrevUnreadFeed();
00082     void slotNextUnreadFeed();
00083 
00084 signals:
00085     void signalNodeSelected(TreeNode*);
00086 
00087 protected slots:
00088 
00089     void slotRootNodeChanged(NodeListView*, TreeNode*);
00090     void slotTabClicked(int id);
00091  
00092 private:
00093     class ListTabWidgetPrivate;
00094     ListTabWidgetPrivate* d;
00095 };
00096 
00097 } // namespace Akregator
00098 
00099 #endif // AKREGATOR_LISTTABWIDGET_H
KDE Home | KDE Accessibility Home | Description of Access Keys