Krita Source Code Documentation
Loading...
Searching...
No Matches
RectangleShapeConfigWidget Class Reference

#include <RectangleShapeConfigWidget.h>

+ Inheritance diagram for RectangleShapeConfigWidget:

Public Member Functions

KUndo2CommandcreateCommand () override
 reimplemented
 
void notifyShapeChanged (KoShape::ChangeType type, KoShape *shape) override
 
void open (KoShape *shape) override
 reimplemented
 
 RectangleShapeConfigWidget ()
 
void save () override
 reimplemented
 
void setUnit (const KoUnit &unit) override
 reimplemented
 
bool showOnShapeCreate () override
 reimplemented
 
- Public Member Functions inherited from KoShapeConfigWidgetBase
 KoShapeConfigWidgetBase ()
 
void setResourceManager (KoCanvasResourceProvider *rm)
 called to set the canvas resource manager of the canvas the user used to insert the new shape.
 
virtual bool showOnShapeSelect ()
 Return true if the shape config panel should be shown when the shape is selected.
 
 ~KoShapeConfigWidgetBase () override
 
- Public Member Functions inherited from KoShape::ShapeChangeListener
virtual ~ShapeChangeListener ()
 

Private Member Functions

void loadPropertiesFromShape (RectangleShape *shape)
 

Private Attributes

RectangleShapem_rectangle
 
Ui::RectangleShapeConfigWidget widget
 

Additional Inherited Members

- Signals inherited from KoShapeConfigWidgetBase
void accept ()
 is emitted when the dialog should be accepted ie a file double clicked in a filebrowser
 
void propertyChanged ()
 is emitted after one of the config options has changed
 
- Protected Attributes inherited from KoShapeConfigWidgetBase
KoCanvasResourceProviderm_resourceManager
 the resource provider with data for this canvas
 

Detailed Description

Definition at line 17 of file RectangleShapeConfigWidget.h.

Constructor & Destructor Documentation

◆ RectangleShapeConfigWidget()

RectangleShapeConfigWidget::RectangleShapeConfigWidget ( )

Definition at line 15 of file RectangleShapeConfigWidget.cpp.

16 : m_rectangle(0)
17{
18 widget.setupUi(this);
19
20 connect(widget.cornerRadiusX, SIGNAL(valueChangedPt(qreal)), this, SIGNAL(propertyChanged()));
21 connect(widget.cornerRadiusY, SIGNAL(valueChangedPt(qreal)), this, SIGNAL(propertyChanged()));
22}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
void propertyChanged()
is emitted after one of the config options has changed
Ui::RectangleShapeConfigWidget widget

References connect(), KoShapeConfigWidgetBase::propertyChanged(), and widget.

Member Function Documentation

◆ createCommand()

KUndo2Command * RectangleShapeConfigWidget::createCommand ( )
overridevirtual

reimplemented

Reimplemented from KoShapeConfigWidgetBase.

Definition at line 68 of file RectangleShapeConfigWidget.cpp.

69{
70 if (!m_rectangle) {
71 return 0;
72 }
73 QSizeF size = m_rectangle->size();
74
75 qreal cornerRadiusX = 100.0 * widget.cornerRadiusX->value() / (0.5 * size.width());
76 qreal cornerRadiusY = 100.0 * widget.cornerRadiusY->value() / (0.5 * size.height());
77
78 return new RectangleShapeConfigCommand(m_rectangle, cornerRadiusX, cornerRadiusY);
79}
QSizeF size() const override
reimplemented
The undo / redo command for configuring a rectangle shape.
int size(const Forest< T > &forest)
Definition KisForest.h:1232

References m_rectangle, KoPathShape::size(), and widget.

◆ loadPropertiesFromShape()

void RectangleShapeConfigWidget::loadPropertiesFromShape ( RectangleShape * shape)
private

Definition at line 44 of file RectangleShapeConfigWidget.cpp.

45{
46 KisSignalsBlocker b(widget.cornerRadiusX, widget.cornerRadiusY);
47
48 QSizeF size = shape->size();
49
50 widget.cornerRadiusX->setMaximum(0.5 * size.width());
51 widget.cornerRadiusX->changeValue(0.01 * shape->cornerRadiusX() * 0.5 * size.width());
52 widget.cornerRadiusY->setMaximum(0.5 * size.height());
53 widget.cornerRadiusY->changeValue(0.01 * shape->cornerRadiusY() * 0.5 * size.height());
54}
qreal cornerRadiusX() const
Returns the corner radius in x-direction.
qreal cornerRadiusY() const
Returns the corner radius in y-direction.

References RectangleShape::cornerRadiusX(), RectangleShape::cornerRadiusY(), KoPathShape::size(), and widget.

◆ notifyShapeChanged()

void RectangleShapeConfigWidget::notifyShapeChanged ( KoShape::ChangeType type,
KoShape * shape )
overridevirtual

Implements KoShape::ShapeChangeListener.

Definition at line 81 of file RectangleShapeConfigWidget.cpp.

82{
84
85 if (type == KoShape::ParameterChanged) {
87 }
88}
@ ParameterChanged
the shapes parameter has changed (KoParameterShape only)
Definition KoShape.h:109
void loadPropertiesFromShape(RectangleShape *shape)
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
Definition kis_assert.h:128

References KIS_SAFE_ASSERT_RECOVER_RETURN, loadPropertiesFromShape(), m_rectangle, and KoShape::ParameterChanged.

◆ open()

void RectangleShapeConfigWidget::open ( KoShape * shape)
overridevirtual

reimplemented

Implements KoShapeConfigWidgetBase.

Definition at line 30 of file RectangleShapeConfigWidget.cpp.

31{
32 if (m_rectangle) {
34 }
35
36 m_rectangle = dynamic_cast<RectangleShape *>(shape);
37 if (!m_rectangle) return;
38
40
42}
void addShapeChangeListener(ShapeChangeListener *listener)
Definition KoShape.cpp:1360
void removeShapeChangeListener(ShapeChangeListener *listener)
Definition KoShape.cpp:1368

References KoShape::addShapeChangeListener(), loadPropertiesFromShape(), m_rectangle, and KoShape::removeShapeChangeListener().

◆ save()

void RectangleShapeConfigWidget::save ( )
overridevirtual

reimplemented

Implements KoShapeConfigWidgetBase.

Definition at line 56 of file RectangleShapeConfigWidget.cpp.

57{
58 if (!m_rectangle) {
59 return;
60 }
61
62 QSizeF size = m_rectangle->size();
63
64 m_rectangle->setCornerRadiusX(100.0 * widget.cornerRadiusX->value() / (0.5 * size.width()));
65 m_rectangle->setCornerRadiusY(100.0 * widget.cornerRadiusY->value() / (0.5 * size.height()));
66}
void setCornerRadiusY(qreal radius)
void setCornerRadiusX(qreal radius)

References m_rectangle, RectangleShape::setCornerRadiusX(), RectangleShape::setCornerRadiusY(), KoPathShape::size(), and widget.

◆ setUnit()

void RectangleShapeConfigWidget::setUnit ( const KoUnit & unit)
overridevirtual

reimplemented

Reimplemented from KoShapeConfigWidgetBase.

Definition at line 24 of file RectangleShapeConfigWidget.cpp.

25{
26 widget.cornerRadiusX->setUnit(unit);
27 widget.cornerRadiusY->setUnit(unit);
28}

References widget.

◆ showOnShapeCreate()

bool RectangleShapeConfigWidget::showOnShapeCreate ( )
inlineoverridevirtual

reimplemented

Reimplemented from KoShapeConfigWidgetBase.

Definition at line 29 of file RectangleShapeConfigWidget.h.

30 {
31 return false;
32 }

Member Data Documentation

◆ m_rectangle

RectangleShape* RectangleShapeConfigWidget::m_rectangle
private

Definition at line 43 of file RectangleShapeConfigWidget.h.

◆ widget

Ui::RectangleShapeConfigWidget RectangleShapeConfigWidget::widget
private

Definition at line 42 of file RectangleShapeConfigWidget.h.


The documentation for this class was generated from the following files: