akregator
actionmanagerimpl.h
Go to the documentation of this file.00001 /* 00002 This file is part of Akregator. 00003 00004 Copyright (C) 2005 Frank Osterfeld <osterfeld@kde.org> 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_ACTIONMANAGERIMPL_H 00026 #define AKREGATOR_ACTIONMANAGERIMPL_H 00027 00028 #include "actionmanager.h" 00029 00030 class KAction; 00031 class KActionCollection; 00032 00033 class QWidget; 00034 00035 namespace Akregator { 00036 00037 class ArticleListView; 00038 class ArticleViewer; 00039 class FrameManager; 00040 class MainWidget; 00041 class Part; 00042 class SubscriptionListView; 00043 class TabWidget; 00044 class TreeNode; 00045 class TrayIcon; 00046 00050 class ActionManagerImpl : public ActionManager 00051 { 00052 Q_OBJECT 00053 00054 public: 00055 explicit ActionManagerImpl(Part* part, QObject* parent=0); 00056 virtual ~ActionManagerImpl(); 00057 00058 virtual QAction* action(const char* name); 00059 virtual QWidget* container(const char* name); 00060 00061 void initMainWidget(MainWidget* mainWidget); 00062 void initTrayIcon(TrayIcon* trayIcon); 00063 void initArticleViewer(ArticleViewer* articleViewer); 00064 void initArticleListView(ArticleListView* articleList); 00065 void initSubscriptionListView(SubscriptionListView* subscriptionListView); 00066 void initTabWidget(TabWidget* tabWidget); 00067 void initFrameManager(FrameManager* frameManager); 00068 00069 public slots: 00070 00071 void slotNodeSelected(Akregator::TreeNode* node); 00072 00073 protected: 00074 00075 KActionCollection* actionCollection(); 00076 00077 private: 00078 00079 void initPart(); 00080 00081 friend class NodeSelectVisitor; 00082 class NodeSelectVisitor; 00083 00084 class ActionManagerImplPrivate; 00085 ActionManagerImplPrivate* d; 00086 }; 00087 00088 } // namespace Akregator 00089 00090 #endif // AKREGATOR_ACTIONMANAGERIMPL_H
KDE 4.2 API Reference