KReport

KReportItemLabel.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 KReportItemLabel_H
19 #define KReportItemLabel_H
20 
21 #include "KReportItemBase.h"
22 
23 #include <KProperty>
24 
25 class QDomNode;
26 
27 namespace Scripting
28 {
29 class Label;
30 }
31 
32 /**
33 */
34 class KReportItemLabel : public KReportItemBase
35 {
37 public:
38  KReportItemLabel();
39  explicit KReportItemLabel(const QDomNode & element);
40  ~KReportItemLabel() 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 
47  KProperty *m_text;
48  KProperty *m_horizontalAlignment;
49  KProperty *m_verticalAlignment;
50  KProperty *m_font;
51  KProperty *m_foregroundColor;
52  KProperty *m_backgroundColor;
53  KProperty *m_backgroundOpacity;
54  KProperty *m_lineColor;
55  KProperty *m_lineWeight;
56  KProperty *m_lineStyle;
57 
58  QString text() const;
59  QFont font() const {
60  return m_font->value().value<QFont>();
61  }
62  Qt::Alignment textFlags() const;
63  void setText(const QString&);
64  KReportTextStyleData textStyle() const;
65  KReportLineStyle lineStyle() const;
66 
67 private:
68  void createProperties() override;
69 
70  friend class Scripting::Label;
71 };
72 #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.
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.