Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
Inkscape::UI::Widget::GradientEditor Class Referencefinal

#include <gradient-editor.h>

Inheritance diagram for Inkscape::UI::Widget::GradientEditor:
GradientSelectorInterface

Public Member Functions

 GradientEditor (const char *prefs)
 
 ~GradientEditor () noexcept final
 
decltype(_signal_changedsignal_changed () const
 
decltype(_signal_grabbedsignal_grabbed () const
 
decltype(_signal_draggedsignal_dragged () const
 
decltype(_signal_releasedsignal_released () const
 
void setGradient (SPGradient *gradient) final
 
SPGradientgetVector () final
 
void setVector (SPDocument *doc, SPGradient *vector) final
 
void setMode (SelectorMode mode) final
 
void setUnits (SPGradientUnits units) final
 
SPGradientUnits getUnits () final
 
void setSpread (SPGradientSpread spread) final
 
SPGradientSpread getSpread () final
 
void selectStop (SPStop *selected) final
 
- Public Member Functions inherited from GradientSelectorInterface
sigc::signal< void(SPStop *)> & signal_stop_selected ()
 
void emit_stop_selected (SPStop *stop)
 

Private Member Functions

void set_gradient (SPGradient *gradient)
 
void stop_selected ()
 
void insert_stop_at (double offset)
 
void add_stop (int index)
 
void duplicate_stop ()
 
void delete_stop (int index)
 
void show_stops (bool visible)
 
void update_stops_layout ()
 
void set_repeat_mode (SPGradientSpread mode)
 
void set_repeat_icon (SPGradientSpread mode)
 
void reverse_gradient ()
 
void turn_gradient (double angle, bool relative)
 
void set_stop_color (Colors::Color const &color)
 
std::optional< Gtk::TreeRow > current_stop ()
 
SPStopget_nth_stop (size_t index)
 
SPStopget_current_stop ()
 
bool select_stop (size_t index)
 
void set_stop_offset (size_t index, double offset)
 
SPGradientget_gradient_vector ()
 
void fire_stop_selected (SPStop *stop)
 

Private Attributes

sigc::signal< void()> _signal_grabbed
 
sigc::signal< void()> _signal_dragged
 
sigc::signal< void()> _signal_released
 
sigc::signal< void(SPGradient *)> _signal_changed
 
Glib::RefPtr< Gtk::Builder > _builder
 
GradientSelector_selector
 
std::shared_ptr< Colors::ColorSet_colors
 
std::unique_ptr< UI::Widget::PopoverMenu_repeat_popover
 
Gtk::Image & _repeat_icon
 
GradientWithStops _gradient_image
 
Glib::RefPtr< Gtk::ListStore > _stop_list_store
 
Gtk::TreeModelColumnRecord _stop_columns
 
Gtk::TreeModelColumn< SPStop * > _stopObj
 
Gtk::TreeModelColumn< size_t > _stopIdx
 
Gtk::TreeModelColumn< Glib::ustring > _stopID
 
Gtk::TreeModelColumn< Glib::RefPtr< Gdk::Pixbuf > > _stop_color
 
Gtk::TreeView & _stop_tree
 
Gtk::Button & _turn_gradient
 
Glib::RefPtr< Gtk::Adjustment > _angle_adj
 
Gtk::SpinButton & _offset_btn
 
Gtk::Button & _add_stop
 
Gtk::Button & _delete_stop
 
Gtk::Expander & _show_stops_list
 
bool _stops_list_visible = true
 
Gtk::Box & _stops_gallery
 
Gtk::Box & _colors_box
 
Gtk::ToggleButton & _linear_btn
 
Gtk::ToggleButton & _radial_btn
 
Gtk::Grid & _main_grid
 
SPGradient_gradient = nullptr
 
SPDocument_document = nullptr
 
OperationBlocker _update
 
OperationBlocker _notification
 
Glib::ustring _prefs
 

Additional Inherited Members

- Public Types inherited from GradientSelectorInterface
enum  SelectorMode { MODE_LINEAR , MODE_RADIAL , MODE_SWATCH }
 

Detailed Description

Definition at line 49 of file gradient-editor.h.

Constructor & Destructor Documentation

◆ GradientEditor()

Inkscape::UI::Widget::GradientEditor::GradientEditor ( const char *  prefs)

Definition at line 161 of file gradient-editor.cpp.

References _add_stop, _angle_adj, _builder, _colors, _colors_box, _delete_stop, _gradient_image, _linear_btn, _main_grid, _offset_btn, _prefs, _radial_btn, _repeat_popover, _selector, _show_stops_list, _signal_changed, _stop_color, _stop_columns, _stop_list_store, _stop_tree, _stopID, _stopIdx, _stopObj, _stops_list_visible, _turn_gradient, _update, add_stop(), Inkscape::append(), Inkscape::UI::create_builder(), current_stop(), delete_stop(), fire_stop_selected(), Inkscape::Preferences::get(), get_current_stop(), Inkscape::UI::Widget::get_repeat_icon(), Inkscape::UI::get_widget(), Inkscape::Preferences::getBool(), index, insert_stop_at(), item, mode, offset, OperationBlocker::pending(), reverse_gradient(), select_stop(), Inkscape::UI::Widget::GradientSelector::set_gradient_size(), Inkscape::UI::Widget::set_icon(), Inkscape::UI::Widget::GradientSelector::set_name_col_size(), set_repeat_icon(), set_repeat_mode(), set_stop_color(), set_stop_offset(), Inkscape::UI::Widget::GradientSelector::show_edit_button(), show_stops(), Inkscape::UI::Widget::GradientWithStops::signal_add_stop_at(), Inkscape::UI::Widget::GradientSelector::signal_changed(), Inkscape::UI::Widget::GradientWithStops::signal_delete_stop(), Inkscape::UI::Widget::GradientWithStops::signal_stop_offset_changed(), Inkscape::UI::Widget::GradientWithStops::signal_stop_selected(), SP_GRADIENT_SPREAD_PAD, SP_GRADIENT_SPREAD_REFLECT, SP_GRADIENT_SPREAD_REPEAT, turn_gradient(), and update_stops_layout().

◆ ~GradientEditor()

Inkscape::UI::Widget::GradientEditor::~GradientEditor ( )
finalnoexcept

Definition at line 315 of file gradient-editor.cpp.

Member Function Documentation

◆ add_stop()

void Inkscape::UI::Widget::GradientEditor::add_stop ( int  index)
private

◆ current_stop()

std::optional< Gtk::TreeRow > Inkscape::UI::Widget::GradientEditor::current_stop ( )
private

Definition at line 339 of file gradient-editor.cpp.

References _stop_tree.

Referenced by get_current_stop(), GradientEditor(), set_stop_color(), and stop_selected().

◆ delete_stop()

void Inkscape::UI::Widget::GradientEditor::delete_stop ( int  index)
private

◆ duplicate_stop()

void Inkscape::UI::Widget::GradientEditor::duplicate_stop ( )
private

◆ fire_stop_selected()

void Inkscape::UI::Widget::GradientEditor::fire_stop_selected ( SPStop stop)
private

◆ get_current_stop()

SPStop * Inkscape::UI::Widget::GradientEditor::get_current_stop ( )
private

Definition at line 667 of file gradient-editor.cpp.

References _stopObj, and current_stop().

Referenced by GradientEditor().

◆ get_gradient_vector()

SPGradient * Inkscape::UI::Widget::GradientEditor::get_gradient_vector ( )
private

◆ get_nth_stop()

SPStop * Inkscape::UI::Widget::GradientEditor::get_nth_stop ( size_t  index)
private

Definition at line 350 of file gradient-editor.cpp.

References get_gradient_vector(), index, and sp_get_nth_stop().

Referenced by set_stop_offset().

◆ getSpread()

SPGradientSpread Inkscape::UI::Widget::GradientEditor::getSpread ( )
finalvirtual

◆ getUnits()

SPGradientUnits Inkscape::UI::Widget::GradientEditor::getUnits ( )
finalvirtual

◆ getVector()

SPGradient * Inkscape::UI::Widget::GradientEditor::getVector ( )
finalvirtual

◆ insert_stop_at()

void Inkscape::UI::Widget::GradientEditor::insert_stop_at ( double  offset)
private

◆ reverse_gradient()

void Inkscape::UI::Widget::GradientEditor::reverse_gradient ( )
private

◆ select_stop()

bool Inkscape::UI::Widget::GradientEditor::select_stop ( size_t  index)
private

Definition at line 650 of file gradient-editor.cpp.

References _gradient, _stop_tree, index, and items.

Referenced by add_stop(), GradientEditor(), insert_stop_at(), selectStop(), and set_gradient().

◆ selectStop()

void Inkscape::UI::Widget::GradientEditor::selectStop ( SPStop selected)
finalvirtual

◆ set_gradient()

◆ set_repeat_icon()

void Inkscape::UI::Widget::GradientEditor::set_repeat_icon ( SPGradientSpread  mode)
private

◆ set_repeat_mode()

void Inkscape::UI::Widget::GradientEditor::set_repeat_mode ( SPGradientSpread  mode)
private

◆ set_stop_color()

◆ set_stop_offset()

void Inkscape::UI::Widget::GradientEditor::set_stop_offset ( size_t  index,
double  offset 
)
private

◆ setGradient()

void Inkscape::UI::Widget::GradientEditor::setGradient ( SPGradient gradient)
finalvirtual

◆ setMode()

void Inkscape::UI::Widget::GradientEditor::setMode ( SelectorMode  mode)
finalvirtual

◆ setSpread()

void Inkscape::UI::Widget::GradientEditor::setSpread ( SPGradientSpread  spread)
finalvirtual

◆ setUnits()

void Inkscape::UI::Widget::GradientEditor::setUnits ( SPGradientUnits  units)
finalvirtual

◆ setVector()

void Inkscape::UI::Widget::GradientEditor::setVector ( SPDocument doc,
SPGradient vector 
)
finalvirtual

◆ show_stops()

void Inkscape::UI::Widget::GradientEditor::show_stops ( bool  visible)
private

◆ signal_changed()

decltype(_signal_changed) Inkscape::UI::Widget::GradientEditor::signal_changed ( ) const
inline

Definition at line 61 of file gradient-editor.h.

References _signal_changed.

Referenced by Inkscape::UI::Widget::PaintSelector::set_mode_gradient().

◆ signal_dragged()

decltype(_signal_dragged) Inkscape::UI::Widget::GradientEditor::signal_dragged ( ) const
inline

Definition at line 63 of file gradient-editor.h.

References _signal_dragged.

Referenced by Inkscape::UI::Widget::PaintSelector::set_mode_gradient().

◆ signal_grabbed()

decltype(_signal_grabbed) Inkscape::UI::Widget::GradientEditor::signal_grabbed ( ) const
inline

Definition at line 62 of file gradient-editor.h.

References _signal_grabbed.

Referenced by Inkscape::UI::Widget::PaintSelector::set_mode_gradient().

◆ signal_released()

decltype(_signal_released) Inkscape::UI::Widget::GradientEditor::signal_released ( ) const
inline

◆ stop_selected()

◆ turn_gradient()

void Inkscape::UI::Widget::GradientEditor::turn_gradient ( double  angle,
bool  relative 
)
private

◆ update_stops_layout()

void Inkscape::UI::Widget::GradientEditor::update_stops_layout ( )
private

Definition at line 433 of file gradient-editor.cpp.

References _stops_gallery, and _stops_list_visible.

Referenced by GradientEditor(), and show_stops().

Member Data Documentation

◆ _add_stop

Gtk::Button& Inkscape::UI::Widget::GradientEditor::_add_stop
private

Definition at line 114 of file gradient-editor.h.

Referenced by GradientEditor().

◆ _angle_adj

Glib::RefPtr<Gtk::Adjustment> Inkscape::UI::Widget::GradientEditor::_angle_adj
private

Definition at line 112 of file gradient-editor.h.

Referenced by GradientEditor(), and set_gradient().

◆ _builder

Glib::RefPtr<Gtk::Builder> Inkscape::UI::Widget::GradientEditor::_builder
private

Definition at line 98 of file gradient-editor.h.

Referenced by GradientEditor(), and set_gradient().

◆ _colors

std::shared_ptr<Colors::ColorSet> Inkscape::UI::Widget::GradientEditor::_colors
private

Definition at line 100 of file gradient-editor.h.

Referenced by GradientEditor(), and stop_selected().

◆ _colors_box

Gtk::Box& Inkscape::UI::Widget::GradientEditor::_colors_box
private

Definition at line 119 of file gradient-editor.h.

Referenced by GradientEditor().

◆ _delete_stop

Gtk::Button& Inkscape::UI::Widget::GradientEditor::_delete_stop
private

Definition at line 115 of file gradient-editor.h.

Referenced by GradientEditor().

◆ _document

SPDocument* Inkscape::UI::Widget::GradientEditor::_document = nullptr
private

◆ _gradient

SPGradient* Inkscape::UI::Widget::GradientEditor::_gradient = nullptr
private

◆ _gradient_image

GradientWithStops Inkscape::UI::Widget::GradientEditor::_gradient_image
private

Definition at line 103 of file gradient-editor.h.

Referenced by GradientEditor(), set_gradient(), and stop_selected().

◆ _linear_btn

Gtk::ToggleButton& Inkscape::UI::Widget::GradientEditor::_linear_btn
private

Definition at line 120 of file gradient-editor.h.

Referenced by GradientEditor().

◆ _main_grid

Gtk::Grid& Inkscape::UI::Widget::GradientEditor::_main_grid
private

Definition at line 122 of file gradient-editor.h.

Referenced by GradientEditor().

◆ _notification

OperationBlocker Inkscape::UI::Widget::GradientEditor::_notification
private

Definition at line 126 of file gradient-editor.h.

Referenced by fire_stop_selected(), selectStop(), and setGradient().

◆ _offset_btn

Gtk::SpinButton& Inkscape::UI::Widget::GradientEditor::_offset_btn
private

Definition at line 113 of file gradient-editor.h.

Referenced by GradientEditor(), and stop_selected().

◆ _prefs

Glib::ustring Inkscape::UI::Widget::GradientEditor::_prefs
private

Definition at line 127 of file gradient-editor.h.

Referenced by GradientEditor(), and show_stops().

◆ _radial_btn

Gtk::ToggleButton& Inkscape::UI::Widget::GradientEditor::_radial_btn
private

Definition at line 121 of file gradient-editor.h.

Referenced by GradientEditor().

◆ _repeat_icon

Gtk::Image& Inkscape::UI::Widget::GradientEditor::_repeat_icon
private

Definition at line 102 of file gradient-editor.h.

Referenced by set_repeat_icon().

◆ _repeat_popover

std::unique_ptr<UI::Widget::PopoverMenu> Inkscape::UI::Widget::GradientEditor::_repeat_popover
private

Definition at line 101 of file gradient-editor.h.

Referenced by GradientEditor().

◆ _selector

GradientSelector* Inkscape::UI::Widget::GradientEditor::_selector
private

◆ _show_stops_list

Gtk::Expander& Inkscape::UI::Widget::GradientEditor::_show_stops_list
private

Definition at line 116 of file gradient-editor.h.

Referenced by GradientEditor().

◆ _signal_changed

sigc::signal<void (SPGradient*)> Inkscape::UI::Widget::GradientEditor::_signal_changed
private

Definition at line 58 of file gradient-editor.h.

Referenced by GradientEditor(), and signal_changed().

◆ _signal_dragged

sigc::signal<void ()> Inkscape::UI::Widget::GradientEditor::_signal_dragged
private

Definition at line 56 of file gradient-editor.h.

Referenced by signal_dragged().

◆ _signal_grabbed

sigc::signal<void ()> Inkscape::UI::Widget::GradientEditor::_signal_grabbed
private

Definition at line 55 of file gradient-editor.h.

Referenced by signal_grabbed().

◆ _signal_released

sigc::signal<void ()> Inkscape::UI::Widget::GradientEditor::_signal_released
private

Definition at line 57 of file gradient-editor.h.

Referenced by signal_released().

◆ _stop_color

Gtk::TreeModelColumn<Glib::RefPtr<Gdk::Pixbuf> > Inkscape::UI::Widget::GradientEditor::_stop_color
private

Definition at line 109 of file gradient-editor.h.

Referenced by GradientEditor(), set_gradient(), and set_stop_color().

◆ _stop_columns

Gtk::TreeModelColumnRecord Inkscape::UI::Widget::GradientEditor::_stop_columns
private

Definition at line 105 of file gradient-editor.h.

Referenced by GradientEditor().

◆ _stop_list_store

Glib::RefPtr<Gtk::ListStore> Inkscape::UI::Widget::GradientEditor::_stop_list_store
private

Definition at line 104 of file gradient-editor.h.

Referenced by GradientEditor(), and set_gradient().

◆ _stop_tree

Gtk::TreeView& Inkscape::UI::Widget::GradientEditor::_stop_tree
private

◆ _stopID

Gtk::TreeModelColumn<Glib::ustring> Inkscape::UI::Widget::GradientEditor::_stopID
private

Definition at line 108 of file gradient-editor.h.

Referenced by GradientEditor(), and set_gradient().

◆ _stopIdx

Gtk::TreeModelColumn<size_t> Inkscape::UI::Widget::GradientEditor::_stopIdx
private

Definition at line 107 of file gradient-editor.h.

Referenced by GradientEditor(), set_gradient(), set_stop_color(), and stop_selected().

◆ _stopObj

Gtk::TreeModelColumn<SPStop*> Inkscape::UI::Widget::GradientEditor::_stopObj
private

Definition at line 106 of file gradient-editor.h.

Referenced by get_current_stop(), GradientEditor(), set_gradient(), and stop_selected().

◆ _stops_gallery

Gtk::Box& Inkscape::UI::Widget::GradientEditor::_stops_gallery
private

Definition at line 118 of file gradient-editor.h.

Referenced by update_stops_layout().

◆ _stops_list_visible

bool Inkscape::UI::Widget::GradientEditor::_stops_list_visible = true
private

Definition at line 117 of file gradient-editor.h.

Referenced by GradientEditor(), show_stops(), and update_stops_layout().

◆ _turn_gradient

Gtk::Button& Inkscape::UI::Widget::GradientEditor::_turn_gradient
private

Definition at line 111 of file gradient-editor.h.

Referenced by GradientEditor(), and set_gradient().

◆ _update

OperationBlocker Inkscape::UI::Widget::GradientEditor::_update
private

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