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

#include <kis_tool_measure.h>

+ Inheritance diagram for KisToolMeasureOptionsWidget:

Public Slots

void slotResolutionChanged (double xRes, double yRes)
 
void slotSetAngle (double angle)
 
void slotSetDistance (double distance)
 
void slotUnitChanged (int index)
 

Public Member Functions

 KisToolMeasureOptionsWidget (QWidget *parent, KisImageWSP image)
 

Public Attributes

QLabel * m_distanceLabel {nullptr}
 
double m_resolution
 
KoUnit m_unit
 

Private Member Functions

void updateDistance ()
 

Private Attributes

QLabel * m_angleLabel {nullptr}
 
double m_distance {0.0}
 

Detailed Description

Definition at line 31 of file kis_tool_measure.h.

Constructor & Destructor Documentation

◆ KisToolMeasureOptionsWidget()

KisToolMeasureOptionsWidget::KisToolMeasureOptionsWidget ( QWidget * parent,
KisImageWSP image )

Definition at line 36 of file kis_tool_measure.cc.

37 : QWidget(parent),
38 m_resolution(image->xRes()),
40{
41 m_distance = 0.0;
42
43 QGridLayout* optionLayout = new QGridLayout(this);
44 Q_CHECK_PTR(optionLayout);
45 optionLayout->setContentsMargins(0, 0, 0, 0);
46
47 optionLayout->addWidget(new QLabel(i18n("Distance:"), this), 0, 0);
48 optionLayout->addWidget(new QLabel(i18n("Angle:"), this), 1, 0);
49
50 m_distanceLabel = new QLabel(this);
51 m_distanceLabel->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
52 optionLayout->addWidget(m_distanceLabel, 0, 1);
53
54 m_angleLabel = new QLabel(this);
55 m_angleLabel->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
56 optionLayout->addWidget(m_angleLabel, 1, 1);
57
58 KComboBox* unitBox = new KComboBox(this);
60 connect(unitBox, SIGNAL(currentIndexChanged(int)), this, SLOT(slotUnitChanged(int)));
61 unitBox->setCurrentIndex(m_unit.indexInListForUi(KoUnit::ListAll));
62
63 optionLayout->addWidget(unitBox, 0, 2);
64 optionLayout->addItem(new QSpacerItem(1, 1, QSizePolicy::Fixed, QSizePolicy::Expanding), 2, 0, 1, 2);
65
66 connect(image, SIGNAL(sigResolutionChanged(double, double)), this, SLOT(slotResolutionChanged(double, double)));
67}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
double xRes() const
void slotResolutionChanged(double xRes, double yRes)
@ ListAll
Definition KoUnit.h:88
@ Pixel
Definition KoUnit.h:82
static QStringList listOfUnitNameForUi(ListOptions listOptions=ListAll)
Returns the list of unit types for the UI, controlled with the given listOptions.
Definition KoUnit.cpp:69
int indexInListForUi(ListOptions listOptions=ListAll) const
Definition KoUnit.cpp:101

References connect(), KoUnit::indexInListForUi(), KoUnit::ListAll, KoUnit::listOfUnitNameForUi(), m_angleLabel, m_distance, m_distanceLabel, m_unit, slotResolutionChanged(), and slotUnitChanged().

Member Function Documentation

◆ slotResolutionChanged

void KisToolMeasureOptionsWidget::slotResolutionChanged ( double xRes,
double yRes )
slot

Definition at line 86 of file kis_tool_measure.cc.

87{
88 m_resolution = xRes;
90}

References m_resolution, and updateDistance().

◆ slotSetAngle

void KisToolMeasureOptionsWidget::slotSetAngle ( double angle)
slot

Definition at line 75 of file kis_tool_measure.cc.

76{
77 m_angleLabel->setText(i18nc("angle value in degrees", "%1°", KritaUtils::prettyFormatReal(angle)));
78}
QString KRITAIMAGE_EXPORT prettyFormatReal(qreal value)

References m_angleLabel, and KritaUtils::prettyFormatReal().

◆ slotSetDistance

void KisToolMeasureOptionsWidget::slotSetDistance ( double distance)
slot

Definition at line 69 of file kis_tool_measure.cc.

70{
73}
qreal distance(const QPointF &p1, const QPointF &p2)

References distance(), m_distance, and updateDistance().

◆ slotUnitChanged

void KisToolMeasureOptionsWidget::slotUnitChanged ( int index)
slot

Definition at line 80 of file kis_tool_measure.cc.

81{
84}
static KoUnit fromListForUi(int index, ListOptions listOptions=ListAll, qreal factor=1.0)
Definition KoUnit.cpp:80

References KoUnit::fromListForUi(), KoUnit::ListAll, m_resolution, m_unit, and updateDistance().

◆ updateDistance()

void KisToolMeasureOptionsWidget::updateDistance ( )
private

Definition at line 92 of file kis_tool_measure.cc.

93{
96}
qreal toUserValue(qreal ptValue, bool rounding=true) const
Definition KoUnit.cpp:186

References distance(), m_distance, m_distanceLabel, m_resolution, m_unit, KritaUtils::prettyFormatReal(), and KoUnit::toUserValue().

Member Data Documentation

◆ m_angleLabel

QLabel* KisToolMeasureOptionsWidget::m_angleLabel {nullptr}
private

Definition at line 47 of file kis_tool_measure.h.

47{nullptr};

◆ m_distance

double KisToolMeasureOptionsWidget::m_distance {0.0}
private

Definition at line 48 of file kis_tool_measure.h.

48{0.0};

◆ m_distanceLabel

QLabel* KisToolMeasureOptionsWidget::m_distanceLabel {nullptr}

Definition at line 50 of file kis_tool_measure.h.

50{nullptr};

◆ m_resolution

double KisToolMeasureOptionsWidget::m_resolution

Definition at line 51 of file kis_tool_measure.h.

◆ m_unit

KoUnit KisToolMeasureOptionsWidget::m_unit

Definition at line 52 of file kis_tool_measure.h.


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