summaryrefslogtreecommitdiffstats
path: root/src/dialogs/item-properties.cpp
diff options
context:
space:
mode:
authorAndrew Higginson <at.higginson@gmail.com>2011-12-27 21:04:47 +0000
committerAndrew <at.higginson@gmail.com>2011-12-27 21:04:47 +0000
commit80960b623a99aae1402ab651b2974ef544ed3b03 (patch)
treeba49d42c2789e9e11f805e2d5263e10f9fedeef8 /src/dialogs/item-properties.cpp
parenttry to fix bug (diff)
parentGDL: Cherry-pick upstream patch 73852 (2011-03-23) - Add missing return value. (diff)
downloadinkscape-80960b623a99aae1402ab651b2974ef544ed3b03.tar.gz
inkscape-80960b623a99aae1402ab651b2974ef544ed3b03.zip
merged with trunk so I can build again...
(bzr r10092.1.36)
Diffstat (limited to 'src/dialogs/item-properties.cpp')
-rw-r--r--src/dialogs/item-properties.cpp244
1 files changed, 114 insertions, 130 deletions
diff --git a/src/dialogs/item-properties.cpp b/src/dialogs/item-properties.cpp
index 94b8b1e98..2e805c14e 100644
--- a/src/dialogs/item-properties.cpp
+++ b/src/dialogs/item-properties.cpp
@@ -1,13 +1,15 @@
-/** @file
- * @brief Object properties dialog
+/**
+ * @file
+ * Object properties dialog.
*/
/* Authors:
* Lauris Kaplinski <lauris@kaplinski.com>
* bulia byak <buliabyak@users.sf.net>
* Johan Engelen <goejendaagh@zonnet.nl>
* Abhishek Sharma
+ * Kris De Gussem <Kris.DeGussem@gmail.com>
*
- * Copyright (C) 1999-2006 Authors
+ * Copyright (C) 1999-2011 Authors
* Copyright (C) 2001 Ximian, Inc.
*
* Released under GNU GPL, read the file 'COPYING' for more information
@@ -16,21 +18,12 @@
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
-#include <gtk/gtkvbox.h>
-#include <gtk/gtkhbox.h>
-#include <gtk/gtktable.h>
-#include <gtk/gtkcheckbutton.h>
#include <gtk/gtk.h>
-#include <gtk/gtklabel.h>
-#include <gtk/gtkframe.h>
-#include <gtk/gtkexpander.h>
-#include <gtk/gtktextview.h>
-#include <gtk/gtktooltips.h>
+#include <glibmm/i18n.h>
#include "../desktop-handles.h"
#include "dialog-events.h"
#include "../document.h"
-#include <glibmm/i18n.h>
#include "../helper/window.h"
#include "../inkscape.h"
#include "../interface.h"
@@ -47,6 +40,7 @@ using Inkscape::DocumentUndo;
#define MIN_ONSCREEN_DISTANCE 50
static GtkWidget *dlg = NULL;
+static SPAttributeTable* attrTable = NULL;
static win_data wd;
// impossible original values to make sure they are read from prefs
@@ -60,16 +54,18 @@ static void sp_item_widget_sensitivity_toggled (GtkWidget *widget, SPWidget *spw
static void sp_item_widget_hidden_toggled (GtkWidget *widget, SPWidget *spw);
static void sp_item_widget_label_changed (GtkWidget *widget, SPWidget *spw);
-static void
-sp_item_dialog_destroy( GtkObject */*object*/, gpointer /*data*/ )
+static void sp_item_dialog_destroy( GtkObject */*object*/, gpointer /*data*/ )
{
+ if (attrTable)
+ {
+ delete attrTable;
+ }
sp_signal_disconnect_by_data (INKSCAPE, dlg);
wd.win = dlg = NULL;
wd.stop = 0;
}
-static gboolean
-sp_item_dialog_delete( GtkObject */*object*/, GdkEvent */*event*/, gpointer /*data*/ )
+static gboolean sp_item_dialog_delete( GtkObject */*object*/, GdkEvent */*event*/, gpointer /*data*/ )
{
gtk_window_get_position ((GtkWindow *) dlg, &x, &y);
gtk_window_get_size ((GtkWindow *) dlg, &w, &h);
@@ -88,25 +84,21 @@ sp_item_dialog_delete( GtkObject */*object*/, GdkEvent */*event*/, gpointer /*da
}
/**
- * \brief Creates new instance of item properties widget
- *
+ * Creates new instance of item properties widget.
*/
-GtkWidget *
-sp_item_widget_new (void)
+GtkWidget *sp_item_widget_new(void)
{
GtkWidget *spw, *vb, *t, *cb, *l, *f, *tf, *pb, *int_expander, *int_label;
GtkTextBuffer *desc_buffer;
- GtkTooltips *tt = gtk_tooltips_new();
-
/* Create container widget */
spw = sp_widget_new_global (INKSCAPE);
- gtk_signal_connect ( GTK_OBJECT (spw), "modify_selection",
- GTK_SIGNAL_FUNC (sp_item_widget_modify_selection),
+ g_signal_connect ( G_OBJECT (spw), "modify_selection",
+ G_CALLBACK (sp_item_widget_modify_selection),
spw );
- gtk_signal_connect ( GTK_OBJECT (spw), "change_selection",
- GTK_SIGNAL_FUNC (sp_item_widget_change_selection),
+ g_signal_connect ( G_OBJECT (spw), "change_selection",
+ G_CALLBACK (sp_item_widget_change_selection),
spw );
vb = gtk_vbox_new (FALSE, 0);
@@ -125,16 +117,16 @@ sp_item_widget_new (void)
gtk_table_attach ( GTK_TABLE (t), l, 0, 1, 0, 1,
(GtkAttachOptions)( GTK_SHRINK | GTK_FILL ),
(GtkAttachOptions)0, 0, 0 );
- gtk_object_set_data (GTK_OBJECT (spw), "id_label", l);
+ g_object_set_data (G_OBJECT (spw), "id_label", l);
/* Create the entry box for the object id */
tf = gtk_entry_new ();
- gtk_tooltips_set_tip (tt, tf, _("The id= attribute (only letters, digits, and the characters .-_: allowed)"), NULL);
+ gtk_widget_set_tooltip_text (tf, _("The id= attribute (only letters, digits, and the characters .-_: allowed)"));
gtk_entry_set_max_length (GTK_ENTRY (tf), 64);
gtk_table_attach ( GTK_TABLE (t), tf, 1, 2, 0, 1,
(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),
(GtkAttachOptions)0, 0, 0 );
- gtk_object_set_data (GTK_OBJECT (spw), "id", tf);
+ g_object_set_data (G_OBJECT (spw), "id", tf);
gtk_label_set_mnemonic_widget (GTK_LABEL(l), tf);
// pressing enter in the id field is the same as clicking Set:
@@ -142,31 +134,22 @@ sp_item_widget_new (void)
// focus is in the id field initially:
gtk_widget_grab_focus (GTK_WIDGET (tf));
- /* Button for setting the object's id, label, title and description. */
- pb = gtk_button_new_with_mnemonic (_("_Set"));
- gtk_table_attach ( GTK_TABLE (t), pb, 2, 3, 0, 1,
- (GtkAttachOptions)( GTK_SHRINK | GTK_FILL ),
- (GtkAttachOptions)0, 0, 0 );
- gtk_signal_connect ( GTK_OBJECT (pb), "clicked",
- GTK_SIGNAL_FUNC (sp_item_widget_label_changed),
- spw );
-
/* Create the label for the object label */
l = gtk_label_new_with_mnemonic (_("_Label:"));
gtk_misc_set_alignment (GTK_MISC (l), 1, 0.5);
gtk_table_attach ( GTK_TABLE (t), l, 0, 1, 1, 2,
(GtkAttachOptions)( GTK_SHRINK | GTK_FILL ),
(GtkAttachOptions)0, 0, 0 );
- gtk_object_set_data (GTK_OBJECT (spw), "label_label", l);
+ g_object_set_data (G_OBJECT (spw), "label_label", l);
/* Create the entry box for the object label */
tf = gtk_entry_new ();
- gtk_tooltips_set_tip (tt, tf, _("A freeform label for the object"), NULL);
+ gtk_widget_set_tooltip_text (tf, _("A freeform label for the object"));
gtk_entry_set_max_length (GTK_ENTRY (tf), 256);
gtk_table_attach ( GTK_TABLE (t), tf, 1, 2, 1, 2,
(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),
(GtkAttachOptions)0, 0, 0 );
- gtk_object_set_data (GTK_OBJECT (spw), "label", tf);
+ g_object_set_data (G_OBJECT (spw), "label", tf);
gtk_label_set_mnemonic_widget (GTK_LABEL(l), tf);
// pressing enter in the label field is the same as clicking Set:
@@ -178,7 +161,7 @@ sp_item_widget_new (void)
gtk_table_attach ( GTK_TABLE (t), l, 0, 1, 2, 3,
(GtkAttachOptions)( GTK_SHRINK | GTK_FILL ),
(GtkAttachOptions)0, 0, 0 );
- gtk_object_set_data (GTK_OBJECT (spw), "title_label", l);
+ g_object_set_data (G_OBJECT (spw), "title_label", l);
/* Create the entry box for the object title */
tf = gtk_entry_new ();
@@ -187,7 +170,7 @@ sp_item_widget_new (void)
gtk_table_attach ( GTK_TABLE (t), tf, 1, 3, 2, 3,
(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),
(GtkAttachOptions)0, 0, 0 );
- gtk_object_set_data (GTK_OBJECT (spw), "title", tf);
+ g_object_set_data (G_OBJECT (spw), "title", tf);
gtk_label_set_mnemonic_widget (GTK_LABEL(l), tf);
/* Create the frame for the object description */
@@ -204,14 +187,14 @@ sp_item_widget_new (void)
gtk_widget_set_sensitive (GTK_WIDGET (textframe), FALSE);
gtk_container_add (GTK_CONTAINER (f), textframe);
gtk_frame_set_shadow_type (GTK_FRAME (textframe), GTK_SHADOW_IN);
- gtk_object_set_data(GTK_OBJECT(spw), "desc_frame", textframe);
+ g_object_set_data(G_OBJECT(spw), "desc_frame", textframe);
tf = gtk_text_view_new();
gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(tf), GTK_WRAP_WORD);
desc_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(tf));
gtk_text_buffer_set_text(desc_buffer, "", -1);
gtk_container_add (GTK_CONTAINER (textframe), tf);
- gtk_object_set_data (GTK_OBJECT (spw), "desc", tf);
+ g_object_set_data (G_OBJECT (spw), "desc", tf);
gtk_label_set_mnemonic_widget (GTK_LABEL (gtk_frame_get_label_widget (GTK_FRAME (f))), tf);
/* Check boxes */
@@ -223,30 +206,37 @@ sp_item_widget_new (void)
/* Hide */
cb = gtk_check_button_new_with_mnemonic (_("_Hide"));
- gtk_tooltips_set_tip (tt, cb, _("Check to make the object invisible"), NULL);
+ gtk_widget_set_tooltip_text (cb, _("Check to make the object invisible"));
gtk_table_attach ( GTK_TABLE (t), cb, 0, 1, 0, 1,
(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),
(GtkAttachOptions)0, 0, 0 );
g_signal_connect (G_OBJECT(cb), "toggled", G_CALLBACK(sp_item_widget_hidden_toggled), spw);
- gtk_object_set_data(GTK_OBJECT(spw), "hidden", cb);
+ g_object_set_data(G_OBJECT(spw), "hidden", cb);
+
+ /* Button for setting the object's id, label, title and description. */
+ pb = gtk_button_new_with_mnemonic (_("_Set"));
+ gtk_box_pack_start (GTK_BOX (hb_cb), pb, TRUE, TRUE, 10);
+ g_signal_connect ( G_OBJECT (pb), "clicked",
+ G_CALLBACK (sp_item_widget_label_changed),
+ spw );
/* Lock */
// TRANSLATORS: "Lock" is a verb here
cb = gtk_check_button_new_with_mnemonic (_("L_ock"));
- gtk_tooltips_set_tip (tt, cb, _("Check to make the object insensitive (not selectable by mouse)"), NULL);
+ gtk_widget_set_tooltip_text (cb, _("Check to make the object insensitive (not selectable by mouse)"));
gtk_table_attach ( GTK_TABLE (t), cb, 1, 2, 0, 1,
(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),
(GtkAttachOptions)0, 0, 0 );
- gtk_signal_connect ( GTK_OBJECT (cb), "toggled",
- GTK_SIGNAL_FUNC (sp_item_widget_sensitivity_toggled),
+ g_signal_connect ( G_OBJECT (cb), "toggled",
+ G_CALLBACK (sp_item_widget_sensitivity_toggled),
spw );
- gtk_object_set_data (GTK_OBJECT (spw), "sensitive", cb);
+ g_object_set_data (G_OBJECT (spw), "sensitive", cb);
/* Create the frame for interactivity options */
int_label = gtk_label_new_with_mnemonic (_("_Interactivity"));
int_expander = gtk_expander_new (NULL);
gtk_expander_set_label_widget (GTK_EXPANDER (int_expander),int_label);
- gtk_object_set_data (GTK_OBJECT (spw), "interactivity", int_expander);
+ g_object_set_data (G_OBJECT (spw), "interactivity", int_expander);
gtk_box_pack_start (GTK_BOX (vb), int_expander, FALSE, FALSE, 0);
@@ -260,8 +250,7 @@ sp_item_widget_new (void)
-static void
-sp_item_widget_modify_selection( SPWidget *spw,
+static void sp_item_widget_modify_selection( SPWidget *spw,
Inkscape::Selection *selection,
guint /*flags*/,
GtkWidget */*itemw*/ )
@@ -271,8 +260,7 @@ sp_item_widget_modify_selection( SPWidget *spw,
-static void
-sp_item_widget_change_selection ( SPWidget *spw,
+static void sp_item_widget_change_selection ( SPWidget *spw,
Inkscape::Selection *selection,
GtkWidget */*itemw*/ )
{
@@ -281,14 +269,13 @@ sp_item_widget_change_selection ( SPWidget *spw,
/**
-* \param selection Selection to use; should not be NULL.
-*/
-static void
-sp_item_widget_setup ( SPWidget *spw, Inkscape::Selection *selection )
+ * @param selection Selection to use; should not be NULL.
+ */
+static void sp_item_widget_setup( SPWidget *spw, Inkscape::Selection *selection )
{
g_assert (selection != NULL);
- if (gtk_object_get_data (GTK_OBJECT (spw), "blocked"))
+ if (g_object_get_data(G_OBJECT (spw), "blocked"))
return;
if (!selection->singleItem()) {
@@ -298,51 +285,51 @@ sp_item_widget_setup ( SPWidget *spw, Inkscape::Selection *selection )
gtk_widget_set_sensitive (GTK_WIDGET (spw), TRUE);
}
- gtk_object_set_data (GTK_OBJECT (spw), "blocked", GUINT_TO_POINTER (TRUE));
+ g_object_set_data (G_OBJECT (spw), "blocked", GUINT_TO_POINTER (TRUE));
SPItem *item = selection->singleItem();
/* Sensitive */
- GtkWidget *w = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "sensitive"));
+ GtkWidget *w = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "sensitive"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), item->isLocked());
/* Hidden */
- w = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "hidden"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "hidden"));
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), item->isExplicitlyHidden());
if (item->cloned) {
/* ID */
- w = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "id"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "id"));
gtk_entry_set_text (GTK_ENTRY (w), "");
gtk_widget_set_sensitive (w, FALSE);
- w = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "id_label"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "id_label"));
gtk_label_set_text (GTK_LABEL (w), _("Ref"));
/* Label */
- w = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "label"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "label"));
gtk_entry_set_text (GTK_ENTRY (w), "");
gtk_widget_set_sensitive (w, FALSE);
- w = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "label_label"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "label_label"));
gtk_label_set_text (GTK_LABEL (w), _("Ref"));
} else {
SPObject *obj = (SPObject*)item;
/* ID */
- w = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "id"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "id"));
gtk_entry_set_text (GTK_ENTRY (w), obj->getId());
gtk_widget_set_sensitive (w, TRUE);
- w = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "id_label"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "id_label"));
gtk_label_set_markup_with_mnemonic (GTK_LABEL (w), _("_ID:"));
/* Label */
- w = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "label"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "label"));
gtk_entry_set_text (GTK_ENTRY (w), obj->defaultLabel());
gtk_widget_set_sensitive (w, TRUE);
/* Title */
- w = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(spw), "title"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT(spw), "title"));
gchar *title = obj->title();
if (title) {
gtk_entry_set_text(GTK_ENTRY(w), title);
@@ -352,7 +339,7 @@ sp_item_widget_setup ( SPWidget *spw, Inkscape::Selection *selection )
gtk_widget_set_sensitive(w, TRUE);
/* Description */
- w = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(spw), "desc"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT(spw), "desc"));
GtkTextBuffer *buf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(w));
gchar *desc = obj->desc();
if (desc) {
@@ -361,87 +348,90 @@ sp_item_widget_setup ( SPWidget *spw, Inkscape::Selection *selection )
} else {
gtk_text_buffer_set_text(buf, "", 0);
}
- w = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(spw), "desc_frame"));
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT(spw), "desc_frame"));
gtk_widget_set_sensitive(w, TRUE);
- w = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(spw), "interactivity"));
-
- GtkWidget* int_table = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(spw), "interactivity_table"));
- if (int_table){
- gtk_container_remove(GTK_CONTAINER(w), int_table);
+ w = GTK_WIDGET(g_object_get_data(G_OBJECT(spw), "interactivity"));
+
+ GtkWidget* int_table = GTK_WIDGET(g_object_get_data(G_OBJECT(spw), "interactivity_table"));
+
+ std::vector<Glib::ustring> int_labels;
+ int_labels.push_back("onclick");
+ int_labels.push_back("onmouseover");
+ int_labels.push_back("onmouseout");
+ int_labels.push_back("onmousedown");
+ int_labels.push_back("onmouseup");
+ int_labels.push_back("onmousemove");
+ int_labels.push_back("onfocusin");
+ int_labels.push_back("onfocusout");
+ int_labels.push_back("onfocusout");
+ int_labels.push_back("onload");
+
+ if (attrTable)
+ {
+ delete(attrTable);
}
-
- const gchar* int_labels[10] = {"onclick", "onmouseover", "onmouseout", "onmousedown", "onmouseup", "onmousemove","onfocusin", "onfocusout", "onactivate", "onload"};
-
- int_table = sp_attribute_table_new (obj, 10, int_labels, int_labels);
- gtk_widget_show_all (int_table);
- gtk_object_set_data(GTK_OBJECT(spw), "interactivity_table", int_table);
-
- gtk_container_add (GTK_CONTAINER (w), int_table);
-
+ attrTable = new SPAttributeTable (obj, int_labels, int_labels, w);
+ attrTable->show_all();
+ g_object_set_data(G_OBJECT(spw), "interactivity_table", (GtkWidget*) attrTable->gobj());
}
- gtk_object_set_data (GTK_OBJECT (spw), "blocked", GUINT_TO_POINTER (FALSE));
-
-
+ g_object_set_data (G_OBJECT (spw), "blocked", GUINT_TO_POINTER (FALSE));
} // end of sp_item_widget_setup()
-static void
-sp_item_widget_sensitivity_toggled (GtkWidget *widget, SPWidget *spw)
+static void sp_item_widget_sensitivity_toggled (GtkWidget *widget, SPWidget *spw)
{
- if (gtk_object_get_data (GTK_OBJECT (spw), "blocked"))
+ if (g_object_get_data(G_OBJECT (spw), "blocked"))
return;
SPItem *item = sp_desktop_selection(SP_ACTIVE_DESKTOP)->singleItem();
g_return_if_fail (item != NULL);
- gtk_object_set_data (GTK_OBJECT (spw), "blocked", GUINT_TO_POINTER (TRUE));
+ g_object_set_data (G_OBJECT (spw), "blocked", GUINT_TO_POINTER (TRUE));
item->setLocked(gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)));
DocumentUndo::done(SP_ACTIVE_DOCUMENT, SP_VERB_DIALOG_ITEM,
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))? _("Lock object") : _("Unlock object"));
- gtk_object_set_data (GTK_OBJECT (spw), "blocked", GUINT_TO_POINTER (FALSE));
+ g_object_set_data (G_OBJECT (spw), "blocked", GUINT_TO_POINTER (FALSE));
}
-void
-sp_item_widget_hidden_toggled(GtkWidget *widget, SPWidget *spw)
+void sp_item_widget_hidden_toggled(GtkWidget *widget, SPWidget *spw)
{
- if (gtk_object_get_data (GTK_OBJECT (spw), "blocked"))
+ if (g_object_get_data(G_OBJECT (spw), "blocked"))
return;
SPItem *item = sp_desktop_selection(SP_ACTIVE_DESKTOP)->singleItem();
g_return_if_fail (item != NULL);
- gtk_object_set_data (GTK_OBJECT (spw), "blocked", GUINT_TO_POINTER (TRUE));
+ g_object_set_data (G_OBJECT (spw), "blocked", GUINT_TO_POINTER (TRUE));
item->setExplicitlyHidden(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)));
DocumentUndo::done(SP_ACTIVE_DOCUMENT, SP_VERB_DIALOG_ITEM,
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))? _("Hide object") : _("Unhide object"));
- gtk_object_set_data (GTK_OBJECT (spw), "blocked", GUINT_TO_POINTER (FALSE));
+ g_object_set_data (G_OBJECT (spw), "blocked", GUINT_TO_POINTER (FALSE));
}
-static void
-sp_item_widget_label_changed( GtkWidget */*widget*/, SPWidget *spw )
+static void sp_item_widget_label_changed( GtkWidget */*widget*/, SPWidget *spw )
{
- if (gtk_object_get_data (GTK_OBJECT (spw), "blocked"))
+ if (g_object_get_data(G_OBJECT (spw), "blocked"))
return;
SPItem *item = sp_desktop_selection(SP_ACTIVE_DESKTOP)->singleItem();
g_return_if_fail (item != NULL);
- gtk_object_set_data (GTK_OBJECT (spw), "blocked", GUINT_TO_POINTER (TRUE));
+ g_object_set_data (G_OBJECT (spw), "blocked", GUINT_TO_POINTER (TRUE));
/* Retrieve the label widget for the object's id */
- GtkWidget *id_entry = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "id"));
+ GtkWidget *id_entry = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "id"));
gchar *id = (gchar *) gtk_entry_get_text (GTK_ENTRY (id_entry));
g_strcanon (id, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.:", '_');
- GtkWidget *id_label = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "id_label"));
+ GtkWidget *id_label = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "id_label"));
if (!strcmp (id, item->getId())) {
gtk_label_set_markup_with_mnemonic (GTK_LABEL (id_label), _("_ID:"));
} else if (!*id || !isalnum (*id)) {
@@ -458,7 +448,7 @@ sp_item_widget_label_changed( GtkWidget */*widget*/, SPWidget *spw )
}
/* Retrieve the label widget for the object's label */
- GtkWidget *label_entry = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "label"));
+ GtkWidget *label_entry = GTK_WIDGET(g_object_get_data(G_OBJECT (spw), "label"));
gchar *label = (gchar *)gtk_entry_get_text (GTK_ENTRY (label_entry));
g_assert(label != NULL);
@@ -473,14 +463,14 @@ sp_item_widget_label_changed( GtkWidget */*widget*/, SPWidget *spw )
}
/* Retrieve the title */
- GtkWidget *w = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(spw), "title"));
+ GtkWidget *w = GTK_WIDGET(g_object_get_data(G_OBJECT(spw), "title"));
gchar *title = (gchar *)gtk_entry_get_text(GTK_ENTRY (w));
if (obj->setTitle(title))
DocumentUndo::done(SP_ACTIVE_DOCUMENT, SP_VERB_DIALOG_ITEM,
_("Set object title"));
/* Retrieve the description */
- GtkTextView *tv = GTK_TEXT_VIEW(gtk_object_get_data(GTK_OBJECT(spw), "desc"));
+ GtkTextView *tv = GTK_TEXT_VIEW(g_object_get_data(G_OBJECT(spw), "desc"));
GtkTextBuffer *buf = gtk_text_view_get_buffer(tv);
GtkTextIter start, end;
gtk_text_buffer_get_bounds(buf, &start, &end);
@@ -490,25 +480,24 @@ sp_item_widget_label_changed( GtkWidget */*widget*/, SPWidget *spw )
_("Set object description"));
g_free(desc);
- gtk_object_set_data (GTK_OBJECT (spw), "blocked", GUINT_TO_POINTER (FALSE));
+ g_object_set_data (G_OBJECT (spw), "blocked", GUINT_TO_POINTER (FALSE));
} // end of sp_item_widget_label_changed()
/**
- * \brief Dialog
- *
+ * Dialog.
*/
-void
-sp_item_dialog (void)
+void sp_item_dialog(void)
{
if (dlg == NULL) {
gchar title[500];
sp_ui_dialog_title_string (Inkscape::Verb::get(SP_VERB_DIALOG_ITEM), title);
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
-
- dlg = sp_window_new (title, TRUE);
+
+ Gtk::Window* window = Inkscape::UI::window_new (title, true);
+ dlg = (GtkWidget*)window->gobj();
if (x == -1000 || y == -1000) {
x = prefs->getInt(prefs_path + "x", -1000);
y = prefs->getInt(prefs_path + "y", -1000);
@@ -518,9 +507,6 @@ sp_item_dialog (void)
h = prefs->getInt(prefs_path + "h", 0);
}
-// if (x<0) x=0;
-// if (y<0) y=0;
-
if (w && h) {
gtk_window_resize ((GtkWindow *) dlg, w, h);
}
@@ -530,24 +516,22 @@ sp_item_dialog (void)
gtk_window_set_position(GTK_WINDOW(dlg), GTK_WIN_POS_CENTER);
}
-
sp_transientize (dlg);
wd.win = dlg;
wd.stop = 0;
- g_signal_connect ( G_OBJECT (INKSCAPE), "activate_desktop", G_CALLBACK (sp_transientize_callback), &wd);
- gtk_signal_connect ( GTK_OBJECT (dlg), "event", GTK_SIGNAL_FUNC (sp_dialog_event_handler), dlg);
- gtk_signal_connect ( GTK_OBJECT (dlg), "destroy", G_CALLBACK (sp_item_dialog_destroy), dlg);
- gtk_signal_connect ( GTK_OBJECT (dlg), "delete_event", G_CALLBACK (sp_item_dialog_delete), dlg);
- g_signal_connect ( G_OBJECT (INKSCAPE), "shut_down", G_CALLBACK (sp_item_dialog_delete), dlg);
- g_signal_connect ( G_OBJECT (INKSCAPE), "dialogs_hide", G_CALLBACK (sp_dialog_hide), dlg);
- g_signal_connect ( G_OBJECT (INKSCAPE), "dialogs_unhide", G_CALLBACK (sp_dialog_unhide), dlg);
+ g_signal_connect ( G_OBJECT (INKSCAPE), "activate_desktop", G_CALLBACK (sp_transientize_callback), &wd);
+ g_signal_connect ( G_OBJECT (dlg), "event", G_CALLBACK (sp_dialog_event_handler), dlg);
+ g_signal_connect ( G_OBJECT (dlg), "destroy", G_CALLBACK (sp_item_dialog_destroy), dlg);
+ g_signal_connect ( G_OBJECT (dlg), "delete_event", G_CALLBACK (sp_item_dialog_delete), dlg);
+ g_signal_connect ( G_OBJECT (INKSCAPE), "shut_down", G_CALLBACK (sp_item_dialog_delete), dlg);
+ g_signal_connect ( G_OBJECT (INKSCAPE), "dialogs_hide", G_CALLBACK (sp_dialog_hide), dlg);
+ g_signal_connect ( G_OBJECT (INKSCAPE), "dialogs_unhide", G_CALLBACK (sp_dialog_unhide), dlg);
// Dialog-specific stuff
GtkWidget *itemw = sp_item_widget_new ();
gtk_widget_show (itemw);
gtk_container_add (GTK_CONTAINER (dlg), itemw);
-
}
gtk_window_present ((GtkWindow *) dlg);