Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
lpe-toolbar.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.0-or-later
2#ifndef INKSCAPE_UI_TOOLBAR_LPE_TOOLBAR_H
3#define INKSCAPE_UI_TOOLBAR_LPE_TOOLBAR_H
4
8/* Authors:
9 * MenTaLguY <mental@rydia.net>
10 * Lauris Kaplinski <lauris@kaplinski.com>
11 * bulia byak <buliabyak@users.sf.net>
12 * Frank Felfe <innerspace@iname.com>
13 * John Cliff <simarilius@yahoo.com>
14 * David Turner <novalis@gnu.org>
15 * Josh Andler <scislac@scislac.com>
16 * Jon A. Cruz <jon@joncruz.org>
17 * Maximilian Albert <maximilian.albert@gmail.com>
18 * Tavmjong Bah <tavmjong@free.fr>
19 * Abhishek Sharma
20 * Kris De Gussem <Kris.DeGussem@gmail.com>
21 * Vaibhav Malik <vaibhavmalik2018@gmail.com>
22 *
23 * Copyright (C) 2004 David Turner
24 * Copyright (C) 2003 MenTaLguY
25 * Copyright (C) 1999-2011 authors
26 * Copyright (C) 2001-2002 Ximian, Inc.
27 *
28 * Released under GNU GPL v2+, read the file 'COPYING' for more information.
29 */
30
31#include "toolbar.h"
33
34namespace Gtk {
35class Builder;
36class ToggleButton;
37} // namespace Gtk
38
39class SPLPEItem;
40
41namespace Inkscape {
42namespace LivePathEffect { class Effect; }
43class Selection;
44namespace Tools { class ToolBase; }
45namespace UI {
46namespace Widget {
47class ComboToolItem;
48class UnitTracker;
49} // namespace Widget
50} // namespace UI
51} // namespace Inkscape
52
53namespace Inkscape::UI::Toolbar {
54
55class LPEToolbar : public Toolbar
56{
57public:
58 LPEToolbar();
59 ~LPEToolbar() override;
60
61 void setDesktop(SPDesktop *desktop) override;
62 void setActiveUnit(Util::Unit const *unit) override;
63
64 void setMode(int mode);
65
66private:
67 LPEToolbar(Glib::RefPtr<Gtk::Builder> const &builder);
68
69 std::unique_ptr<UI::Widget::UnitTracker> _tracker;
70
71 std::vector<Gtk::ToggleButton *> _mode_buttons;
72 Gtk::ToggleButton &_show_bbox_btn;
73 Gtk::ToggleButton &_bbox_from_selection_btn;
74 Gtk::ToggleButton &_measuring_btn;
75 Gtk::ToggleButton &_open_lpe_dialog_btn;
78
80
83
84 sigc::connection c_selection_modified;
85 sigc::connection c_selection_changed;
86
87 void mode_changed(int mode);
88 void unit_changed(int not_used);
89 void sel_modified(Inkscape::Selection *selection, guint flags);
90 void sel_changed(Inkscape::Selection *selection);
92
93 void toggle_show_bbox();
94 void toggle_set_bbox();
96 void open_lpe_dialog();
97};
98
99} // Inkscape::UI::Toolbar
100
101#endif // INKSCAPE_UI_TOOLBAR_LPE_TOOLBAR_H
The set of selected SPObjects for a given document and layer model.
Definition selection.h:80
LivePathEffect::Effect * _currentlpe
Definition lpe-toolbar.h:81
void sel_changed(Inkscape::Selection *selection)
Gtk::ToggleButton & _show_bbox_btn
Definition lpe-toolbar.h:72
void sel_modified(Inkscape::Selection *selection, guint flags)
std::unique_ptr< UI::Widget::UnitTracker > _tracker
Definition lpe-toolbar.h:69
void setActiveUnit(Util::Unit const *unit) override
std::vector< Gtk::ToggleButton * > _mode_buttons
Definition lpe-toolbar.h:71
sigc::connection c_selection_modified
Definition lpe-toolbar.h:84
Gtk::ToggleButton & _bbox_from_selection_btn
Definition lpe-toolbar.h:73
UI::Widget::ComboToolItem * _line_segment_combo
Definition lpe-toolbar.h:76
Gtk::ToggleButton & _measuring_btn
Definition lpe-toolbar.h:74
UI::Widget::ComboToolItem * _units_item
Definition lpe-toolbar.h:77
void setDesktop(SPDesktop *desktop) override
Gtk::ToggleButton & _open_lpe_dialog_btn
Definition lpe-toolbar.h:75
sigc::connection c_selection_changed
Definition lpe-toolbar.h:85
Base class for all tool toolbars.
Definition toolbar.h:72
To do: update description of desktop.
Definition desktop.h:149
Definition desktop.h:50
Helper class to stream background task notifications as a series of messages.
int mode
SPDesktop * desktop
TODO: insert short description here.
Glib::RefPtr< Gtk::Builder > builder