KReport

KReportItemLine.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 KREPORTITEMLINE_H
19 #define KREPORTITEMLINE_H
20 
21 #include "KReportItemBase.h"
22 #include "kreport_export.h"
23 
24 class QDomNode;
25 
26 namespace Scripting
27 {
28 class Line;
29 }
30 
31 /**
32 */
33 class KReportItemLine : public KReportItemBase
34 {
35 Q_OBJECT
36 public:
37  KReportItemLine();
38  explicit KReportItemLine(const QDomNode & element);
39  ~KReportItemLine() override;
40 
41  QString typeName() const override;
42  int renderSimpleData(OROPage *page, OROSection *section, const QPointF &offset,
43  const QVariant &data, KReportScriptHandler *script) override;
44 
45  void setUnit(const KReportUnit &u) override;
46 
47  QPointF startPosition() const;
48  void setStartPosition(const QPointF &ptPos);
49  QPointF endPosition() const;
50  void setEndPosition(const QPointF &ptPos);
51 
52 protected:
53  KProperty *m_lineColor;
54  KProperty *m_lineWeight;
55  KProperty *m_lineStyle;
56 
57  KReportLineStyle lineStyle() const;
58  qreal weight() const;
59  void setWeight(qreal w);
60 
61 private:
62  KProperty *m_start;
63  KProperty *m_end;
64 
65  void createProperties() override;
66 
67  friend class Scripting::Line;
68 };
69 
70 #endif
Base class for items that are drawn syncronously.
Line item script interface.
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.
Converts between different units.
Definition: KReportUnit.h:70
The KReportLineStyle class represents line style.
virtual void setUnit(const KReportUnit &u)
Sets unit to a and converts values of position and size property from the old unit to new if needed.
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.
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Sat Dec 9 2023 04:08:54 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.