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

#include <kis_selection_actions_panel_handle.h>

+ Inheritance diagram for KisSelectionActionsPanelHandle:

Classes

struct  Private
 

Public Member Functions

void draw (QPainter &painter, const KoColorDisplayRendererInterface *renderInterface)
 
 KisSelectionActionsPanelHandle (int size, QWidget *parent)
 
void set_held (bool held)
 
 ~KisSelectionActionsPanelHandle ()
 

Protected Member Functions

void contextMenuEvent (QContextMenuEvent *event) override
 
void mousePressEvent (QMouseEvent *event) override
 

Private Attributes

QScopedPointer< Privated
 

Detailed Description

Definition at line 14 of file kis_selection_actions_panel_handle.h.

Constructor & Destructor Documentation

◆ KisSelectionActionsPanelHandle()

KisSelectionActionsPanelHandle::KisSelectionActionsPanelHandle ( int size,
QWidget * parent )

Definition at line 22 of file kis_selection_actions_panel_handle.cpp.

22 :
23 QWidget(parent),
24 d(new Private(size))
25{
26 d->default_cursor = Qt::OpenHandCursor;
27 d->held_cursor = Qt::ClosedHandCursor;
28 d->handle_icon = KisIconUtils::loadIcon("drag-handle");
29 this->setCursor(d->default_cursor);
30 setFixedSize(size, size);
31 setAttribute(Qt::WA_AcceptTouchEvents);
32}
QIcon loadIcon(const QString &name)

References d, and KisIconUtils::loadIcon().

◆ ~KisSelectionActionsPanelHandle()

KisSelectionActionsPanelHandle::~KisSelectionActionsPanelHandle ( )

Definition at line 34 of file kis_selection_actions_panel_handle.cpp.

35{
36}

Member Function Documentation

◆ contextMenuEvent()

void KisSelectionActionsPanelHandle::contextMenuEvent ( QContextMenuEvent * event)
overrideprotected

Definition at line 68 of file kis_selection_actions_panel_handle.cpp.

69{
70 Q_EMIT customContextMenuRequested(mapToGlobal(event->pos()));
71 event->accept();
72}

◆ draw()

void KisSelectionActionsPanelHandle::draw ( QPainter & painter,
const KoColorDisplayRendererInterface * renderInterface )

Definition at line 50 of file kis_selection_actions_panel_handle.cpp.

51{
52 QRect rect = geometry();
53
54 // Adjust the rect a bit to fill the right side of the bar properly
55 painter.fillRect(rect.marginsAdded(QMargins(-3, 4, 1, 4)), renderInterface->systemPaletteForDisplayColorSpace().window().color());
56
57 // Adjusting the icon location a bit to be properly centered
58 QImage ic = renderInterface->convertImageToDisplayColorSpace(d->handle_icon.pixmap(d->size, d->size).toImage());
59#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
60 QRect target = QRect(QPoint(0, 0), ic.size()/ic.devicePixelRatioF());
61#else
62 QRect target = QRect(QPoint(0, 0), ic.deviceIndependentSize().toSize());
63#endif
64 target.moveCenter(rect.center() + QPoint(3, 0));
65 painter.drawImage(target, ic);
66}
KisMagneticGraph::vertex_descriptor target(typename KisMagneticGraph::edge_descriptor e, KisMagneticGraph g)
virtual QImage convertImageToDisplayColorSpace(const QImage source) const =0
convertImageToDisplayColorSpace
virtual QPalette systemPaletteForDisplayColorSpace() const =0
systemPaletteForDisplayColorSpace

References KoColorDisplayRendererInterface::convertImageToDisplayColorSpace(), d, KoColorDisplayRendererInterface::systemPaletteForDisplayColorSpace(), and target().

◆ mousePressEvent()

void KisSelectionActionsPanelHandle::mousePressEvent ( QMouseEvent * event)
overrideprotected

Definition at line 74 of file kis_selection_actions_panel_handle.cpp.

75{
76 //Do not propagate the rmb event, to prevent other tool context menus from appearing
77 if (event->button() == Qt::RightButton) {
78 event->accept();
79 } else {
80 QWidget::mousePressEvent(event);
81 }
82}

◆ set_held()

void KisSelectionActionsPanelHandle::set_held ( bool held)

Definition at line 38 of file kis_selection_actions_panel_handle.cpp.

39{
40 if(held)
41 {
42 this->setCursor(d->held_cursor);
43 }
44 else
45 {
46 this->setCursor(d->default_cursor);
47 }
48}

References d.

Member Data Documentation

◆ d

QScopedPointer<Private> KisSelectionActionsPanelHandle::d
private

Definition at line 26 of file kis_selection_actions_panel_handle.h.


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