File indexing completed on 2024-06-23 04:27:04

0001 /* This file is part of the KDE project
0002  * SPDX-FileCopyrightText: 2007 Jan Hambrecht <jaham@gmx.net>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 
0007 #ifndef RECTANGLESHAPECONFIGWIDGET_H
0008 #define RECTANGLESHAPECONFIGWIDGET_H
0009 
0010 #include <ui_RectangleShapeConfigWidget.h>
0011 
0012 #include <KoShapeConfigWidgetBase.h>
0013 #include <KoShape.h>
0014 
0015 class RectangleShape;
0016 
0017 class RectangleShapeConfigWidget : public KoShapeConfigWidgetBase, public KoShape::ShapeChangeListener
0018 {
0019     Q_OBJECT
0020 public:
0021     RectangleShapeConfigWidget();
0022     /// reimplemented
0023     void open(KoShape *shape) override;
0024     /// reimplemented
0025     void save() override;
0026     /// reimplemented
0027     void setUnit(const KoUnit &unit) override;
0028     /// reimplemented
0029     bool showOnShapeCreate() override
0030     {
0031         return false;
0032     }
0033     /// reimplemented
0034     KUndo2Command *createCommand() override;
0035 
0036     void notifyShapeChanged(KoShape::ChangeType type, KoShape *shape) override;
0037 
0038 private:
0039     void loadPropertiesFromShape(RectangleShape *shape);
0040 
0041 private:
0042     Ui::RectangleShapeConfigWidget widget;
0043     RectangleShape *m_rectangle;
0044 };
0045 
0046 #endif // RECTANGLESHAPECONFIGWIDGET_H