KReport

KReportDesignerItemLabel.h
1/* This file is part of the KDE project
2 * Copyright (C) 2001-2007 by OpenMFG, LLC (info@openmfg.com)
3 * Copyright (C) 2007-2008 by Adam Pigg (adam@piggz.co.uk)
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#ifndef KREPORTDESIGNERITEMLABEL_H
20#define KREPORTDESIGNERITEMLABEL_H
21
22#include "KReportItemLabel.h"
23#include "KReportDesignerItemRectBase.h"
24#include "KReportBoundedTextItem.h"
25
26#include <QGraphicsRectItem>
27#include <QGraphicsItem>
28#include <QGraphicsItemGroup>
29#include <KPropertySet>
30
31class KReportDesignerItemLabel : public KReportItemLabel, public KReportDesignerItemRectBase
32{
34public:
35 KReportDesignerItemLabel(KReportDesigner *designer, QGraphicsScene *scene, const QPointF &pos);
36 KReportDesignerItemLabel(const QDomNode &element, KReportDesigner *designer,
38 ~KReportDesignerItemLabel() override;
39
40 void buildXML(QDomDocument *doc, QDomElement *parent) override;
41 void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr) override;
42 KReportDesignerItemLabel* clone() override;
43
44public Q_SLOTS:
45 void enterInlineEditingMode() override;
46 void exitInlineEditingMode() override;
47
48protected:
49 void mouseDoubleClickEvent ( QGraphicsSceneMouseEvent * event ) override;
50 void keyReleaseEvent ( QKeyEvent * event ) override;
51
52private:
53 void init(QGraphicsScene *scene);
54 QRectF getTextRect() const;
55 BoundedTextItem *m_inlineEdit;
56
57private Q_SLOTS:
58 void slotPropertyChanged(KPropertySet &, KProperty &);
59
60};
61
62#endif
Subclass of QGraphicsTextItem which simply forces its boundingRect to be the same as its parent.
Base class for rectangular report items used within the designer GUI.
The ReportDesigner is the main widget for designing a report.
QPointF pos() const const
QGraphicsScene * scene() const const
Q_OBJECTQ_OBJECT
Q_SLOTSQ_SLOTS
virtual bool event(QEvent *e)
QObject * parent() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:21:31 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.