KReport

KReportItemText.h
1 /* This file is part of the KDE project
2  * Copyright (C) 2007-2008 by Adam Pigg ([email protected])
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 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  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 #ifndef KREPORTITEMTEXT_H
19 #define KREPORTITEMTEXT_H
20 
21 #include "KReportItemBase.h"
22 
23 #include <KProperty>
24 
25 class QDomNode;
26 
27 namespace Scripting
28 {
29 class Text;
30 
31 }
32 /**
33 */
34 class KReportItemText : public KReportItemBase
35 {
37 public:
38  KReportItemText();
39  explicit KReportItemText(const QDomNode & element);
40  ~KReportItemText() override;
41 
42  QString typeName() const override;
43  int renderSimpleData(OROPage *page, OROSection *section, const QPointF &offset, const QVariant &data, KReportScriptHandler *script) override;
44 
45 protected:
46  KProperty* m_horizontalAlignment;
47  KProperty* m_verticalAlignment;
48  KProperty* m_font;
49  KProperty* m_foregroundColor;
50  KProperty* m_backgroundColor;
51  KProperty* m_backgroundOpacity;
52  KProperty* m_lineColor;
53  KProperty* m_lineWeight;
54  KProperty* m_lineStyle;
55  KProperty* m_itemValue;
56 
57 
58  qreal m_bottomPadding;
59 
60  Qt::Alignment textFlags() const;
61  QFont font() const {
62  return m_font->value().value<QFont>();
63  }
64 
65  void setBottomPadding(qreal bp);
66  qreal bottomPadding() const;
67 
68 
69  KReportTextStyleData textStyle() const;
70  KReportLineStyle lineStyle() const;
71 
72 private:
73  void createProperties() override;
74 
75  friend class Scripting::Text;
76 };
77 
78 #endif
Q_OBJECTQ_OBJECT
Base class for items that are drawn syncronously.
typedef Alignment
virtual int renderSimpleData(OROPage *page, OROSection *section, const QPointF &offset, const QVariant &data, KReportScriptHandler *script)
Render the item into a primitive which is used by the second stage renderer.
The KReportLineStyle class represents line style.
T value() const const
virtual QString typeName() const =0
Return the item type as a string.
Represents a single page in a document and may contain zero or more OROPrimitive objects all of which...
Represents a single a single row in a document and may contain zero or more OROPrimitives.
Text item script interface.
Field item script interface.
QVariant value() const
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Tue Feb 7 2023 04:17:37 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.