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

korganizer

  • sources
  • kde-4.12
  • kdepim
  • korganizer
  • interfaces
  • korganizer
baseview.h
Go to the documentation of this file.
1 /*
2  This file is part of the KOrganizer interfaces.
3 
4  Copyright (c) 1999,2001,2003 Cornelius Schumacher <schumacher@kde.org>
5  Copyright (C) 2004 Reinhold Kainhofer <reinhold@kainhofer.com>
6 
7  This library is free software; you can redistribute it and/or
8  modify it under the terms of the GNU Library General Public
9  License as published by the Free Software Foundation; either
10  version 2 of the License, or (at your option) any later version.
11 
12  This library is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  Library General Public License for more details.
16 
17  You should have received a copy of the GNU Library General Public License
18  along with this library; see the file COPYING.LIB. If not, write to
19  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20  Boston, MA 02110-1301, USA.
21 */
22 
23 #ifndef KORG_INTERFACES_BASEVIEW_H
24 #define KORG_INTERFACES_BASEVIEW_H
25 
26 #include "korganizer/korganizer_export.h"
27 #include "printplugin.h"
28 
29 #include <Akonadi/Calendar/IncidenceChanger>
30 #include <Akonadi/Calendar/ETMCalendar>
31 #include <calendarviews/eventview.h>
32 
33 #include <Akonadi/Collection>
34 #include <Akonadi/Item>
35 
36 #include <QWidget>
37 
38 namespace KOrg {
39 
51 class KORGANIZER_INTERFACES_EXPORT BaseView : public QWidget
52 {
53  Q_OBJECT
54  public:
62  explicit BaseView( QWidget *parent = 0 );
63 
67  virtual ~BaseView();
68 
69  virtual void setCalendar( const Akonadi::ETMCalendar::Ptr &cal );
73  virtual Akonadi::ETMCalendar::Ptr calendar();
74 
80  virtual Akonadi::Item::List selectedIncidences() = 0;
81 
87  virtual KCalCore::DateList selectedIncidenceDates() = 0;
88 
93  virtual QDateTime selectionStart() { return QDateTime(); }
94 
99  virtual QDateTime selectionEnd() { return QDateTime(); }
100 
101  virtual CalPrinterBase::PrintType printType() const;
102 
107  virtual int currentDateCount() const = 0;
108 
112  virtual bool isEventView();
113 
126  virtual void getHighlightMode( bool &highlightEvents,
127  bool &highlightTodos,
128  bool &highlightJournals );
129 
134  virtual bool usesFullWindow();
135 
140  virtual bool supportsZoom();
141 
146  virtual bool supportsDateRangeSelection();
147 
148  virtual bool hasConfigurationDialog() const;
149 
150  virtual void showConfigurationDialog( QWidget *parent );
151 
152  QByteArray identifier() const;
153  virtual void setIdentifier( const QByteArray &identifier );
154 
162  virtual void restoreConfig( const KConfigGroup &configGroup );
163 
171  virtual void saveConfig( KConfigGroup &configGroup );
172 
178  virtual BaseView *viewAt( const QPoint &p );
179 
188  virtual void setDateRange( const KDateTime &start, const KDateTime &end,
189  const QDate &preferredMonth = QDate() );
190 
191  KDateTime startDateTime() const;
192  KDateTime endDateTime() const;
193 
194  KDateTime actualStartDateTime() const;
195  KDateTime actualEndDateTime() const;
196 
200  virtual bool supportsDateNavigation() const { return false; }
201 
202  virtual Akonadi::Collection::Id collectionId() const { return -1; }
203 
204  public Q_SLOTS:
212  virtual void showIncidences( const Akonadi::Item::List &incidenceList, const QDate &date ) = 0;
213 
218  virtual void updateView() = 0;
219  virtual void dayPassed( const QDate & );
220 
224  virtual void setIncidenceChanger( Akonadi::IncidenceChanger *changer );
225 
229  virtual void flushView();
230 
234  virtual void changeIncidenceDisplay( const Akonadi::Item &,
235  Akonadi::IncidenceChanger::ChangeType ) = 0;
236 
241  virtual void updateConfig();
242 
246  virtual void clearSelection();
247 
252  virtual bool eventDurationHint( QDateTime &startDt, QDateTime &endDt, bool &allDay );
253 
254  Q_SIGNALS:
255  void incidenceSelected( const Akonadi::Item &, const QDate );
256 
260  void showIncidenceSignal( const Akonadi::Item & );
261 
267  void editIncidenceSignal( const Akonadi::Item & );
268 
274  void deleteIncidenceSignal( const Akonadi::Item & );
275 
279  void cutIncidenceSignal( const Akonadi::Item & );
280 
284  void copyIncidenceSignal( const Akonadi::Item & );
285 
289  void pasteIncidenceSignal();
290 
294  void toggleAlarmSignal( const Akonadi::Item & );
295 
300  void toggleTodoCompletedSignal( const Akonadi::Item & );
301 
305  void copyIncidenceToResourceSignal( const Akonadi::Item &, const QString & );
306 
310  void moveIncidenceToResourceSignal( const Akonadi::Item &, const QString & );
311 
316  void dissociateOccurrencesSignal( const Akonadi::Item &, const QDate & );
317 
318  void startMultiModify( const QString & );
319  void endMultiModify();
320 
325  void newEventSignal();
326 
331  void newEventSignal( const QDate & );
332 
337  void newEventSignal( const QDateTime & );
338 
344  void newEventSignal( const QDateTime &, const QDateTime & );
345 
346  void newTodoSignal( const QDate & );
347  void newSubTodoSignal( const Akonadi::Item & );
348 
349  void newJournalSignal( const QDate & );
350 
351  public:
352 
358  virtual void setChanges( EventViews::EventView::Changes changes );
359 
363  EventViews::EventView::Changes changes() const;
364 
365  protected:
369  virtual void doRestoreConfig( const KConfigGroup &configGroup );
370 
374  virtual void doSaveConfig( KConfigGroup &configGroup );
375 
379  virtual void showDates( const QDate &start, const QDate &end,
380  const QDate &preferredMonth = QDate() ) = 0;
381 
388  virtual QPair<KDateTime,KDateTime> actualDateRange(
389  const KDateTime &start,
390  const KDateTime &end,
391  const QDate &preferredMonth = QDate() ) const;
392 
393  protected Q_SLOTS:
394  virtual void calendarReset();
395 
396  protected:
397  Akonadi::IncidenceChanger *mChanger;
398 
399  private:
400  class Private;
401  Private *const d;
402  friend class KOrg::BaseView::Private;
403 };
404 
405 }
406 
407 #endif
KOrg::BaseView::mChanger
Akonadi::IncidenceChanger * mChanger
Definition: baseview.h:397
printplugin.h
KOrg::BaseView::supportsDateNavigation
virtual bool supportsDateNavigation() const
Returns true if the view supports navigation through the date navigator ( selecting a date range...
Definition: baseview.h:200
QWidget
KORGANIZER_INTERFACES_EXPORT
#define KORGANIZER_INTERFACES_EXPORT
Definition: korganizer_export.h:87
KOrg::BaseView::collectionId
virtual Akonadi::Collection::Id collectionId() const
Definition: baseview.h:202
korganizer_export.h
KOrg::BaseView
This class provides an interface for all views being displayed within the main calendar view...
Definition: baseview.h:51
KOrg::BaseView::selectionStart
virtual QDateTime selectionStart()
Returns the start of the selection, or an invalid QDateTime if there is no selection or the view does...
Definition: baseview.h:93
KOrg::BaseView::selectionEnd
virtual QDateTime selectionEnd()
Returns the end of the selection, or an invalid QDateTime if there is no selection or the view doesn'...
Definition: baseview.h:99
KOrg::CalPrinterBase::PrintType
PrintType
Definition: printplugin.h:45
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:56:19 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

korganizer

Skip menu "korganizer"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

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