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

#include <kis_grid_manager.h>

+ Inheritance diagram for KisGridManager:

Classes

struct  Private
 

Public Slots

void updateGUI ()
 

Signals

void sigRequestUpdateGridConfig (const KisGridConfig &config)
 

Public Member Functions

 KisGridManager (KisViewManager *parent)
 
void setGridConfig (const KisGridConfig &config)
 
void setup (KisActionManager *actionManager)
 
void setView (QPointer< KisView >imageView)
 
 ~KisGridManager () override
 

Private Slots

void slotChangeGridVisibilityTriggered (bool value)
 
void slotSnapToGridTriggered (bool value)
 

Private Member Functions

void setFastConfig (int size)
 
void setGridConfigImpl (const KisGridConfig &config, bool emitModified)
 

Private Attributes

QScopedPointer< Privatem_d
 

Detailed Description

Definition at line 24 of file kis_grid_manager.h.

Constructor & Destructor Documentation

◆ KisGridManager()

KisGridManager::KisGridManager ( KisViewManager * parent)

Definition at line 42 of file kis_grid_manager.cpp.

43 : QObject(parent)
44 , m_d(new Private)
45{
46
47}
QScopedPointer< Private > m_d

◆ ~KisGridManager()

KisGridManager::~KisGridManager ( )
override

Definition at line 49 of file kis_grid_manager.cpp.

50{
51
52}

Member Function Documentation

◆ setFastConfig()

void KisGridManager::setFastConfig ( int size)
private

◆ setGridConfig()

void KisGridManager::setGridConfig ( const KisGridConfig & config)

Definition at line 54 of file kis_grid_manager.cpp.

55{
56 setGridConfigImpl(config, true);
57}
void setGridConfigImpl(const KisGridConfig &config, bool emitModified)

References setGridConfigImpl().

◆ setGridConfigImpl()

void KisGridManager::setGridConfigImpl ( const KisGridConfig & config,
bool emitModified )
private

Definition at line 59 of file kis_grid_manager.cpp.

60{
61 if (!m_d->imageView) return;
62
63 config.saveStaticData();
64 m_d->imageView->document()->setGridConfig(config);
65
66 m_d->gridDecoration->setGridConfig(config);
67 m_d->gridDecoration->setVisible(config.showGrid());
68
69 m_d->toggleGrid->setChecked(config.showGrid());
70 m_d->toggleSnapToGrid->setChecked(config.snapToGrid());
71}
void saveStaticData() const
bool snapToGrid() const
bool showGrid() const

References m_d, KisGridConfig::saveStaticData(), KisGridConfig::showGrid(), and KisGridConfig::snapToGrid().

◆ setup()

void KisGridManager::setup ( KisActionManager * actionManager)

Definition at line 73 of file kis_grid_manager.cpp.

74{
75 m_d->toggleGrid = actionManager->createAction("view_grid");
76 connect(m_d->toggleGrid, SIGNAL(toggled(bool)), this, SLOT(slotChangeGridVisibilityTriggered(bool)));
77
78 m_d->toggleSnapToGrid = actionManager->createAction("view_snap_to_grid");
79 connect(m_d->toggleSnapToGrid, SIGNAL(toggled(bool)), this, SLOT(slotSnapToGridTriggered(bool)));
80}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
KisAction * createAction(const QString &name)
void slotChangeGridVisibilityTriggered(bool value)
void slotSnapToGridTriggered(bool value)

References connect(), KisActionManager::createAction(), m_d, slotChangeGridVisibilityTriggered(), and slotSnapToGridTriggered().

◆ setView()

void KisGridManager::setView ( QPointer< KisView > imageView)

Definition at line 87 of file kis_grid_manager.cpp.

88{
89 if (m_d->imageView) {
90 m_d->connections.clear();
91 m_d->gridDecoration = 0;
92 }
93
94 m_d->imageView = imageView;
95
96 if (imageView) {
97 if (!imageView->document()) {
98 return;
99 }
100
101 m_d->gridDecoration = qobject_cast<KisGridDecoration*>(imageView->canvasBase()->decoration("grid").data());
102 if (!m_d->gridDecoration) {
103 m_d->gridDecoration = new KisGridDecoration(imageView);
104 imageView->canvasBase()->addDecoration(m_d->gridDecoration);
105 }
106 m_d->connections.addConnection(imageView->document(), SIGNAL(sigGridConfigChanged(KisGridConfig)),
108
109 KisGridConfig config = imageView->document()->gridConfig();
110 setGridConfigImpl(config, false);
111
112 KisSignalsBlocker blocker(m_d->toggleGrid, m_d->toggleSnapToGrid);
113 Q_UNUSED(blocker);
114 m_d->toggleGrid->setChecked(config.showGrid());
115 m_d->toggleSnapToGrid->setChecked(config.snapToGrid());
116 }
117}
void sigRequestUpdateGridConfig(const KisGridConfig &config)

References m_d, setGridConfigImpl(), KisGridConfig::showGrid(), sigRequestUpdateGridConfig(), and KisGridConfig::snapToGrid().

◆ sigRequestUpdateGridConfig

void KisGridManager::sigRequestUpdateGridConfig ( const KisGridConfig & config)
signal

◆ slotChangeGridVisibilityTriggered

void KisGridManager::slotChangeGridVisibilityTriggered ( bool value)
privateslot

Definition at line 119 of file kis_grid_manager.cpp.

120{
121 if (!m_d->imageView) return;
122
123 KisGridConfig config = m_d->imageView->document()->gridConfig();
124 config.setShowGrid(value);
125
126 setGridConfig(config);
127 Q_EMIT sigRequestUpdateGridConfig(config);
128}
float value(const T *src, size_t ch)
void setShowGrid(bool value)
void setGridConfig(const KisGridConfig &config)

References m_d, setGridConfig(), KisGridConfig::setShowGrid(), sigRequestUpdateGridConfig(), and value().

◆ slotSnapToGridTriggered

void KisGridManager::slotSnapToGridTriggered ( bool value)
privateslot

Definition at line 130 of file kis_grid_manager.cpp.

131{
132 if (!m_d->imageView) return;
133
134 KisGridConfig config = m_d->imageView->document()->gridConfig();
135 config.setSnapToGrid(value);
136
137 setGridConfig(config);
138 Q_EMIT sigRequestUpdateGridConfig(config);
139}
void setSnapToGrid(bool value)

References m_d, setGridConfig(), KisGridConfig::setSnapToGrid(), sigRequestUpdateGridConfig(), and value().

◆ updateGUI

void KisGridManager::updateGUI ( )
slot

Definition at line 82 of file kis_grid_manager.cpp.

83{
84
85}

Member Data Documentation

◆ m_d

QScopedPointer<Private> KisGridManager::m_d
private

Definition at line 57 of file kis_grid_manager.h.


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