Krita Source Code Documentation
Loading...
Searching...
No Matches
KisSelectAllActionFactory Struct Reference

#include <kis_selection_action_factories.h>

+ Inheritance diagram for KisSelectAllActionFactory:

Public Member Functions

 KisSelectAllActionFactory ()
 
void run (KisViewManager *view) override
 
- Public Member Functions inherited from KisNoParameterActionFactory
 KisNoParameterActionFactory (const QString &id)
 
void runFromXML (KisViewManager *view, const KisOperationConfiguration &config) override
 
- Public Member Functions inherited from KisOperation
QString id () const
 
 KisOperation (const QString &id)
 
virtual ~KisOperation ()
 

Additional Inherited Members

- Protected Member Functions inherited from KisOperation
KisProcessingApplicatorbeginAction (KisViewManager *view, const KUndo2MagicString &actionName)
 
void endAction (KisProcessingApplicator *applicator, const QString &xmlData)
 

Detailed Description

Definition at line 17 of file kis_selection_action_factories.h.

Constructor & Destructor Documentation

◆ KisSelectAllActionFactory()

KisSelectAllActionFactory::KisSelectAllActionFactory ( )
inline

Definition at line 18 of file kis_selection_action_factories.h.

18: KisNoParameterActionFactory("select-all-ui-action") {}

Member Function Documentation

◆ run()

void KisSelectAllActionFactory::run ( KisViewManager * view)
overridevirtual

Implements KisNoParameterActionFactory.

Definition at line 147 of file kis_selection_action_factories.cpp.

148{
149 KisImageWSP image = view->image();
150 if (!image) return;
151
152 if (view->canvasBase()->toolProxy()->selectAll()) {
153 return;
154 }
155
156 KisProcessingApplicator *ap = beginAction(view, kundo2_i18n("Select All"));
157
159 [image] () {
160 return !image->globalSelection() ?
162 }),
165
166 struct SelectAll : public KisTransactionBasedCommand {
167 SelectAll(KisImageSP image) : m_image(image) {}
168 KisImageSP m_image;
169 KUndo2Command* paint() override {
170 KisSelectionSP selection = m_image->globalSelection();
171 KisSelectionTransaction transaction(selection->pixelSelection());
172 selection->pixelSelection()->clear();
173 selection->pixelSelection()->select(m_image->bounds());
174 return transaction.endAndTake();
175 }
176 };
177
178 ap->applyCommand(new SelectAll(image),
181
182 endAction(ap, KisOperationConfiguration(id()).toXML());
183}
KisToolProxy toolProxy
KisSelectionSP globalSelection() const
Definition kis_image.cc:695
QRect bounds() const override
KisProcessingApplicator * beginAction(KisViewManager *view, const KUndo2MagicString &actionName)
void endAction(KisProcessingApplicator *applicator, const QString &xmlData)
void applyCommand(KUndo2Command *command, KisStrokeJobData::Sequentiality sequentiality=KisStrokeJobData::SEQUENTIAL, KisStrokeJobData::Exclusivity exclusivity=KisStrokeJobData::NORMAL)
KisCanvas2 * canvasBase() const
Return the canvas base class.
KisImageWSP image() const
Return the image this view is displaying.
bool selectAll()
Forwarded to the current KoToolBase.
KUndo2MagicString kundo2_i18n(const char *text)
The LambdaCommand struct is a shorthand for creation of AggregateCommand commands using C++ lambda fe...
void clear(const QRect &r)
void select(const QRect &r, quint8 selectedness=MAX_SELECTED)
KisPixelSelectionSP pixelSelection

References KisProcessingApplicator::applyCommand(), KisOperation::beginAction(), KisImage::bounds(), KisViewManager::canvasBase(), KisPixelSelection::clear(), KisOperation::endAction(), KisTransaction::endAndTake(), KisStrokeJobData::EXCLUSIVE, KisImage::globalSelection(), KisViewManager::image(), kundo2_i18n(), KisSelection::pixelSelection, KisPixelSelection::select(), KoToolProxy::selectAll(), KisStrokeJobData::SEQUENTIAL, and KisCanvas2::toolProxy.


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