12#ifndef LIVEPATHEFFECTEDITOR_H
13#define LIVEPATHEFFECTEDITOR_H
41class LPEObjectReference;
59 using LPEExpander = std::pair<Gtk::Expander *, PathEffectSharedPtr>;
89 [[nodiscard]]
bool on_drop(Gtk::Widget &widget,
90 Glib::ValueBase
const &value,
int pos_target);
99 Glib::ustring
const &, Gtk::Widget &
item,
100 bool is_first,
bool is_last);
105 Glib::ustring const &description);
109 Glib::ustring
const &untranslated_label, Gtk::Widget &
item,
Simplified management of enumerations of LPE items with UI labels.
The set of selected SPObjects for a given document and layer model.
DialogBase is the base class for the dialog system.
void do_item_action_favorite(PathEffectSharedPtr const &lpreref, Glib::ustring const &untranslated_label, Gtk::Widget &item, bool has_fav)
Gtk::Label & _LPESelectionInfo
SPLPEItem * current_lpeitem
bool can_apply(LivePathEffect::EffectType, Glib::ustring const &item_type, bool has_clip, bool has_mask)
Glib::ustring get_tooltip(LivePathEffect::EffectType, Glib::ustring const &untranslated_label)
std::vector< LPEExpander > _LPEExpanders
bool selection_changed_lock
void effect_list_reload(SPLPEItem *lpeitem)
PathEffectList effectlist
Gtk::Box & _LPEAddContainer
SPLPEItem * clonetolpeitem()
void onAdd(Inkscape::LivePathEffect::EffectType etype)
Gtk::ListBox & _LPEParentBox
void add_item_actions(PathEffectSharedPtr const &lperef, Glib::ustring const &, Gtk::Widget &item, bool is_first, bool is_last)
void move_list(int origin, int dest)
void do_item_action_defaults(PathEffectSharedPtr const &lpreref, void(LivePathEffect::Effect::*const method)())
LPEExpander current_lperef
Gtk::ListBox & LPEListBox
Gtk::Box & _LPECurrentItem
Glib::RefPtr< Gtk::ListStore > _LPEList
void onSelectionChanged(Inkscape::Selection *selection)
bool showWarning(std::string const &msg)
void enable_fav_actions(Gtk::Widget &item, bool has_fav)
void enable_item_action(Gtk::Widget &item, Glib::ustring const &name, bool enabled)
void selectionChanged(Inkscape::Selection *selection) final
void expanded_notify(Gtk::Expander *expander)
Glib::RefPtr< Gtk::Builder > _builder
void do_item_action_undoable(PathEffectSharedPtr const &lperef, void(SPLPEItem::*const method)(), Glib::ustring const &description)
Inkscape::UI::Widget::CompletionPopup _lpes_popup
bool lpeFlatten(PathEffectSharedPtr const &lperef)
~LivePathEffectEditor() final
Glib::RefPtr< Gtk::ListStore > _LPEListFilter
void add_lpes(UI::Widget::CompletionPopup &, bool symbolic, std::vector< LPEMetadata > &&lpes)
Gtk::Widget * effectwidget
void toggleVisible(Inkscape::LivePathEffect::Effect *lpe, Gtk::Button *visbutton)
void selectionModified(Inkscape::Selection *selection, unsigned flags) final
bool on_drop(Gtk::Widget &widget, Glib::ValueBase const &value, int pos_target)
LivePathEffectEditor()
Constructor.
void focus_dialog() override
std::pair< Gtk::Expander *, PathEffectSharedPtr > LPEExpander
const LivePathEffect::EnumEffectDataConverter< LivePathEffect::EffectType > & converter
void showParams(LPEExpander const &expanderdata, bool changed)
void removeEffect(Gtk::Expander *expander)
A base class for all dialogs.
Helper class to stream background task notifications as a series of messages.
Base class for live path effect items.
std::list< PathEffectSharedPtr > PathEffectList
std::shared_ptr< Inkscape::LivePathEffect::LPEObjectReference > PathEffectSharedPtr