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

#include <EllipseShapeConfigWidget.h>

+ Inheritance diagram for EllipseShapeConfigWidget:

Public Member Functions

KUndo2CommandcreateCommand () override
 reimplemented
 
 EllipseShapeConfigWidget ()
 
void notifyShapeChanged (KoShape::ChangeType type, KoShape *shape) override
 
void open (KoShape *shape) override
 reimplemented
 
void save () 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 void setUnit (const KoUnit &unit)
 
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 Slots

void closeEllipse ()
 

Private Member Functions

void loadPropertiesFromShape (EllipseShape *shape)
 

Private Attributes

EllipseShapem_ellipse
 
Ui::EllipseShapeConfigWidget 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 16 of file EllipseShapeConfigWidget.h.

Constructor & Destructor Documentation

◆ EllipseShapeConfigWidget()

EllipseShapeConfigWidget::EllipseShapeConfigWidget ( )

Definition at line 13 of file EllipseShapeConfigWidget.cpp.

14 : m_ellipse(0)
15{
16 widget.setupUi(this);
17
18 widget.ellipseType->clear();
19 widget.ellipseType->addItem(i18n("Arc"));
20 widget.ellipseType->addItem(i18n("Pie"));
21 widget.ellipseType->addItem(i18n("Chord"));
22
23 widget.startAngle->setFlipOptionsMode(KisAngleSelector::FlipOptionsMode_MenuButton);
24
25 widget.endAngle->setFlipOptionsMode(KisAngleSelector::FlipOptionsMode_MenuButton);
26
27 connect(widget.ellipseType, SIGNAL(currentIndexChanged(int)), this, SIGNAL(propertyChanged()));
28 connect(widget.startAngle, SIGNAL(angleChanged(qreal)), this, SIGNAL(propertyChanged()));
29 connect(widget.endAngle, SIGNAL(angleChanged(qreal)), this, SIGNAL(propertyChanged()));
30 connect(widget.closeEllipse, SIGNAL(clicked(bool)), this, SLOT(closeEllipse()));
31}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
Ui::EllipseShapeConfigWidget widget
@ FlipOptionsMode_MenuButton
The flip options are shown as a menu accessible via a options button.
void clear()
Removes all subpaths and their points from the path.
void propertyChanged()
is emitted after one of the config options has changed

References closeEllipse(), connect(), KisAngleSelector::FlipOptionsMode_MenuButton, KoShapeConfigWidgetBase::propertyChanged(), and widget.

Member Function Documentation

◆ closeEllipse

void EllipseShapeConfigWidget::closeEllipse ( )
privateslot

Definition at line 87 of file EllipseShapeConfigWidget.cpp.

88{
89 widget.startAngle->blockSignals(true);
90 widget.endAngle->blockSignals(true);
91
92 widget.startAngle->setAngle(0.0);
93 widget.endAngle->setAngle(360.0);
94
95 widget.startAngle->blockSignals(false);
96 widget.endAngle->blockSignals(false);
97
98 Q_EMIT propertyChanged();
99}

References KoShapeConfigWidgetBase::propertyChanged(), and widget.

◆ createCommand()

KUndo2Command * EllipseShapeConfigWidget::createCommand ( )
overridevirtual

reimplemented

Reimplemented from KoShapeConfigWidgetBase.

Definition at line 68 of file EllipseShapeConfigWidget.cpp.

69{
70 if (!m_ellipse) {
71 return 0;
72 } else {
73 EllipseShape::EllipseType type = static_cast<EllipseShape::EllipseType>(widget.ellipseType->currentIndex());
74 return new EllipseShapeConfigCommand(m_ellipse, type, widget.startAngle->angle(), widget.endAngle->angle());
75 }
76}
The undo / redo command for configuring an ellipse shape.
qreal startAngle() const
Returns the actual ellipse start angle in degree.
EllipseType
the possible ellipse types

References m_ellipse, EllipseShape::startAngle(), and widget.

◆ loadPropertiesFromShape()

void EllipseShapeConfigWidget::loadPropertiesFromShape ( EllipseShape * shape)
private

Definition at line 47 of file EllipseShapeConfigWidget.cpp.

48{
49 KisSignalsBlocker b(widget.ellipseType, widget.startAngle, widget.endAngle);
50
51 widget.ellipseType->setCurrentIndex(shape->type());
52 widget.startAngle->setAngle(shape->startAngle());
53 widget.endAngle->setAngle(shape->endAngle());
54}
qreal endAngle() const
Returns the actual ellipse end angle in degree.
EllipseType type() const
Returns the actual ellipse type.

References EllipseShape::endAngle(), EllipseShape::startAngle(), EllipseShape::type(), and widget.

◆ notifyShapeChanged()

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

Implements KoShape::ShapeChangeListener.

Definition at line 78 of file EllipseShapeConfigWidget.cpp.

79{
81
82 if (type == KoShape::ParameterChanged) {
84 }
85}
void open(KoShape *shape) override
reimplemented
@ ParameterChanged
the shapes parameter has changed (KoParameterShape only)
Definition KoShape.h:109
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
Definition kis_assert.h:128

References KIS_SAFE_ASSERT_RECOVER_RETURN, m_ellipse, open(), and KoShape::ParameterChanged.

◆ open()

void EllipseShapeConfigWidget::open ( KoShape * shape)
overridevirtual

reimplemented

Implements KoShapeConfigWidgetBase.

Definition at line 33 of file EllipseShapeConfigWidget.cpp.

34{
35 if (m_ellipse) {
37 }
38
39 m_ellipse = dynamic_cast<EllipseShape *>(shape);
40 if (!m_ellipse) return;
41
43
45}
void loadPropertiesFromShape(EllipseShape *shape)
void addShapeChangeListener(ShapeChangeListener *listener)
Definition KoShape.cpp:1360
void removeShapeChangeListener(ShapeChangeListener *listener)
Definition KoShape.cpp:1368

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

◆ save()

void EllipseShapeConfigWidget::save ( )
overridevirtual

reimplemented

Implements KoShapeConfigWidgetBase.

Definition at line 57 of file EllipseShapeConfigWidget.cpp.

58{
59 if (!m_ellipse) {
60 return;
61 }
62
63 m_ellipse->setType(static_cast<EllipseShape::EllipseType>(widget.ellipseType->currentIndex()));
64 m_ellipse->setStartAngle(widget.startAngle->angle());
65 m_ellipse->setEndAngle(widget.endAngle->angle());
66}
void setType(EllipseType type)
void setStartAngle(qreal angle)
void setEndAngle(qreal angle)

References m_ellipse, EllipseShape::setEndAngle(), EllipseShape::setStartAngle(), EllipseShape::setType(), and widget.

◆ showOnShapeCreate()

bool EllipseShapeConfigWidget::showOnShapeCreate ( )
inlineoverridevirtual

reimplemented

Reimplemented from KoShapeConfigWidgetBase.

Definition at line 26 of file EllipseShapeConfigWidget.h.

27 {
28 return false;
29 }

Member Data Documentation

◆ m_ellipse

EllipseShape* EllipseShapeConfigWidget::m_ellipse
private

Definition at line 43 of file EllipseShapeConfigWidget.h.

◆ widget

Ui::EllipseShapeConfigWidget EllipseShapeConfigWidget::widget
private

Definition at line 42 of file EllipseShapeConfigWidget.h.


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