index 4230c7adb55307ed46803851e6c1f8d9867cfd2b..6bcb24d2d34459934725b73d8dd41630a6266c4a 100644 (file)
#include "widgets/spw-utilities.h"
#include "widgets/widget-sizes.h"
#include "widgets/spinbutton-events.h"
+#include "widgets/icon.h"
+#include "widgets/sp-widget.h"
#include "prefs-utils.h"
#include "selection-chemistry.h"
#include "sp-namedview.h"
#include "toolbox.h"
#include <glibmm/i18n.h>
-#include "widgets/sp-widget.h"
#include "helper/unit-menu.h"
#include "helper/units.h"
-#include "widgets/sp-widget.h"
#include "inkscape.h"
#include "verbs.h"
#include "prefs-utils.h"
sp_selection_layout_widget_modify_selection(SPWidget *spw, Inkscape::Selection *selection, guint flags, gpointer data)
{
SPDesktop *desktop = (SPDesktop *) data;
- if ((SP_DT_SELECTION(desktop) == selection) // only respond to changes in our desktop
+ if ((sp_desktop_selection(desktop) == selection) // only respond to changes in our desktop
&& (flags & (SP_OBJECT_MODIFIED_FLAG |
SP_OBJECT_PARENT_MODIFIED_FLAG |
SP_OBJECT_CHILD_MODIFIED_FLAG )))
sp_selection_layout_widget_change_selection(SPWidget *spw, Inkscape::Selection *selection, gpointer data)
{
SPDesktop *desktop = (SPDesktop *) data;
- if (SP_DT_SELECTION(desktop) == selection) // only respond to changes in our desktop
+ if (sp_desktop_selection(desktop) == selection) // only respond to changes in our desktop
sp_selection_layout_widget_update(spw, selection);
}
gtk_object_set_data(GTK_OBJECT(spw), "update", GINT_TO_POINTER(TRUE));
SPDesktop *desktop = SP_ACTIVE_DESKTOP;
- Inkscape::Selection *selection = SP_DT_SELECTION(desktop);
- SPDocument *document = SP_DT_DOCUMENT(desktop);
+ Inkscape::Selection *selection = sp_desktop_selection(desktop);
+ SPDocument *document = sp_desktop_document(desktop);
sp_document_ensure_up_to_date (document);
NR::Rect bbox = selection->bounds();
return FALSE;
}
- Inkscape::Selection *selection = SP_DT_SELECTION(desktop);
+ Inkscape::Selection *selection = sp_desktop_selection(desktop);
if (selection->isEmpty())
return FALSE;
}
}
+static void toggle_lock (GtkWidget *button, gpointer data) {
+
+ GtkWidget *old_child = gtk_bin_get_child(GTK_BIN(button));
+ gtk_container_remove (GTK_CONTAINER(button), old_child);
+
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button))) {
+ GtkWidget *child = sp_icon_new (Inkscape::ICON_SIZE_DECORATION, "width_height_lock");
+ gtk_widget_show (child);
+ gtk_container_add (GTK_CONTAINER (button), child);
+ } else {
+ GtkWidget *child = sp_icon_new (Inkscape::ICON_SIZE_DECORATION, "lock_unlocked");
+ gtk_widget_show (child);
+ gtk_container_add (GTK_CONTAINER (button), child);
+ }
+}
+
GtkWidget *
sp_select_toolbox_new(SPDesktop *desktop)
{
GtkTooltips *tt = gtk_tooltips_new();
GtkWidget *tb = gtk_hbox_new(FALSE, 0);
- sp_toolbox_button_normal_new_from_verb(tb, GTK_ICON_SIZE_SMALL_TOOLBAR, Inkscape::Verb::get(SP_VERB_OBJECT_ROTATE_90_CCW), view, tt);
- sp_toolbox_button_normal_new_from_verb(tb, GTK_ICON_SIZE_SMALL_TOOLBAR, Inkscape::Verb::get(SP_VERB_OBJECT_ROTATE_90_CW), view, tt);
- sp_toolbox_button_normal_new_from_verb(tb, GTK_ICON_SIZE_SMALL_TOOLBAR, Inkscape::Verb::get(SP_VERB_OBJECT_FLIP_HORIZONTAL), view, tt);
- sp_toolbox_button_normal_new_from_verb(tb, GTK_ICON_SIZE_SMALL_TOOLBAR, Inkscape::Verb::get(SP_VERB_OBJECT_FLIP_VERTICAL), view, tt);
+ sp_toolbox_button_normal_new_from_verb(tb, Inkscape::ICON_SIZE_SMALL_TOOLBAR, Inkscape::Verb::get(SP_VERB_OBJECT_ROTATE_90_CCW), view, tt);
+ sp_toolbox_button_normal_new_from_verb(tb, Inkscape::ICON_SIZE_SMALL_TOOLBAR, Inkscape::Verb::get(SP_VERB_OBJECT_ROTATE_90_CW), view, tt);
+ sp_toolbox_button_normal_new_from_verb(tb, Inkscape::ICON_SIZE_SMALL_TOOLBAR, Inkscape::Verb::get(SP_VERB_OBJECT_FLIP_HORIZONTAL), view, tt);
+ sp_toolbox_button_normal_new_from_verb(tb, Inkscape::ICON_SIZE_SMALL_TOOLBAR, Inkscape::Verb::get(SP_VERB_OBJECT_FLIP_VERTICAL), view, tt);
aux_toolbox_space(tb, AUX_BETWEEN_BUTTON_GROUPS);
- sp_toolbox_button_normal_new_from_verb(tb, GTK_ICON_SIZE_SMALL_TOOLBAR, Inkscape::Verb::get(SP_VERB_SELECTION_TO_BACK), view, tt);
- sp_toolbox_button_normal_new_from_verb(tb, GTK_ICON_SIZE_SMALL_TOOLBAR, Inkscape::Verb::get(SP_VERB_SELECTION_LOWER), view, tt);
- sp_toolbox_button_normal_new_from_verb(tb, GTK_ICON_SIZE_SMALL_TOOLBAR, Inkscape::Verb::get(SP_VERB_SELECTION_RAISE), view, tt);
- sp_toolbox_button_normal_new_from_verb(tb, GTK_ICON_SIZE_SMALL_TOOLBAR, Inkscape::Verb::get(SP_VERB_SELECTION_TO_FRONT), view, tt);
+ sp_toolbox_button_normal_new_from_verb(tb, Inkscape::ICON_SIZE_SMALL_TOOLBAR, Inkscape::Verb::get(SP_VERB_SELECTION_TO_BACK), view, tt);
+ sp_toolbox_button_normal_new_from_verb(tb, Inkscape::ICON_SIZE_SMALL_TOOLBAR, Inkscape::Verb::get(SP_VERB_SELECTION_LOWER), view, tt);
+ sp_toolbox_button_normal_new_from_verb(tb, Inkscape::ICON_SIZE_SMALL_TOOLBAR, Inkscape::Verb::get(SP_VERB_SELECTION_RAISE), view, tt);
+ sp_toolbox_button_normal_new_from_verb(tb, Inkscape::ICON_SIZE_SMALL_TOOLBAR, Inkscape::Verb::get(SP_VERB_SELECTION_TO_FRONT), view, tt);
// Create the parent widget for x y w h tracker.
GtkWidget *spw = sp_widget_new_global(INKSCAPE);
// Remember the desktop's canvas widget, to be used for defocusing.
- gtk_object_set_data(GTK_OBJECT(spw), "dtw", SP_DT_CANVAS(desktop));
+ gtk_object_set_data(GTK_OBJECT(spw), "dtw", sp_desktop_canvas(desktop));
// The vb frame holds all other widgets and is used to set sensitivity depending on selection state.
GtkWidget *vb = gtk_hbox_new(FALSE, 0);
GtkWidget *us = sp_unit_selector_new(SP_UNIT_ABSOLUTE | SP_UNIT_DEVICE);
sp_unit_selector_setsize(us, AUX_OPTION_MENU_WIDTH, AUX_OPTION_MENU_HEIGHT);
sp_unit_selector_add_unit(SP_UNIT_SELECTOR(us), &sp_unit_get_by_id(SP_UNIT_PERCENT), 0);
- sp_unit_selector_set_unit (SP_UNIT_SELECTOR(us), SP_DT_NAMEDVIEW(desktop)->doc_units);
+ sp_unit_selector_set_unit (SP_UNIT_SELECTOR(us), sp_desktop_namedview(desktop)->doc_units);
g_signal_connect(G_OBJECT(us), "set_unit", G_CALLBACK(aux_set_unit), spw);
// four spinbuttons
// lock toggle
GtkWidget *lockbox = gtk_vbox_new(TRUE, 0);
- GtkWidget *lock = sp_button_new_from_data( GTK_ICON_SIZE_MENU,
+ GtkWidget *lock = sp_button_new_from_data( Inkscape::ICON_SIZE_DECORATION,
SP_BUTTON_TYPE_TOGGLE,
NULL,
- "width_height_lock",
- _("Change both width and height by the same proportion"),
+ "lock_unlocked",
+ _("When locked, change both width and height by the same proportion"),
tt);
gtk_box_pack_start(GTK_BOX(lockbox), lock, TRUE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(vb), lockbox, FALSE, FALSE, 0);
gtk_object_set_data(GTK_OBJECT(spw), "lock", lock);
+ g_signal_connect_after (G_OBJECT (lock), "clicked", G_CALLBACK (toggle_lock), desktop);
gtk_container_add(GTK_CONTAINER(vb),
//TRANSLATORS: only translate "string" in "context|string".
gtk_signal_connect(GTK_OBJECT(spw), "change_selection", GTK_SIGNAL_FUNC(sp_selection_layout_widget_change_selection), desktop);
// Update now.
- sp_selection_layout_widget_update(SP_WIDGET(spw), SP_ACTIVE_DESKTOP ? SP_DT_SELECTION(SP_ACTIVE_DESKTOP) : NULL);
+ sp_selection_layout_widget_update(SP_WIDGET(spw), SP_ACTIVE_DESKTOP ? sp_desktop_selection(SP_ACTIVE_DESKTOP) : NULL);
// Insert spw into the toolbar.
gtk_box_pack_start(GTK_BOX(tb), spw, FALSE, FALSE, AUX_BETWEEN_BUTTON_GROUPS);
GtkWidget *cbox = gtk_hbox_new (FALSE, 0);
{
- GtkWidget *button = sp_button_new_from_data( GTK_ICON_SIZE_SMALL_TOOLBAR,
+ GtkWidget *button = sp_button_new_from_data( Inkscape::ICON_SIZE_DECORATION,
SP_BUTTON_TYPE_TOGGLE,
NULL,
"transform_stroke",
}
{
- GtkWidget *button = sp_button_new_from_data( GTK_ICON_SIZE_SMALL_TOOLBAR,
+ GtkWidget *button = sp_button_new_from_data( Inkscape::ICON_SIZE_DECORATION,
SP_BUTTON_TYPE_TOGGLE,
NULL,
"transform_corners",
}
{
- GtkWidget *button = sp_button_new_from_data( GTK_ICON_SIZE_SMALL_TOOLBAR,
+ GtkWidget *button = sp_button_new_from_data( Inkscape::ICON_SIZE_DECORATION,
SP_BUTTON_TYPE_TOGGLE,
NULL,
"transform_gradient",
}
{
- GtkWidget *button = sp_button_new_from_data( GTK_ICON_SIZE_SMALL_TOOLBAR,
+ GtkWidget *button = sp_button_new_from_data( Inkscape::ICON_SIZE_DECORATION,
SP_BUTTON_TYPE_TOGGLE,
NULL,
"transform_pattern",