|
Krita Source Code Documentation
|
A widget for configuring the fill of a shape. More...
#include <KoFillConfigWidget.h>
Inheritance diagram for KoFillConfigWidget:Signals | |
| void | sigFillChanged () |
| void | sigInternalRecoverColorInResourceManager () |
| void | sigInternalRequestColorToResourceManager () |
| void | sigMeshGradientResetted () |
Public Member Functions | |
| void | activate () |
| KoShapeStrokeSP | createShapeStroke () |
| QList< KoShape * > | currentShapes () |
| void | deactivate () |
| void | forceUpdateOnSelectionChanged () |
| KoFillConfigWidget (KoCanvasBase *canvas, KoFlake::FillVariant fillVariant, bool trackShapeSelection, QWidget *parent) | |
| Private (KoFlake::FillVariant _fillVariant, KoFillConfigWidget *q) | |
| int | selectedFillIndex () |
| returns the selected index of the fill type | |
| void | setNoSelectionTrackingMode (bool value) |
| void | setSelectedMeshGradientHandle (const SvgMeshPosition &position) |
| ~KoFillConfigWidget () override | |
Public Attributes | |
| KoStopGradientSP | activeGradient |
| QScopedPointer< SvgMeshGradient > | activeMeshGradient |
| KoCanvasBase * | canvas {nullptr} |
| KoColorPopupAction * | colorAction {nullptr} |
| KisSignalCompressorWithParam< std::pair< QColor, KoFlake::FillVariant > > | colorChangedCompressor |
| std::vector< KisAcyclicSignalConnector::Blocker > | deactivationLocks |
| KoFlake::FillVariant | fillVariant |
| KoResourcePopupAction * | gradientAction {nullptr} |
| KisSignalCompressor | gradientChangedCompressor |
| QButtonGroup * | group {nullptr} |
| SvgMeshPosition | meshposition |
| bool | noSelectionTrackingMode {false} |
| std::array< boost::optional< KoColor >, 2 > | overriddenColorFromProvider |
| KoResourcePopupAction * | patternAction {nullptr} |
| KisAcyclicSignalConnector | resourceManagerAcyclicConnector |
| KoFillConfigWidget::StyleButton | selectedFillIndex {KoFillConfigWidget::None} |
| KisSignalCompressor | shapeChangedCompressor |
| QScopedPointer< Ui_KoFillConfigWidget > | ui |
Private Types | |
| enum | StyleButton { None = 0 , Solid , Gradient , Pattern , MeshGradient } |
Private Slots | |
| void | activeGradientChanged () |
| void | colorChanged (std::pair< QColor, KoFlake::FillVariant > resource) |
| apply color changes to the selected shape | |
| void | gradientResourceChanged () |
| void | noColorSelected () |
| void | patternChanged (QSharedPointer< KoShapeBackground > background) |
| the pattern of the fill changed, apply the changes | |
| void | shapeChanged () |
| void | slotCanvasResourceChanged (int key, const QVariant &value) |
| void | slotGradientRepeatChanged () |
| void | slotGradientTypeChanged () |
| void | slotMeshGradientChanged () |
| this won't preserve the rows and columns | |
| void | slotMeshGradientShadingChanged (int index) |
| void | slotMeshHandleColorChanged (const KoColor &c) |
| void | slotProposeCurrentColorToResourceManager () |
| void | slotRecoverColorInResourceManager () |
| void | slotSavePredefinedGradientClicked () |
| void | slotUpdateFillTitle () |
| void | styleButtonPressed (int buttonId) |
Private Member Functions | |
| void | createNewDefaultMeshGradientBackground () |
| void | createNewMeshGradientBackground () |
| sets the active gradient either from the shape (if present) or creates a new one | |
| void | loadCurrentFillFromResourceServer () |
| void | setNewGradientBackgroundToShape () |
| void | setNewMeshGradientBackgroundToShape () |
| void | updateGradientSaveButtonAvailability () |
| void | updateGradientUi (const QGradient *gradient) |
| void | updateMeshGradientUI () |
| void | updateUiFromFillType (KoShape *shape) |
| updates the UI based on KoFlake::FillType it gets from the shape. | |
| void | updateWidgetComponentVisibility () |
Private Member Functions inherited from Private | |
| Private (KisCanvas2 *c) | |
Private Attributes | |
| Private *const | d {nullptr} |
Private Attributes inherited from Private | |
| KisCanvas2 * | canvas |
| int | displayedFrame |
| int | intendedFrame |
A widget for configuring the fill of a shape.
Definition at line 165 of file KoFillConfigWidget.cpp.
|
private |
| Enumerator | |
|---|---|
| None | |
| Solid | |
| Gradient | |
| Pattern | |
| MeshGradient | |
Definition at line 29 of file KoFillConfigWidget.h.
|
explicit |
| trackShapeSelection | controls if the widget connects to the canvas's selectionChanged signal. If you decide to pass 'false', then don't forget to call forceUpdateOnSelectionChanged() manually of every selectionChanged() and selectionContentChanged() signals. |
Definition at line 206 of file KoFillConfigWidget.cpp.
References buttongradient, buttonnone, buttonpattern, buttonsolid, Private::canvas, canvas, KoColorPopupAction::colorChanged(), connect(), KisAcyclicSignalConnector::connectForwardVoid(), d, KoFlake::Fill, fillVariant, Gradient, KisIconUtils::loadIcon(), MeshGradient, None, Pattern, KoCanvasBase::resourceManager, KisCanvas2::selectedShapesProxy, shapeChanged(), sigInternalRecoverColorInResourceManager(), sigInternalRequestColorToResourceManager(), slotCanvasResourceChanged(), slotProposeCurrentColorToResourceManager(), slotRecoverColorInResourceManager(), and Solid.
|
override |
| void KoFillConfigWidget::activate | ( | ) |
Definition at line 337 of file KoFillConfigWidget.cpp.
References d, KIS_SAFE_ASSERT_RECOVER_NOOP, loadCurrentFillFromResourceServer(), and updateWidgetComponentVisibility().
|
privateslot |
Definition at line 674 of file KoFillConfigWidget.cpp.
References setNewGradientBackgroundToShape(), sigInternalRequestColorToResourceManager(), and updateGradientSaveButtonAvailability().
|
privateslot |
apply color changes to the selected shape
Definition at line 518 of file KoFillConfigWidget.cpp.
References KisCanvas2::addCommand(), Private::canvas, currentShapes(), d, fillVariant, KoShapeFillWrapper::hasZeroLineWidth(), KoShapeFillWrapper::setColor(), KoShapeFillWrapper::setLineWidth(), sigFillChanged(), and sigInternalRequestColorToResourceManager().
|
private |
Definition at line 860 of file KoFillConfigWidget.cpp.
References KoFlake::Background, SvgMeshGradient::BICUBIC, SvgMeshGradient::BILINEAR, Private::canvas, currentShapes(), d, SvgMeshGradient::getMeshArray(), KoFlake::ObjectBoundingBox, KoCanvasBase::resourceManager, SvgMeshGradient::setGradientUnits(), and SvgMeshGradient::setType().
|
private |
sets the active gradient either from the shape (if present) or creates a new one
Definition at line 842 of file KoFillConfigWidget.cpp.
References createNewDefaultMeshGradientBackground(), currentShapes(), d, KoShapeFillWrapper::meshgradient(), and updateMeshGradientUI().
| KoShapeStrokeSP KoFillConfigWidget::createShapeStroke | ( | ) |
Definition at line 474 of file KoFillConfigWidget.cpp.
References d, Gradient, KIS_ASSERT_RECOVER_RETURN_VALUE, None, Pattern, Solid, and KoFlake::StrokeFill.
Returns the list of the selected shape If you need to use only one shape, call currentShape()
Definition at line 421 of file KoFillConfigWidget.cpp.
References Private::canvas, d, KoSelection::selectedEditableShapes(), KisCanvas2::selectedShapesProxy, and KisSelectedShapesProxy::selection().
| void KoFillConfigWidget::deactivate | ( | ) |
Definition at line 351 of file KoFillConfigWidget.cpp.
References d, KIS_SAFE_ASSERT_RECOVER_NOOP, and sigInternalRecoverColorInResourceManager().
| void KoFillConfigWidget::forceUpdateOnSelectionChanged | ( | ) |
Definition at line 359 of file KoFillConfigWidget.cpp.
References d.
|
privateslot |
Definition at line 682 of file KoFillConfigWidget.cpp.
References d, setNewGradientBackgroundToShape(), updateGradientSaveButtonAvailability(), and updateGradientUi().
|
private |
Definition at line 824 of file KoFillConfigWidget.cpp.
References button(), Private::canvas, d, None, KoCanvasBase::resourceManager, sigFillChanged(), and Solid.
|
privateslot |
Definition at line 500 of file KoFillConfigWidget.cpp.
References KisCanvas2::addCommand(), Private::canvas, currentShapes(), d, KoShapeFillWrapper::setColor(), and sigFillChanged().
|
privateslot |
the pattern of the fill changed, apply the changes
Definition at line 765 of file KoFillConfigWidget.cpp.
References KisCanvas2::addCommand(), Private::canvas, currentShapes(), and d.
|
inline |
Definition at line 168 of file KoFillConfigWidget.cpp.
| int KoFillConfigWidget::selectedFillIndex | ( | ) |
returns the selected index of the fill type
|
private |
Definition at line 728 of file KoFillConfigWidget.cpp.
References KisCanvas2::addCommand(), KoShapeFillWrapper::applyGradientStopsOnly(), Private::canvas, currentShapes(), d, and sigFillChanged().
|
private |
Definition at line 897 of file KoFillConfigWidget.cpp.
References KisCanvas2::addCommand(), Private::canvas, currentShapes(), d, KoShapeFillWrapper::setMeshGradient(), and sigFillChanged().
| void KoFillConfigWidget::setNoSelectionTrackingMode | ( | bool | value | ) |
Definition at line 370 of file KoFillConfigWidget.cpp.
| void KoFillConfigWidget::setSelectedMeshGradientHandle | ( | const SvgMeshPosition & | position | ) |
Definition at line 364 of file KoFillConfigWidget.cpp.
References d, and updateMeshGradientUI().
|
privateslot |
Definition at line 942 of file KoFillConfigWidget.cpp.
References button(), currentShapes(), d, KoShapeFillWrapper::isMixedFill(), sigInternalRecoverColorInResourceManager(), sigInternalRequestColorToResourceManager(), slotUpdateFillTitle(), updateUiFromFillType(), and updateWidgetComponentVisibility().
|
signal |
|
signal |
|
signal |
|
signal |
|
privateslot |
Definition at line 385 of file KoFillConfigWidget.cpp.
References KoCanvasResource::BackgroundColor, colorChanged(), KoCanvasResource::CurrentGradient, d, KoFlake::Fill, KoCanvasResource::ForegroundColor, Gradient, None, Solid, KoFlake::StrokeFill, KoColor::toQColor(), and value().
|
privateslot |
Definition at line 704 of file KoFillConfigWidget.cpp.
References activeGradientChanged(), and d.
|
privateslot |
Definition at line 694 of file KoFillConfigWidget.cpp.
References activeGradientChanged(), and d.
|
privateslot |
this won't preserve the rows and columns
Definition at line 787 of file KoFillConfigWidget.cpp.
References createNewDefaultMeshGradientBackground(), d, setNewMeshGradientBackgroundToShape(), and sigMeshGradientResetted().
|
privateslot |
Definition at line 795 of file KoFillConfigWidget.cpp.
References d, and setNewMeshGradientBackgroundToShape().
Definition at line 801 of file KoFillConfigWidget.cpp.
References currentShapes(), d, KIS_SAFE_ASSERT_RECOVER_RETURN, KoShapeFillWrapper::meshgradient(), setNewMeshGradientBackgroundToShape(), and KoColor::toQColor().
|
privateslot |
Don't let opacity leak to our resource manager system
NOTE: theoretically, we could guarantee it on a level of the resource manager itself,
Definition at line 563 of file KoFillConfigWidget.cpp.
References KoCanvasResource::BackgroundColor, Private::canvas, KoShapeFillWrapper::color(), currentShapes(), d, KoFlake::Fill, KoCanvasResource::ForegroundColor, KoColor::fromQColor(), Gradient, OPACITY_OPAQUE_U8, KoCanvasBase::resourceManager, KoColor::setOpacity(), Solid, and KoFlake::StrokeFill.
|
privateslot |
Definition at line 617 of file KoFillConfigWidget.cpp.
References KoCanvasResource::BackgroundColor, Private::canvas, d, KoFlake::Fill, KoCanvasResource::ForegroundColor, KoCanvasBase::resourceManager, and KoFlake::StrokeFill.
|
privateslot |
Definition at line 632 of file KoFillConfigWidget.cpp.
References KisResourceUserOperations::addResourceWithUserInput(), d, KoResourceServerProvider::gradientServer, and KoResourceServerProvider::instance().
|
privateslot |
|
privateslot |
Definition at line 430 of file KoFillConfigWidget.cpp.
References colorChanged(), createNewMeshGradientBackground(), currentShapes(), d, Gradient, gradientResourceChanged(), MeshGradient, noColorSelected(), None, Pattern, setNewGradientBackgroundToShape(), setNewMeshGradientBackgroundToShape(), Solid, updateGradientSaveButtonAvailability(), updateUiFromFillType(), and updateWidgetComponentVisibility().
|
private |
Definition at line 747 of file KoFillConfigWidget.cpp.
References d.
|
private |
Definition at line 713 of file KoFillConfigWidget.cpp.
References d, and KoStopGradient::fromQGradient().
|
private |
Definition at line 916 of file KoFillConfigWidget.cpp.
References d, KoColor::fromQColor(), SvgMeshArray::numColumns(), and SvgMeshArray::numRows().
updates the UI based on KoFlake::FillType it gets from the shape.
Definition at line 984 of file KoFillConfigWidget.cpp.
References KoShapeFillWrapper::color(), createNewMeshGradientBackground(), d, KoFlake::Gradient, KoShapeFillWrapper::gradient(), Gradient, KIS_SAFE_ASSERT_RECOVER_RETURN, KoFlake::MeshGradient, MeshGradient, KoFlake::None, None, KoFlake::Pattern, Pattern, KoFlake::Solid, Solid, KoShapeFillWrapper::type(), updateGradientSaveButtonAvailability(), and updateGradientUi().
|
private |
Definition at line 1017 of file KoFillConfigWidget.cpp.
References currentShapes(), d, Gradient, MeshGradient, None, Pattern, and Solid.
| KoStopGradientSP KoFillConfigWidget::activeGradient |
Definition at line 189 of file KoFillConfigWidget.cpp.
| QScopedPointer<SvgMeshGradient> KoFillConfigWidget::activeMeshGradient |
Definition at line 197 of file KoFillConfigWidget.cpp.
| KoCanvasBase* KoFillConfigWidget::canvas {nullptr} |
Definition at line 183 of file KoFillConfigWidget.cpp.
| KoColorPopupAction* KoFillConfigWidget::colorAction {nullptr} |
Definition at line 178 of file KoFillConfigWidget.cpp.
| KisSignalCompressorWithParam<std::pair<QColor, KoFlake::FillVariant> > KoFillConfigWidget::colorChangedCompressor |
Definition at line 185 of file KoFillConfigWidget.cpp.
|
private |
Definition at line 125 of file KoFillConfigWidget.h.
| std::vector<KisAcyclicSignalConnector::Blocker> KoFillConfigWidget::deactivationLocks |
Definition at line 201 of file KoFillConfigWidget.cpp.
| KoFlake::FillVariant KoFillConfigWidget::fillVariant |
Definition at line 192 of file KoFillConfigWidget.cpp.
| KoResourcePopupAction* KoFillConfigWidget::gradientAction {nullptr} |
Definition at line 179 of file KoFillConfigWidget.cpp.
| KisSignalCompressor KoFillConfigWidget::gradientChangedCompressor |
Definition at line 190 of file KoFillConfigWidget.cpp.
| QButtonGroup* KoFillConfigWidget::group {nullptr} |
Definition at line 181 of file KoFillConfigWidget.cpp.
| SvgMeshPosition KoFillConfigWidget::meshposition |
Definition at line 196 of file KoFillConfigWidget.cpp.
| bool KoFillConfigWidget::noSelectionTrackingMode {false} |
Definition at line 194 of file KoFillConfigWidget.cpp.
| std::array<boost::optional<KoColor>, 2> KoFillConfigWidget::overriddenColorFromProvider |
Definition at line 203 of file KoFillConfigWidget.cpp.
| KoResourcePopupAction* KoFillConfigWidget::patternAction {nullptr} |
Definition at line 180 of file KoFillConfigWidget.cpp.
| KisAcyclicSignalConnector KoFillConfigWidget::resourceManagerAcyclicConnector |
Definition at line 186 of file KoFillConfigWidget.cpp.
| int KoFillConfigWidget::selectedFillIndex {KoFillConfigWidget::None} |
Definition at line 187 of file KoFillConfigWidget.cpp.
| KisSignalCompressor KoFillConfigWidget::shapeChangedCompressor |
Definition at line 191 of file KoFillConfigWidget.cpp.
| QScopedPointer<Ui_KoFillConfigWidget> KoFillConfigWidget::ui |
Definition at line 199 of file KoFillConfigWidget.cpp.