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

calendarsupport

  • sources
  • kde-4.14
  • kdepim
  • calendarsupport
  • printing
printplugin.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2003 Reinhold Kainhofer <reinhold@kainhofer.com>
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Library General Public
6  License as published by the Free Software Foundation; either
7  version 2 of the License, or (at your option) any later version.
8 
9  This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Library General Public License for more details.
13 
14  You should have received a copy of the GNU Library General Public License
15  along with this library; see the file COPYING.LIB. If not, write to
16  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  Boston, MA 02110-1301, USA.
18 */
19 
20 #ifndef CALENDARSUPPORT_PRINTING_PRINTPLUGIN_H
21 #define CALENDARSUPPORT_PRINTING_PRINTPLUGIN_H
22 
23 #include "plugin.h"
24 
25 #include <Akonadi/Calendar/ETMCalendar>
26 
27 #include <KCalCore/Incidence>
28 
29 #include <QPrinter>
30 
31 namespace CalendarSupport {
32 
36 class CalPrinterBase
37 {
38  public:
39  enum PrintType {
40  Incidence = 100,
41  Day=200,
42  Week=300,
43  Month=400,
44  Year=900,
45  Todolist=1000,
46  Journallist=2000,
47  WhatsNext=2100,
48  ItemList=2200
49  };
50 };
51 
56 class PrintPlugin : public Plugin
57 {
58  public:
59  PrintPlugin() : Plugin(), mConfigWidget(0), mPrinter(0),
60  mCalendar(0), mConfig(0) {}
61  virtual ~PrintPlugin() {}
62 
63  typedef QList<PrintPlugin*> List;
64  static int interfaceVersion() { return 2; }
65 
66  virtual void setConfig( KConfig *cfg ) { mConfig = cfg; }
67 
68  virtual void setCalendar( const Akonadi::ETMCalendar::Ptr &cal ) { mCalendar = cal; }
69 
70  virtual void setSelectedIncidences( KCalCore::Incidence::List inc )
71  { mSelectedIncidences = inc; }
72 
73  virtual KCalCore::Incidence::List selectedIncidences() const
74  { return mSelectedIncidences; }
75 
79  virtual QString groupName() = 0;
83  virtual QString description() = 0;
87  virtual QString info() const = 0;
88 
97  virtual int sortID() { return -1; }
98 
102  virtual bool enabled() { return false; }
103 
104  QWidget *configWidget( QWidget *w )
105  {
106  if ( !mConfigWidget ) {
107  mConfigWidget = createConfigWidget( w );
108  setSettingsWidget();
109  }
110  return mConfigWidget;
111  }
112  /* Create the config widget. setSettingsWidget will be automatically
113  called on it */
114  virtual QWidget *createConfigWidget( QWidget * ) = 0;
115 
119  virtual void doPrint( QPrinter *printer ) = 0;
120 
127  virtual QPrinter::Orientation defaultOrientation()
128  { return QPrinter::Portrait; }
129 
133  virtual void doLoadConfig() {}
137  virtual void doSaveConfig() {}
138 
139  public:
143  virtual void readSettingsWidget() {}
144 
148  virtual void setSettingsWidget() {}
149 
153  virtual void setDateRange( const QDate &from, const QDate &to )
154  {
155  mFromDate = from;
156  mToDate = to;
157  }
158 
159  protected:
160  QDate mFromDate;
161  QDate mToDate;
162 
163  protected:
164  QPointer<QWidget> mConfigWidget;
167  QPrinter *mPrinter;
168  Akonadi::ETMCalendar::Ptr mCalendar;
169  KCalCore::Incidence::List mSelectedIncidences;
170  KConfig *mConfig;
171 };
172 
173 class PrintPluginFactory : public PluginFactory
174 {
175  public:
176  virtual PrintPlugin *createPluginFactory() = 0;
177 };
178 
179 }
180 
181 #endif
QWidget
CalendarSupport::PrintPlugin::createConfigWidget
virtual QWidget * createConfigWidget(QWidget *)=0
CalendarSupport::PrintPlugin::enabled
virtual bool enabled()
Returns true if the plugin should be enabled; false otherwise.
Definition: printplugin.h:102
CalendarSupport::CalPrinterBase::Journallist
Definition: printplugin.h:46
CalendarSupport::PrintPlugin::doPrint
virtual void doPrint(QPrinter *printer)=0
Actually do the printing.
CalendarSupport::PrintPlugin::interfaceVersion
static int interfaceVersion()
Definition: printplugin.h:64
QPrinter
CalendarSupport::PluginFactory
Definition: plugin.h:55
CalendarSupport::PrintPlugin::doLoadConfig
virtual void doLoadConfig()
Load complete config.
Definition: printplugin.h:133
CalendarSupport::CalPrinterBase
Base class of Calendar printer class.
Definition: printplugin.h:36
QPointer< QWidget >
plugin.h
CalendarSupport::PrintPlugin::setDateRange
virtual void setDateRange(const QDate &from, const QDate &to)
Set date range which should be printed.
Definition: printplugin.h:153
CalendarSupport::CalPrinterBase::Incidence
Definition: printplugin.h:40
CalendarSupport::PrintPlugin::doSaveConfig
virtual void doSaveConfig()
Save complete config.
Definition: printplugin.h:137
CalendarSupport::PrintPlugin::PrintPlugin
PrintPlugin()
Definition: printplugin.h:59
CalendarSupport::PrintPlugin::List
QList< PrintPlugin * > List
Definition: printplugin.h:63
CalendarSupport::PrintPlugin::mFromDate
QDate mFromDate
Definition: printplugin.h:160
CalendarSupport::PrintPlugin::readSettingsWidget
virtual void readSettingsWidget()
Read settings from configuration widget and apply them to current object.
Definition: printplugin.h:143
CalendarSupport::CalPrinterBase::Todolist
Definition: printplugin.h:45
CalendarSupport::CalPrinterBase::Day
Definition: printplugin.h:41
CalendarSupport::PrintPlugin::groupName
virtual QString groupName()=0
Returns KConfig group name where store settings.
CalendarSupport::CalPrinterBase::ItemList
Definition: printplugin.h:48
CalendarSupport::PrintPlugin::info
virtual QString info() const =0
Returns long description of print format.
CalendarSupport::PrintPlugin::mSelectedIncidences
KCalCore::Incidence::List mSelectedIncidences
Definition: printplugin.h:169
CalendarSupport::PrintPlugin::mCalendar
Akonadi::ETMCalendar::Ptr mCalendar
Definition: printplugin.h:168
CalendarSupport::PrintPlugin::configWidget
QWidget * configWidget(QWidget *w)
Definition: printplugin.h:104
QDate
QString
QList< PrintPlugin * >
CalendarSupport::CalPrinterBase::PrintType
PrintType
Definition: printplugin.h:39
CalendarSupport::PrintPlugin::description
virtual QString description()=0
Returns short description of print format.
CalendarSupport::CalPrinterBase::Week
Definition: printplugin.h:42
CalendarSupport::PrintPlugin::setCalendar
virtual void setCalendar(const Akonadi::ETMCalendar::Ptr &cal)
Definition: printplugin.h:68
CalendarSupport::PrintPlugin::mConfigWidget
QPointer< QWidget > mConfigWidget
Definition: printplugin.h:164
CalendarSupport::PrintPlugin::selectedIncidences
virtual KCalCore::Incidence::List selectedIncidences() const
Definition: printplugin.h:73
CalendarSupport::CalPrinterBase::WhatsNext
Definition: printplugin.h:47
CalendarSupport::PrintPlugin
Base class for Calendar printing classes.
Definition: printplugin.h:56
CalendarSupport::Plugin
Specifies the plugin interface.
Definition: plugin.h:35
CalendarSupport::PrintPluginFactory::createPluginFactory
virtual PrintPlugin * createPluginFactory()=0
CalendarSupport::CalPrinterBase::Year
Definition: printplugin.h:44
CalendarSupport::PrintPlugin::mToDate
QDate mToDate
Definition: printplugin.h:161
CalendarSupport::PrintPluginFactory
Definition: printplugin.h:173
CalendarSupport::PrintPlugin::sortID
virtual int sortID()
Returns the sort ID of the plugin.
Definition: printplugin.h:97
CalendarSupport::PrintPlugin::~PrintPlugin
virtual ~PrintPlugin()
Definition: printplugin.h:61
CalendarSupport::PrintPlugin::defaultOrientation
virtual QPrinter::Orientation defaultOrientation()
Orientation of printout.
Definition: printplugin.h:127
CalendarSupport::PrintPlugin::setSettingsWidget
virtual void setSettingsWidget()
Set configuration widget to reflect settings of current object.
Definition: printplugin.h:148
CalendarSupport::PrintPlugin::setConfig
virtual void setConfig(KConfig *cfg)
Definition: printplugin.h:66
CalendarSupport::PrintPlugin::mConfig
KConfig * mConfig
Definition: printplugin.h:170
CalendarSupport::PrintPlugin::setSelectedIncidences
virtual void setSelectedIncidences(KCalCore::Incidence::List inc)
Definition: printplugin.h:70
CalendarSupport::PrintPlugin::mPrinter
QPrinter * mPrinter
The printer object.
Definition: printplugin.h:167
CalendarSupport::CalPrinterBase::Month
Definition: printplugin.h:43
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:31:15 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

calendarsupport

Skip menu "calendarsupport"
  • 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
  • pimprint

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