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

okteta

  • sources
  • kde-4.12
  • kdesdk
  • okteta
  • libs
  • framesprint
headerfooterframerenderer.h
Go to the documentation of this file.
1 /*
2  This file is part of the Okteta Kasten module, made within the KDE community.
3 
4  Copyright 2007 Friedrich W. H. Kossebau <kossebau@kde.org>
5 
6  This library is free software; you can redistribute it and/or
7  modify it under the terms of the GNU Lesser General Public
8  License as published by the Free Software Foundation; either
9  version 2.1 of the License, or (at your option) version 3, or any
10  later version accepted by the membership of KDE e.V. (or its
11  successor approved by the membership of KDE e.V.), which shall
12  act as a proxy defined in Section 6 of version 3 of the license.
13 
14  This library is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  Lesser General Public License for more details.
18 
19  You should have received a copy of the GNU Lesser General Public
20  License along with this library. If not, see <http://www.gnu.org/licenses/>.
21 */
22 
23 #ifndef HEADERFOOTERFRAMERENDERER_H
24 #define HEADERFOOTERFRAMERENDERER_H
25 
26 // lib
27 #include "abstractframerenderer.h"
28 // KDE
29 #include <KUrl>
30 // Qt
31 #include <QtCore/QStringList>
32 #include <QtGui/QFont>
33 #include <QtGui/QColor>
34 
35 class QString;
36 
37 class PrintInfo
38 {
39  public:
40  KUrl url() const;
41  int noOfPages() const;
42 
43  public:
44  void setUrl( const KUrl &url );
45  void setNoOfPages( int noOfPages );
46 
47  protected:
48  KUrl mUrl;
49  int mNoOfPages;
50 };
51 
52 inline KUrl PrintInfo::url() const { return mUrl; }
53 inline int PrintInfo::noOfPages() const { return mNoOfPages; }
54 inline void PrintInfo::setUrl( const KUrl &url ) { mUrl = url; }
55 inline void PrintInfo::setNoOfPages( int noOfPages ) { mNoOfPages = noOfPages; }
56 
57 
58 class HeaderFooterFrameRenderer : public AbstractFrameRenderer
59 {
60  public:
61  enum BoxStyle {
62  NoLines = 0,
63  NoBackground = 0,
64  NoBox = NoLines | NoBackground,
65  BackgroundDrawn = 1,
66  LineAbove = 2, LineBelow = 4, LinesAtSide = 8,
67  Box = LineAbove | LineBelow | LinesAtSide };
68 
69  public:
70  explicit HeaderFooterFrameRenderer( const PrintInfo* info );
71  virtual ~HeaderFooterFrameRenderer();
72 
73  public: // AbstractFrameRenderer API
74  // make this flags?
75 // virtual bool hasFixedWidth() const;
76 // virtual bool hasFixedHeight() const;
77  virtual int height() const;
78  virtual int width() const;
79 // virtual QSize sizeHint( const QSize &maxSize ) const;
80  // only vertical for now...
81 // virtual int framesCount() const;
82 
83  virtual void prepare();
84  virtual void renderFrame( QPainter *painter, int frameIndex );
85 
86  public:
87  void setWidth( int width );
88  void setTexts( const QString &leftText, const QString &centerText, const QString &rightText );
89  void setBoxStyle( int boxStyle );
90 
91  protected:
92  void calculateHeight();
93 
94  protected:
95  const PrintInfo* mInfo;
96 
97  int mHeight;
98  int mWidth;
99 
100  int mBoxStyle;
101  int mLineWidth;
102  int mBoxMargin;
103  QColor mLineColor;
104  QColor mBgColor;
105  QColor mFgColor;
106  QFont mFont;
107 
108  QStringList mOriginalTextList;
109  QStringList mGloballyReplacedTextList;
110 };
111 
112 #endif
HeaderFooterFrameRenderer::LineBelow
Definition: headerfooterframerenderer.h:66
HeaderFooterFrameRenderer::mFont
QFont mFont
Definition: headerfooterframerenderer.h:106
PrintInfo::url
KUrl url() const
Definition: headerfooterframerenderer.h:52
HeaderFooterFrameRenderer::prepare
virtual void prepare()
painting will start, fix all things like Time and Data
Definition: headerfooterframerenderer.cpp:84
AbstractFrameRenderer
Definition: abstractframerenderer.h:32
PrintInfo::setUrl
void setUrl(const KUrl &url)
Definition: headerfooterframerenderer.h:54
HeaderFooterFrameRenderer::LinesAtSide
Definition: headerfooterframerenderer.h:66
HeaderFooterFrameRenderer::calculateHeight
void calculateHeight()
Definition: headerfooterframerenderer.cpp:64
HeaderFooterFrameRenderer::mGloballyReplacedTextList
QStringList mGloballyReplacedTextList
Definition: headerfooterframerenderer.h:109
abstractframerenderer.h
HeaderFooterFrameRenderer::LineAbove
Definition: headerfooterframerenderer.h:66
HeaderFooterFrameRenderer::setBoxStyle
void setBoxStyle(int boxStyle)
Definition: headerfooterframerenderer.cpp:56
PrintInfo::setNoOfPages
void setNoOfPages(int noOfPages)
Definition: headerfooterframerenderer.h:55
HeaderFooterFrameRenderer::setTexts
void setTexts(const QString &leftText, const QString &centerText, const QString &rightText)
Definition: headerfooterframerenderer.cpp:50
HeaderFooterFrameRenderer::HeaderFooterFrameRenderer
HeaderFooterFrameRenderer(const PrintInfo *info)
Definition: headerfooterframerenderer.cpp:36
PrintInfo::mNoOfPages
int mNoOfPages
Definition: headerfooterframerenderer.h:49
HeaderFooterFrameRenderer::mBoxMargin
int mBoxMargin
Definition: headerfooterframerenderer.h:102
HeaderFooterFrameRenderer::NoBox
Definition: headerfooterframerenderer.h:64
HeaderFooterFrameRenderer::mBoxStyle
int mBoxStyle
Definition: headerfooterframerenderer.h:100
HeaderFooterFrameRenderer::mWidth
int mWidth
Definition: headerfooterframerenderer.h:98
HeaderFooterFrameRenderer::mInfo
const PrintInfo * mInfo
Definition: headerfooterframerenderer.h:95
HeaderFooterFrameRenderer::height
virtual int height() const
Definition: headerfooterframerenderer.cpp:45
HeaderFooterFrameRenderer::BackgroundDrawn
Definition: headerfooterframerenderer.h:65
HeaderFooterFrameRenderer::setWidth
void setWidth(int width)
Definition: headerfooterframerenderer.cpp:48
HeaderFooterFrameRenderer::width
virtual int width() const
Definition: headerfooterframerenderer.cpp:46
HeaderFooterFrameRenderer::NoLines
Definition: headerfooterframerenderer.h:62
HeaderFooterFrameRenderer::mHeight
int mHeight
Definition: headerfooterframerenderer.h:97
HeaderFooterFrameRenderer::mBgColor
QColor mBgColor
Definition: headerfooterframerenderer.h:104
HeaderFooterFrameRenderer::~HeaderFooterFrameRenderer
virtual ~HeaderFooterFrameRenderer()
Definition: headerfooterframerenderer.cpp:164
PrintInfo
Definition: headerfooterframerenderer.h:37
PrintInfo::mUrl
KUrl mUrl
Definition: headerfooterframerenderer.h:48
HeaderFooterFrameRenderer::NoBackground
Definition: headerfooterframerenderer.h:63
HeaderFooterFrameRenderer::mLineColor
QColor mLineColor
Definition: headerfooterframerenderer.h:103
HeaderFooterFrameRenderer
Definition: headerfooterframerenderer.h:58
HeaderFooterFrameRenderer::mFgColor
QColor mFgColor
Definition: headerfooterframerenderer.h:105
HeaderFooterFrameRenderer::Box
Definition: headerfooterframerenderer.h:67
PrintInfo::noOfPages
int noOfPages() const
Definition: headerfooterframerenderer.h:53
HeaderFooterFrameRenderer::mLineWidth
int mLineWidth
Definition: headerfooterframerenderer.h:101
HeaderFooterFrameRenderer::mOriginalTextList
QStringList mOriginalTextList
Definition: headerfooterframerenderer.h:108
HeaderFooterFrameRenderer::BoxStyle
BoxStyle
Definition: headerfooterframerenderer.h:61
HeaderFooterFrameRenderer::renderFrame
virtual void renderFrame(QPainter *painter, int frameIndex)
Definition: headerfooterframerenderer.cpp:128
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:04:08 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

okteta

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

kdesdk API Reference

Skip menu "kdesdk API Reference"
  • kapptemplate
  • kcachegrind
  • kompare
  • lokalize
  • okteta
  • umbrello
  •   umbrello

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