• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepim API Reference
  • KDE Home
  • Contact Us
 

akregator

  • sources
  • kde-4.12
  • kdepim
  • akregator
  • src
abstractselectioncontroller.h
Go to the documentation of this file.
1 /*
2  This file is part of Akregator.
3 
4  Copyright (C) 2007 Frank Osterfeld <osterfeld@kde.org>
5 
6  This program is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation; either version 2 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program; if not, write to the Free Software
18  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 
20  As a special exception, permission is given to link this program
21  with any edition of Qt, and distribute the resulting executable,
22  without including the source code for Qt in the source distribution.
23 */
24 #ifndef AKREGATOR_ABSTRACTSELECTIONCONTROLLER_H
25 #define AKREGATOR_ABSTRACTSELECTIONCONTROLLER_H
26 
27 #include <QObject>
28 
29 #include <boost/shared_ptr.hpp>
30 #include <vector>
31 
32 class QAbstractItemView;
33 class QItemSelectionModel;
34 class QPoint;
35 class QModelIndex;
36 
37 namespace Akregator {
38 
39 class Article;
40 class ArticleModel;
41 class FeedList;
42 class FolderExpansionHandler;
43 class SubscriptionListModel;
44 class TreeNode;
45 
46 namespace Filters {
47  class AbstractMatcher;
48 }
49 
50 class ArticleLister
51 {
52 public:
53 
54  virtual ~ArticleLister() {}
55 
56  virtual void setArticleModel( Akregator::ArticleModel* model ) = 0;
57 
58  virtual QItemSelectionModel* articleSelectionModel() const = 0;
59 
60  virtual void setIsAggregation( bool isAggregation ) = 0;
61 
62  virtual void setFilters( const std::vector<boost::shared_ptr<const Filters::AbstractMatcher> >& ) = 0;
63 
64  virtual void forceFilterUpdate() = 0;
65 
66  virtual QPoint scrollBarPositions() const = 0;
67 
68  virtual void setScrollBarPositions( const QPoint& p ) = 0;
69 
70  virtual const QAbstractItemView* itemView() const = 0;
71 
72  virtual QAbstractItemView* itemView() = 0;
73 };
74 
75 class SingleArticleDisplay
76 {
77 public:
78  virtual ~SingleArticleDisplay() {}
79 
80  virtual void showArticle( const Akregator::Article & article ) = 0;
81 };
82 
83 class SubscriptionLister
84 {
85 public:
86  virtual ~SubscriptionLister() {}
87 
88  virtual void setSubscriptionListModel( Akregator::SubscriptionListModel* model ) = 0;
89  virtual QItemSelectionModel* subscriptionSelectionModel() const = 0;
90 };
91 
92 class AbstractSelectionController : public QObject
93 {
94  Q_OBJECT
95 
96 public:
97  explicit AbstractSelectionController( QObject* parent = 0 );
98  virtual ~AbstractSelectionController();
99 
100  virtual void setFeedList( const boost::shared_ptr<FeedList>& list ) = 0;
101 
102  virtual void setFeedSelector( QAbstractItemView* feedSelector ) = 0;
103 
104  virtual void setArticleLister( Akregator::ArticleLister* lister ) = 0;
105 
106  virtual void setFolderExpansionHandler( Akregator::FolderExpansionHandler* handler ) = 0;
107 
108  virtual void setSingleArticleDisplay( Akregator::SingleArticleDisplay* display ) = 0;
109 
110  virtual Akregator::Article currentArticle() const = 0;
111 
112  virtual QModelIndex currentArticleIndex() const = 0;
113 
114  virtual QList<Akregator::Article> selectedArticles() const = 0;
115 
116  virtual Akregator::TreeNode* selectedSubscription() const = 0;
117 
118 public Q_SLOTS:
119 
120  virtual void setFilters( const std::vector<boost::shared_ptr<const Akregator::Filters::AbstractMatcher> >& ) = 0;
121 
122  virtual void forceFilterUpdate() = 0;
123 
124 Q_SIGNALS:
125  void currentSubscriptionChanged( Akregator::TreeNode* node );
126 
127  void currentArticleChanged( const Akregator::Article& );
128 
129  void articleDoubleClicked( const Akregator::Article& );
130 };
131 
132 } // namespace Akregator
133 
134 #endif // AKREGATOR_ABSTRACTSELECTIONCONTROLLER_H
Akregator::SingleArticleDisplay::showArticle
virtual void showArticle(const Akregator::Article &article)=0
Akregator::AbstractSelectionController::currentArticle
virtual Akregator::Article currentArticle() const =0
Akregator::AbstractSelectionController::currentArticleChanged
void currentArticleChanged(const Akregator::Article &)
Akregator::SingleArticleDisplay
Definition: abstractselectioncontroller.h:75
Akregator::Filters::AbstractMatcher
Abstract base class for matchers, a matcher just takes an article and checks whether the article matc...
Definition: articlematcher.h:50
Akregator::ArticleLister::forceFilterUpdate
virtual void forceFilterUpdate()=0
Akregator::SubscriptionLister::~SubscriptionLister
virtual ~SubscriptionLister()
Definition: abstractselectioncontroller.h:86
Akregator::AbstractSelectionController::currentSubscriptionChanged
void currentSubscriptionChanged(Akregator::TreeNode *node)
Akregator::FolderExpansionHandler
Definition: subscriptionlistmodel.h:134
Akregator::ArticleLister::articleSelectionModel
virtual QItemSelectionModel * articleSelectionModel() const =0
Akregator::SubscriptionListModel
Definition: subscriptionlistmodel.h:40
Akregator::AbstractSelectionController::selectedArticles
virtual QList< Akregator::Article > selectedArticles() const =0
Akregator::ArticleLister::~ArticleLister
virtual ~ArticleLister()
Definition: abstractselectioncontroller.h:54
QObject
Akregator::AbstractSelectionController::articleDoubleClicked
void articleDoubleClicked(const Akregator::Article &)
Akregator::AbstractSelectionController
Definition: abstractselectioncontroller.h:92
Akregator::ArticleLister::scrollBarPositions
virtual QPoint scrollBarPositions() const =0
Akregator::AbstractSelectionController::setFeedList
virtual void setFeedList(const boost::shared_ptr< FeedList > &list)=0
Akregator::ArticleLister::setIsAggregation
virtual void setIsAggregation(bool isAggregation)=0
Akregator::AbstractSelectionController::setFeedSelector
virtual void setFeedSelector(QAbstractItemView *feedSelector)=0
Akregator::ArticleLister
Definition: abstractselectioncontroller.h:50
Akregator::AbstractSelectionController::~AbstractSelectionController
virtual ~AbstractSelectionController()
Definition: abstractselectioncontroller.cpp:31
Akregator::ArticleLister::setArticleModel
virtual void setArticleModel(Akregator::ArticleModel *model)=0
Akregator::AbstractSelectionController::setArticleLister
virtual void setArticleLister(Akregator::ArticleLister *lister)=0
Akregator::AbstractSelectionController::setSingleArticleDisplay
virtual void setSingleArticleDisplay(Akregator::SingleArticleDisplay *display)=0
Akregator::AbstractSelectionController::currentArticleIndex
virtual QModelIndex currentArticleIndex() const =0
Akregator::Article
A proxy class for Syndication::ItemPtr with some additional methods to assist sorting.
Definition: article.h:61
Akregator::SubscriptionLister::setSubscriptionListModel
virtual void setSubscriptionListModel(Akregator::SubscriptionListModel *model)=0
Akregator::SingleArticleDisplay::~SingleArticleDisplay
virtual ~SingleArticleDisplay()
Definition: abstractselectioncontroller.h:78
Akregator::AbstractSelectionController::setFolderExpansionHandler
virtual void setFolderExpansionHandler(Akregator::FolderExpansionHandler *handler)=0
Akregator::AbstractSelectionController::forceFilterUpdate
virtual void forceFilterUpdate()=0
Akregator::ArticleLister::setScrollBarPositions
virtual void setScrollBarPositions(const QPoint &p)=0
Akregator::AbstractSelectionController::setFilters
virtual void setFilters(const std::vector< boost::shared_ptr< const Akregator::Filters::AbstractMatcher > > &)=0
Akregator::TreeNode
Abstract base class for all kind of elements in the feed tree, like feeds and feed groups (and search...
Definition: treenode.h:59
Akregator::SubscriptionLister::subscriptionSelectionModel
virtual QItemSelectionModel * subscriptionSelectionModel() const =0
Akregator::SubscriptionLister
Definition: abstractselectioncontroller.h:83
Akregator::ArticleLister::itemView
virtual const QAbstractItemView * itemView() const =0
Akregator::AbstractSelectionController::selectedSubscription
virtual Akregator::TreeNode * selectedSubscription() const =0
Akregator::ArticleLister::setFilters
virtual void setFilters(const std::vector< boost::shared_ptr< const Filters::AbstractMatcher > > &)=0
Akregator::AbstractSelectionController::AbstractSelectionController
AbstractSelectionController(QObject *parent=0)
Definition: abstractselectioncontroller.cpp:27
Akregator::ArticleModel
Definition: articlemodel.h:44
QList< Akregator::Article >
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:58:14 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

akregator

Skip menu "akregator"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal