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

#include <KisStretchedIconButton.h>

+ Inheritance diagram for KisStretchedIconButton:

Public Member Functions

QAction * associatedAction () const
 
 KisStretchedIconButton (QWidget *parent)
 
void setAssociatedAction (QAction *action)
 
void setStretchedIcon (const QIcon &icon)
 
QIcon stretchedIcon () const
 
 ~KisStretchedIconButton ()
 

Protected Slots

void slotActionChanged ()
 

Protected Member Functions

void resizeEvent (QResizeEvent *event)
 

Private Member Functions

void updateLabelIcon ()
 

Private Attributes

QPointer< QAction > m_action
 
KisSignalAutoConnectionsStore m_actionConnections
 
QLabel * m_label {nullptr}
 
QIcon m_stretchedIcon
 

Detailed Description

Definition at line 19 of file KisStretchedIconButton.h.

Constructor & Destructor Documentation

◆ KisStretchedIconButton()

KisStretchedIconButton::KisStretchedIconButton ( QWidget * parent)

Definition at line 16 of file KisStretchedIconButton.cpp.

17 : QToolButton(parent),
18 m_label(new QLabel(this))
19{
20 m_label->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
21 QHBoxLayout *layout = new QHBoxLayout();
22 layout->addWidget(m_label);
23 setLayout(layout);
25}

References m_label, and slotActionChanged().

◆ ~KisStretchedIconButton()

KisStretchedIconButton::~KisStretchedIconButton ( )

Definition at line 27 of file KisStretchedIconButton.cpp.

28{
29}

Member Function Documentation

◆ associatedAction()

QAction * KisStretchedIconButton::associatedAction ( ) const

Definition at line 55 of file KisStretchedIconButton.cpp.

56{
57 return m_action;
58}

References m_action.

◆ resizeEvent()

void KisStretchedIconButton::resizeEvent ( QResizeEvent * event)
protected

Definition at line 60 of file KisStretchedIconButton.cpp.

61{
62 QToolButton::resizeEvent(event);
64}

References updateLabelIcon().

◆ setAssociatedAction()

void KisStretchedIconButton::setAssociatedAction ( QAction * action)

Definition at line 42 of file KisStretchedIconButton.cpp.

43{
45 m_action = action;
46 if (action) {
47 m_actionConnections.addConnection(action, &QAction::changed,
49 m_actionConnections.addConnection(this, &KisStretchedIconButton::clicked,
50 action, &QAction::trigger);
51 }
53}
void addConnection(Sender sender, Signal signal, Receiver receiver, Method method, Qt::ConnectionType type=Qt::AutoConnection)
KisSignalAutoConnectionsStore m_actionConnections

References KisSignalAutoConnectionsStore::addConnection(), KisSignalAutoConnectionsStore::clear(), m_action, m_actionConnections, and slotActionChanged().

◆ setStretchedIcon()

void KisStretchedIconButton::setStretchedIcon ( const QIcon & icon)

Definition at line 31 of file KisStretchedIconButton.cpp.

References m_stretchedIcon, and updateLabelIcon().

◆ slotActionChanged

void KisStretchedIconButton::slotActionChanged ( )
protectedslot

Definition at line 71 of file KisStretchedIconButton.cpp.

72{
73 setStretchedIcon(m_action ? m_action->icon() : QIcon());
74 setText("");
75 setToolTip(m_action ? m_action->toolTip() : "");
76 setStatusTip(m_action ? m_action->statusTip() : "");
77 setWhatsThis(m_action ? m_action->whatsThis() : "");
78 setEnabled(m_action && m_action->isEnabled());
79 setVisible(m_action && m_action->isVisible());
80}
void setStretchedIcon(const QIcon &icon)
void setText(QSpinBox *spinBox, const QStringView textTemplate)

References m_action, and setStretchedIcon().

◆ stretchedIcon()

QIcon KisStretchedIconButton::stretchedIcon ( ) const

Definition at line 37 of file KisStretchedIconButton.cpp.

38{
39 return m_stretchedIcon;
40}

References m_stretchedIcon.

◆ updateLabelIcon()

void KisStretchedIconButton::updateLabelIcon ( )
private

Definition at line 66 of file KisStretchedIconButton.cpp.

67{
68 m_label->setPixmap(m_stretchedIcon.pixmap(this->windowHandle(), m_label->size()));
69}

References m_label, and m_stretchedIcon.

Member Data Documentation

◆ m_action

QPointer<QAction> KisStretchedIconButton::m_action
private

Definition at line 42 of file KisStretchedIconButton.h.

◆ m_actionConnections

KisSignalAutoConnectionsStore KisStretchedIconButton::m_actionConnections
private

Definition at line 43 of file KisStretchedIconButton.h.

◆ m_label

QLabel* KisStretchedIconButton::m_label {nullptr}
private

Definition at line 41 of file KisStretchedIconButton.h.

41{nullptr};

◆ m_stretchedIcon

QIcon KisStretchedIconButton::m_stretchedIcon
private

Definition at line 44 of file KisStretchedIconButton.h.


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