1 // SPDX-License-Identifier: GPL-2.0-or-later
2 #ifndef SEEN_TOOLBOX_H
3 #define SEEN_TOOLBOX_H
4 
5 /*
6  * Authors:
7  *   Lauris Kaplinski <lauris@kaplinski.com>
8  *   Frank Felfe <innerspace@iname.com>
9  *   Jon A. Cruz <jon@joncruz.org>
10  *
11  * Copyright (C) 1999-2002 Authors
12  * Copyright (C) 2001-2002 Ximian, Inc.
13  *
14  * Released under GNU GPL v2+, read the file 'COPYING' for more information.
15  */
16 
17 #include <glibmm/ustring.h>
18 #include <gtk/gtk.h>
19 #include <gtkmm/enums.h>
20 
21 #include "preferences.h"
22 
23 #define TOOLBAR_SLIDER_HINT "compact"
24 
25 class SPDesktop;
26 
27 namespace Inkscape {
28 namespace UI {
29 namespace Tools {
30 
31 class ToolBase;
32 
33 }
34 }
35 }
36 
37 namespace Inkscape {
38 namespace UI {
39 
40 namespace Widget {
41     class UnitTracker;
42 }
43 
44 /**
45  * Main toolbox source.
46  */
47 class ToolboxFactory
48 {
49 public:
50     static void setToolboxDesktop(GtkWidget *toolbox, SPDesktop *desktop);
51     static void setOrientation(GtkWidget* toolbox, GtkOrientation orientation);
52     static void showAuxToolbox(GtkWidget* toolbox);
53 
54     static GtkWidget *createToolToolbox();
55     static GtkWidget *createAuxToolbox();
56     static GtkWidget *createCommandsToolbox();
57     static GtkWidget *createSnapToolbox();
58 
59     static Glib::ustring getToolboxName(GtkWidget* toolbox);
60 
61     static GtkIconSize prefToSize(Glib::ustring const &path, int base = 0 );
62     static Gtk::IconSize prefToSize_mm(Glib::ustring const &path, int base = 0);
63 
64     ToolboxFactory() = delete;
65 };
66 
67 
68 
69 } // namespace UI
70 } // namespace Inkscape
71 
72 #endif /* !SEEN_TOOLBOX_H */
73 
74 /*
75   Local Variables:
76   mode:c++
77   c-file-style:"stroustrup"
78   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
79   indent-tabs-mode:nil
80   fill-column:99
81   End:
82 */
83 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
84