[glade] GladeLabelEditor: Port to be a composite template and derive from GladeEditorSkeleton
- From: Tristan Van Berkom <tvb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glade] GladeLabelEditor: Port to be a composite template and derive from GladeEditorSkeleton
- Date: Sun, 21 Apr 2013 09:17:58 +0000 (UTC)
commit 824e913b502db3f6c265a76891ebcd50568274c7
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date: Sun Apr 21 18:13:48 2013 +0900
GladeLabelEditor: Port to be a composite template and derive from GladeEditorSkeleton
Now the GladeLabelEditor can be edited in Glade.
plugins/gtk+/Makefile.am | 1 +
plugins/gtk+/glade-gtk-resources.gresource.xml | 1 +
plugins/gtk+/glade-gtk.c | 48 +-
plugins/gtk+/glade-label-editor.c | 181 +++--
plugins/gtk+/glade-label-editor.h | 39 +-
plugins/gtk+/glade-label-editor.ui | 955 +++++++++++++++++++++++++
plugins/gtk+/gtk+.xml.in | 22 +-
po/POTFILES.in | 1 +
8 files changed, 1095 insertions(+), 153 deletions(-)
---
diff --git a/plugins/gtk+/Makefile.am b/plugins/gtk+/Makefile.am
index 82c6983..46b5dec 100644
--- a/plugins/gtk+/Makefile.am
+++ b/plugins/gtk+/Makefile.am
@@ -103,6 +103,7 @@ BUILT_SOURCES = \
UI_FILES = \
glade-activatable-editor.ui \
glade-button-editor.ui \
+ glade-label-editor.ui \
glade-widget-editor.ui
EXTRA_DIST = \
diff --git a/plugins/gtk+/glade-gtk-resources.gresource.xml b/plugins/gtk+/glade-gtk-resources.gresource.xml
index 1cd6fd9..7e58d90 100644
--- a/plugins/gtk+/glade-gtk-resources.gresource.xml
+++ b/plugins/gtk+/glade-gtk-resources.gresource.xml
@@ -3,6 +3,7 @@
<gresource prefix="/org/gnome/gladegtk">
<file compressed="true" preprocess="xml-stripblanks">glade-activatable-editor.ui</file>
<file compressed="true" preprocess="xml-stripblanks">glade-button-editor.ui</file>
+ <file compressed="true" preprocess="xml-stripblanks">glade-label-editor.ui</file>
<file compressed="true" preprocess="xml-stripblanks">glade-widget-editor.ui</file>
</gresource>
</gresources>
diff --git a/plugins/gtk+/glade-gtk.c b/plugins/gtk+/glade-gtk.c
index 953704c..7f18f15 100644
--- a/plugins/gtk+/glade-gtk.c
+++ b/plugins/gtk+/glade-gtk.c
@@ -6489,43 +6489,6 @@ glade_gtk_label_set_use_underline (GObject * object, const GValue * value)
gtk_label_set_use_underline (GTK_LABEL (object), g_value_get_boolean (value));
}
-static void
-glade_gtk_label_set_ellipsize (GObject * object, const GValue * value)
-{
- GladeWidget *glabel;
- const gchar *insensitive_msg =
- _("This property does not apply when Ellipsize is set.");
-
- glabel = glade_widget_get_from_gobject (object);
-
- if (!glade_widget_property_original_default (glabel, "ellipsize"))
- glade_widget_property_set_sensitive (glabel, "angle", FALSE,
- insensitive_msg);
- else
- glade_widget_property_set_sensitive (glabel, "angle", TRUE, NULL);
-
- gtk_label_set_ellipsize (GTK_LABEL (object), g_value_get_enum (value));
-}
-
-
-static void
-glade_gtk_label_set_angle (GObject * object, const GValue * value)
-{
- GladeWidget *glabel;
- const gchar *insensitive_msg =
- _("This property does not apply when Angle is set.");
-
- glabel = glade_widget_get_from_gobject (object);
-
- if (!glade_widget_property_original_default (glabel, "angle"))
- glade_widget_property_set_sensitive (glabel, "ellipsize", FALSE,
- insensitive_msg);
- else
- glade_widget_property_set_sensitive (glabel, "ellipsize", TRUE, NULL);
-
- gtk_label_set_angle (GTK_LABEL (object), g_value_get_double (value));
-}
-
void
glade_gtk_label_set_property (GladeWidgetAdaptor * adaptor,
GObject * object,
@@ -6543,10 +6506,6 @@ glade_gtk_label_set_property (GladeWidgetAdaptor * adaptor,
glade_gtk_label_set_wrap_mode (object, value);
else if (!strcmp (id, "use-underline"))
glade_gtk_label_set_use_underline (object, value);
- else if (!strcmp (id, "ellipsize"))
- glade_gtk_label_set_ellipsize (object, value);
- else if (!strcmp (id, "angle"))
- glade_gtk_label_set_angle (object, value);
else
GWA_GET_CLASS (GTK_TYPE_WIDGET)->set_property (adaptor, object, id, value);
}
@@ -6789,11 +6748,10 @@ glade_gtk_label_create_editable (GladeWidgetAdaptor * adaptor,
{
GladeEditable *editable;
- /* Get base editable */
- editable = GWA_GET_CLASS (GTK_TYPE_WIDGET)->create_editable (adaptor, type);
-
if (type == GLADE_PAGE_GENERAL)
- return (GladeEditable *) glade_label_editor_new (adaptor, editable);
+ editable = (GladeEditable *) glade_label_editor_new ();
+ else
+ editable = GWA_GET_CLASS (GTK_TYPE_WIDGET)->create_editable (adaptor, type);
return editable;
}
diff --git a/plugins/gtk+/glade-label-editor.c b/plugins/gtk+/glade-label-editor.c
index e0f4ad5..b4571ff 100644
--- a/plugins/gtk+/glade-label-editor.c
+++ b/plugins/gtk+/glade-label-editor.c
@@ -26,66 +26,116 @@
#include "glade-label-editor.h"
+/* GtkWidgetClass */
+static void glade_label_editor_grab_focus (GtkWidget *widget);
+
+/* GladeEditableIface */
+static void glade_label_editor_load (GladeEditable *editable,
+ GladeWidget *widget);
+static void glade_label_editor_editable_init (GladeEditableIface *iface);
+
+/* Callbacks */
+static void attributes_toggled (GtkWidget *widget, GladeLabelEditor *label_editor);
+static void markup_toggled (GtkWidget *widget, GladeLabelEditor *label_editor);
+static void pattern_toggled (GtkWidget *widget, GladeLabelEditor *label_editor);
+static void width_toggled (GtkWidget *widget, GladeLabelEditor *label_editor);
+static void max_width_toggled (GtkWidget *widget, GladeLabelEditor *label_editor);
+static void wrap_free_toggled (GtkWidget *widget, GladeLabelEditor *label_editor);
+static void single_toggled (GtkWidget *widget, GladeLabelEditor *label_editor);
+static void wrap_mode_toggled (GtkWidget *widget, GladeLabelEditor *label_editor);
+
+struct _GladeLabelEditorPrivate
+{
+ GtkWidget *embed;
-static void glade_label_editor_finalize (GObject * object);
-
-static void glade_label_editor_editable_init (GladeEditableIface * iface);
+ GtkWidget *attributes_radio; /* Set pango attributes manually (attributes eprop embedded) */
+ GtkWidget *markup_radio; /* Parse the label as a pango markup string (no showing eprop) */
+ GtkWidget *pattern_radio; /* Use a pattern string to underline portions of the text
+ * (pattern eprop embedded) */
-static void glade_label_editor_grab_focus (GtkWidget * widget);
+ /* These control whether to use max-width-chars or just width-chars */
+ GtkWidget *width_radio;
+ GtkWidget *max_width_radio;
+ /* These control whether to use single-line-mode, wrap & wrap-mode or niether */
+ GtkWidget *wrap_free_label; /* Set boldness on this label for a fake property */
+ GtkWidget *wrap_free_radio;
+ GtkWidget *single_radio;
+ GtkWidget *wrap_mode_radio;
+};
static GladeEditableIface *parent_editable_iface;
-G_DEFINE_TYPE_WITH_CODE (GladeLabelEditor, glade_label_editor, GTK_TYPE_VBOX,
+G_DEFINE_TYPE_WITH_CODE (GladeLabelEditor, glade_label_editor, GLADE_TYPE_EDITOR_SKELETON,
G_IMPLEMENT_INTERFACE (GLADE_TYPE_EDITABLE,
glade_label_editor_editable_init));
-
static void
glade_label_editor_class_init (GladeLabelEditorClass * klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
- object_class->finalize = glade_label_editor_finalize;
widget_class->grab_focus = glade_label_editor_grab_focus;
+
+ gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/gladegtk/glade-label-editor.ui");
+
+ gtk_widget_class_bind_child (widget_class, GladeLabelEditorPrivate, embed);
+ gtk_widget_class_bind_child (widget_class, GladeLabelEditorPrivate, attributes_radio);
+ gtk_widget_class_bind_child (widget_class, GladeLabelEditorPrivate, markup_radio);
+ gtk_widget_class_bind_child (widget_class, GladeLabelEditorPrivate, pattern_radio);
+ gtk_widget_class_bind_child (widget_class, GladeLabelEditorPrivate, width_radio);
+ gtk_widget_class_bind_child (widget_class, GladeLabelEditorPrivate, max_width_radio);
+ gtk_widget_class_bind_child (widget_class, GladeLabelEditorPrivate, wrap_free_label);
+ gtk_widget_class_bind_child (widget_class, GladeLabelEditorPrivate, wrap_free_radio);
+ gtk_widget_class_bind_child (widget_class, GladeLabelEditorPrivate, single_radio);
+ gtk_widget_class_bind_child (widget_class, GladeLabelEditorPrivate, wrap_mode_radio);
+
+ gtk_widget_class_bind_callback (widget_class, attributes_toggled);
+ gtk_widget_class_bind_callback (widget_class, markup_toggled);
+ gtk_widget_class_bind_callback (widget_class, pattern_toggled);
+ gtk_widget_class_bind_callback (widget_class, width_toggled);
+ gtk_widget_class_bind_callback (widget_class, max_width_toggled);
+ gtk_widget_class_bind_callback (widget_class, wrap_free_toggled);
+ gtk_widget_class_bind_callback (widget_class, single_toggled);
+ gtk_widget_class_bind_callback (widget_class, wrap_mode_toggled);
+
+ g_type_class_add_private (object_class, sizeof (GladeLabelEditorPrivate));
}
static void
glade_label_editor_init (GladeLabelEditor * self)
{
+ self->priv =
+ G_TYPE_INSTANCE_GET_PRIVATE (self,
+ GLADE_TYPE_LABEL_EDITOR,
+ GladeLabelEditorPrivate);
+
+ gtk_widget_init_template (GTK_WIDGET (self));
}
static void
glade_label_editor_load (GladeEditable * editable, GladeWidget * widget)
{
GladeLabelEditor *label_editor = GLADE_LABEL_EDITOR (editable);
- GList *l;
+ GladeLabelEditorPrivate *priv = label_editor->priv;
/* Chain up to default implementation */
parent_editable_iface->load (editable, widget);
- /* load the embedded editable... */
- if (label_editor->embed)
- glade_editable_load (GLADE_EDITABLE (label_editor->embed), widget);
-
- for (l = label_editor->properties; l; l = l->next)
- glade_editor_property_load_by_widget (GLADE_EDITOR_PROPERTY (l->data),
- widget);
-
if (widget)
{
GladeLabelContentMode content_mode;
GladeLabelWrapMode wrap_mode;
- static PangoAttrList *bold_attr_list = NULL;
+ static PangoAttrList *italic_attr_list = NULL;
gboolean use_max_width;
- if (!bold_attr_list)
+ if (!italic_attr_list)
{
PangoAttribute *attr;
- bold_attr_list = pango_attr_list_new ();
- attr = pango_attr_weight_new (PANGO_WEIGHT_BOLD);
- pango_attr_list_insert (bold_attr_list, attr);
+ italic_attr_list = pango_attr_list_new ();
+ attr = pango_attr_style_new (PANGO_STYLE_ITALIC);
+ pango_attr_list_insert (italic_attr_list, attr);
}
glade_widget_property_get (widget, "label-content-mode", &content_mode);
@@ -96,42 +146,42 @@ glade_label_editor_load (GladeEditable * editable, GladeWidget * widget)
{
case GLADE_LABEL_MODE_ATTRIBUTES:
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
- (label_editor->attributes_radio),
+ (priv->attributes_radio),
TRUE);
break;
case GLADE_LABEL_MODE_MARKUP:
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
- (label_editor->markup_radio), TRUE);
+ (priv->markup_radio), TRUE);
break;
case GLADE_LABEL_MODE_PATTERN:
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
- (label_editor->pattern_radio), TRUE);
+ (priv->pattern_radio), TRUE);
break;
default:
break;
}
if (wrap_mode == GLADE_LABEL_WRAP_FREE)
- gtk_label_set_attributes (GTK_LABEL (label_editor->wrap_free_label),
- bold_attr_list);
+ gtk_label_set_attributes (GTK_LABEL (priv->wrap_free_label),
+ italic_attr_list);
else
- gtk_label_set_attributes (GTK_LABEL (label_editor->wrap_free_label),
+ gtk_label_set_attributes (GTK_LABEL (priv->wrap_free_label),
NULL);
switch (wrap_mode)
{
case GLADE_LABEL_WRAP_FREE:
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
- (label_editor->wrap_free_radio),
+ (priv->wrap_free_radio),
TRUE);
break;
case GLADE_LABEL_SINGLE_LINE:
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
- (label_editor->single_radio), TRUE);
+ (priv->single_radio), TRUE);
break;
case GLADE_LABEL_WRAP_MODE:
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
- (label_editor->wrap_mode_radio),
+ (priv->wrap_mode_radio),
TRUE);
break;
default:
@@ -140,62 +190,38 @@ glade_label_editor_load (GladeEditable * editable, GladeWidget * widget)
if (use_max_width)
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
- (label_editor->max_width_radio), TRUE);
+ (priv->max_width_radio), TRUE);
else
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
- (label_editor->width_radio), TRUE);
+ (priv->width_radio), TRUE);
}
}
static void
-glade_label_editor_set_show_name (GladeEditable * editable, gboolean show_name)
-{
- GladeLabelEditor *label_editor = GLADE_LABEL_EDITOR (editable);
-
- glade_editable_set_show_name (GLADE_EDITABLE (label_editor->embed),
- show_name);
-}
-
-static void
glade_label_editor_editable_init (GladeEditableIface * iface)
{
- parent_editable_iface = g_type_default_interface_peek (GLADE_TYPE_EDITABLE);
+ parent_editable_iface = g_type_interface_peek_parent (iface);
iface->load = glade_label_editor_load;
- iface->set_show_name = glade_label_editor_set_show_name;
-}
-
-static void
-glade_label_editor_finalize (GObject * object)
-{
- GladeLabelEditor *label_editor = GLADE_LABEL_EDITOR (object);
-
- if (label_editor->properties)
- g_list_free (label_editor->properties);
- label_editor->properties = NULL;
- label_editor->embed = NULL;
-
- glade_editable_load (GLADE_EDITABLE (object), NULL);
-
- G_OBJECT_CLASS (glade_label_editor_parent_class)->finalize (object);
}
static void
glade_label_editor_grab_focus (GtkWidget * widget)
{
- GladeLabelEditor *label_editor = GLADE_LABEL_EDITOR (widget);
+ GladeLabelEditor *label_editor = GLADE_LABEL_EDITOR (widget);
+ GladeLabelEditorPrivate *priv = label_editor->priv;
- gtk_widget_grab_focus (label_editor->embed);
+ gtk_widget_grab_focus (priv->embed);
}
-
/**********************************************************************
label-content-mode radios
**********************************************************************/
static void
attributes_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
{
+ GladeLabelEditorPrivate *priv = label_editor->priv;
GladeProperty *property;
GladeWidget *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (label_editor));
@@ -203,7 +229,7 @@ attributes_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
return;
if (!gtk_toggle_button_get_active
- (GTK_TOGGLE_BUTTON (label_editor->attributes_radio)))
+ (GTK_TOGGLE_BUTTON (priv->attributes_radio)))
return;
glade_editable_block (GLADE_EDITABLE (label_editor));
@@ -229,6 +255,7 @@ attributes_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
static void
markup_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
{
+ GladeLabelEditorPrivate *priv = label_editor->priv;
GladeProperty *property;
GladeWidget *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (label_editor));
@@ -236,7 +263,7 @@ markup_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
return;
if (!gtk_toggle_button_get_active
- (GTK_TOGGLE_BUTTON (label_editor->markup_radio)))
+ (GTK_TOGGLE_BUTTON (priv->markup_radio)))
return;
glade_editable_block (GLADE_EDITABLE (label_editor));
@@ -265,6 +292,7 @@ markup_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
static void
pattern_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
{
+ GladeLabelEditorPrivate *priv = label_editor->priv;
GladeProperty *property;
GladeWidget *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (label_editor));
@@ -272,7 +300,7 @@ pattern_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
return;
if (!gtk_toggle_button_get_active
- (GTK_TOGGLE_BUTTON (label_editor->pattern_radio)))
+ (GTK_TOGGLE_BUTTON (priv->pattern_radio)))
return;
glade_editable_block (GLADE_EDITABLE (label_editor));
@@ -298,10 +326,10 @@ pattern_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
/**********************************************************************
use-max-width radios
**********************************************************************/
-
static void
width_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
{
+ GladeLabelEditorPrivate *priv = label_editor->priv;
GladeProperty *property;
GladeWidget *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (label_editor));
@@ -309,7 +337,7 @@ width_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
return;
if (!gtk_toggle_button_get_active
- (GTK_TOGGLE_BUTTON (label_editor->width_radio)))
+ (GTK_TOGGLE_BUTTON (priv->width_radio)))
return;
glade_editable_block (GLADE_EDITABLE (label_editor));
@@ -333,6 +361,7 @@ width_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
static void
max_width_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
{
+ GladeLabelEditorPrivate *priv = label_editor->priv;
GladeProperty *property;
GladeWidget *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (label_editor));
@@ -340,7 +369,7 @@ max_width_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
return;
if (!gtk_toggle_button_get_active
- (GTK_TOGGLE_BUTTON (label_editor->max_width_radio)))
+ (GTK_TOGGLE_BUTTON (priv->max_width_radio)))
return;
glade_editable_block (GLADE_EDITABLE (label_editor));
@@ -367,6 +396,7 @@ max_width_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
static void
wrap_free_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
{
+ GladeLabelEditorPrivate *priv = label_editor->priv;
GladeProperty *property;
GladeWidget *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (label_editor));
@@ -374,7 +404,7 @@ wrap_free_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
return;
if (!gtk_toggle_button_get_active
- (GTK_TOGGLE_BUTTON (label_editor->wrap_free_radio)))
+ (GTK_TOGGLE_BUTTON (priv->wrap_free_radio)))
return;
glade_editable_block (GLADE_EDITABLE (label_editor));
@@ -403,6 +433,7 @@ wrap_free_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
static void
single_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
{
+ GladeLabelEditorPrivate *priv = label_editor->priv;
GladeProperty *property;
GladeWidget *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (label_editor));
@@ -410,7 +441,7 @@ single_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
return;
if (!gtk_toggle_button_get_active
- (GTK_TOGGLE_BUTTON (label_editor->single_radio)))
+ (GTK_TOGGLE_BUTTON (priv->single_radio)))
return;
glade_editable_block (GLADE_EDITABLE (label_editor));
@@ -439,6 +470,7 @@ single_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
static void
wrap_mode_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
{
+ GladeLabelEditorPrivate *priv = label_editor->priv;
GladeProperty *property;
GladeWidget *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (label_editor));
@@ -446,7 +478,7 @@ wrap_mode_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
return;
if (!gtk_toggle_button_get_active
- (GTK_TOGGLE_BUTTON (label_editor->wrap_mode_radio)))
+ (GTK_TOGGLE_BUTTON (priv->wrap_mode_radio)))
return;
glade_editable_block (GLADE_EDITABLE (label_editor));
@@ -470,6 +502,7 @@ wrap_mode_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
glade_editable_load (GLADE_EDITABLE (label_editor), gwidget);
}
+#if 0
static void
table_attach (GtkWidget * table, GtkWidget * child, gint pos, gint row)
{
@@ -717,10 +750,15 @@ append_label_wrapping (GladeLabelEditor * label_editor,
single_line_eprop,
(GDestroyNotify) gtk_widget_destroy);
}
+#endif
+
GtkWidget *
-glade_label_editor_new (GladeWidgetAdaptor * adaptor, GladeEditable * embed)
+glade_label_editor_new (void)
{
+ return g_object_new (GLADE_TYPE_LABEL_EDITOR, NULL);
+
+#if 0
GladeLabelEditor *label_editor;
g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
@@ -761,4 +799,5 @@ glade_label_editor_new (GladeWidgetAdaptor * adaptor, GladeEditable * embed)
gtk_widget_show_all (GTK_WIDGET (label_editor));
return GTK_WIDGET (label_editor);
+#endif
}
diff --git a/plugins/gtk+/glade-label-editor.h b/plugins/gtk+/glade-label-editor.h
index 260aa0e..b5b9ee4 100644
--- a/plugins/gtk+/glade-label-editor.h
+++ b/plugins/gtk+/glade-label-editor.h
@@ -34,51 +34,34 @@ G_BEGIN_DECLS
typedef struct _GladeLabelEditor GladeLabelEditor;
typedef struct _GladeLabelEditorClass GladeLabelEditorClass;
+typedef struct _GladeLabelEditorPrivate GladeLabelEditorPrivate;
typedef enum {
- GLADE_LABEL_MODE_ATTRIBUTES = 0, /* default */
- GLADE_LABEL_MODE_MARKUP,
- GLADE_LABEL_MODE_PATTERN
+ GLADE_LABEL_MODE_ATTRIBUTES = 0, /* default */
+ GLADE_LABEL_MODE_MARKUP,
+ GLADE_LABEL_MODE_PATTERN
} GladeLabelContentMode;
typedef enum {
- GLADE_LABEL_WRAP_FREE = 0, /* default */
- GLADE_LABEL_SINGLE_LINE,
- GLADE_LABEL_WRAP_MODE
+ GLADE_LABEL_WRAP_FREE = 0, /* default */
+ GLADE_LABEL_SINGLE_LINE,
+ GLADE_LABEL_WRAP_MODE
} GladeLabelWrapMode;
struct _GladeLabelEditor
{
- GtkVBox parent;
+ GladeEditorSkeleton parent;
- GtkWidget *embed;
-
- GtkWidget *attributes_radio; /* Set pango attributes manually (attributes eprop embedded) */
- GtkWidget *markup_radio; /* Parse the label as a pango markup string (no showing eprop) */
- GtkWidget *pattern_radio; /* Use a pattern string to underline portions of the text
- * (pattern eprop embedded) */
-
- /* These control whether to use max-width-chars or just width-chars */
- GtkWidget *width_radio;
- GtkWidget *max_width_radio;
-
- /* These control whether to use single-line-mode, wrap & wrap-mode or niether */
- GtkWidget *wrap_free_label; /* Set boldness on this label for a fake property */
- GtkWidget *wrap_free_radio;
- GtkWidget *single_radio;
- GtkWidget *wrap_mode_radio;
-
- GList *properties; /* A list of eprops to update at load() time */
+ GladeLabelEditorPrivate *priv;
};
struct _GladeLabelEditorClass
{
- GtkVBoxClass parent;
+ GladeEditorSkeletonClass parent;
};
GType glade_label_editor_get_type (void) G_GNUC_CONST;
-GtkWidget *glade_label_editor_new (GladeWidgetAdaptor *adaptor,
- GladeEditable *editable);
+GtkWidget *glade_label_editor_new (void);
G_END_DECLS
diff --git a/plugins/gtk+/glade-label-editor.ui b/plugins/gtk+/glade-label-editor.ui
new file mode 100644
index 0000000..4e31b6c
--- /dev/null
+++ b/plugins/gtk+/glade-label-editor.ui
@@ -0,0 +1,955 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="glade">
+ <!-- interface-requires gladeui 0.0 -->
+ <!-- interface-requires gtk+ 3.8 -->
+ <template class="GladeLabelEditor" parent="GladeEditorSkeleton">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkGrid" id="grid">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">6</property>
+ <child>
+ <object class="GladeEditorTable" id="embed">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">6</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="appearance_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">Appearance</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">6</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyLabel" id="label_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">label</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="label_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="property_name">label</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="width">5</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="attributes_radio">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="receives_default">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="attributes_toggled" swapped="no"/>
+ <child>
+ <object class="GladePropertyLabel" id="attributes_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="property_name">glade-attributes</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="attributes_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="property_name">glade-attributes</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="width">5</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="markup_radio">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="receives_default">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">attributes_radio</property>
+ <signal name="toggled" handler="markup_toggled" swapped="no"/>
+ <child>
+ <object class="GladePropertyLabel" id="markup_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="property_name">use-markup</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">4</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="pattern_radio">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="receives_default">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">attributes_radio</property>
+ <signal name="toggled" handler="pattern_toggled" swapped="no"/>
+ <child>
+ <object class="GladePropertyLabel" id="pattern_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="property_name">pattern</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">5</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="pattern_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">pattern</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">5</property>
+ <property name="width">4</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="format_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">Formatting</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">9</property>
+ <property name="width">6</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="behaviour_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">Label behaviour</property>
+ <property name="use_underline">True</property>
+ <property name="wrap">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">6</property>
+ <property name="width">6</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="selectable_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">selectable</property>
+ <property name="editor_type">GladeEpropCheck</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">7</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="track_links_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">track-visited-links</property>
+ <property name="editor_type">GladeEpropCheck</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">7</property>
+ <property name="width">4</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="use_underline_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">use-underline</property>
+ <property name="editor_type">GladeEpropCheck</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">8</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="mnemonic_widget_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">mnemonic-widget</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">8</property>
+ <property name="width">4</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyLabel" id="ellipsize_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">ellipsize</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">10</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="ellipsize_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">ellipsize</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">10</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyLabel" id="justify_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="halign">end</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">justify</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">10</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="justify_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">justify</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">10</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyLabel" id="angle_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">angle</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">11</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="angle_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">angle</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">11</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="wrap_free_radio">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="receives_default">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="wrap_free_toggled" swapped="no"/>
+ <child>
+ <object class="GtkLabel" id="wrap_free_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="label" translatable="yes">Wrap only on new line</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">12</property>
+ <property name="width">3</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="single_radio">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="receives_default">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">wrap_free_radio</property>
+ <signal name="toggled" handler="single_toggled" swapped="no"/>
+ <child>
+ <object class="GladePropertyLabel" id="single_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="property_name">single-line-mode</property>
+ <property name="custom_text" translatable="yes">Never wrap</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">13</property>
+ <property name="width">3</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="wrap_mode_radio">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="receives_default">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">single_radio</property>
+ <signal name="toggled" handler="wrap_mode_toggled" swapped="no"/>
+ <child>
+ <object class="GladePropertyLabel" id="wrap_mode_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="property_name">wrap-mode</property>
+ <property name="custom_text" translatable="yes">Automatically wrap</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">14</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="size_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">Size and Alignment</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">15</property>
+ <property name="width">6</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="width_radio">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="receives_default">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="width_toggled" swapped="no"/>
+ <child>
+ <object class="GladePropertyLabel" id="width_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="property_name">width-chars</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">16</property>
+ <property name="width">3</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="width_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">width-chars</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">16</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="max_width_radio">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="receives_default">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">width_radio</property>
+ <signal name="toggled" handler="max_width_toggled" swapped="no"/>
+ <child>
+ <object class="GladePropertyLabel" id="max_width_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="property_name">max-width-chars</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">17</property>
+ <property name="width">3</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="max_width_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">max-width-chars</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">17</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="align_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="margin_left">12</property>
+ <property name="margin_top">4</property>
+ <property name="hexpand">False</property>
+ <property name="label" translatable="yes">Alignment</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">18</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyLabel" id="halign_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="halign">end</property>
+ <property name="margin_left">24</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">xalign</property>
+ <property name="custom_text" translatable="yes">Horizontal</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">19</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyLabel" id="valign_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="halign">end</property>
+ <property name="margin_left">24</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">yalign</property>
+ <property name="custom_text" translatable="yes">Vertical</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">20</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="hpad_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">xpad</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">19</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="vpad_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">ypad</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">20</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="padding_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="margin_top">4</property>
+ <property name="hexpand">False</property>
+ <property name="label" translatable="yes">Padding</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">18</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyLabel" id="hpad_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="halign">end</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">xpad</property>
+ <property name="custom_text" translatable="yes">Horizontal</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">19</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyLabel" id="vpad_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="halign">end</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">ypad</property>
+ <property name="custom_text" translatable="yes">Vertical</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">20</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="halign_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">xalign</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">19</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="valign_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">yalign</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">20</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="wrap_mode_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">wrap-mode</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">14</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child-editors>
+ <editor id="embed"/>
+ <editor id="label_label"/>
+ <editor id="label_editor"/>
+ <editor id="attributes_label"/>
+ <editor id="attributes_editor"/>
+ <editor id="markup_label"/>
+ <editor id="pattern_label"/>
+ <editor id="pattern_editor"/>
+ <editor id="selectable_editor"/>
+ <editor id="track_links_editor"/>
+ <editor id="use_underline_editor"/>
+ <editor id="mnemonic_widget_editor"/>
+ <editor id="ellipsize_label"/>
+ <editor id="ellipsize_editor"/>
+ <editor id="justify_label"/>
+ <editor id="justify_editor"/>
+ <editor id="angle_label"/>
+ <editor id="angle_editor"/>
+ <editor id="single_label"/>
+ <editor id="wrap_mode_label"/>
+ <editor id="width_label"/>
+ <editor id="width_editor"/>
+ <editor id="max_width_label"/>
+ <editor id="max_width_editor"/>
+ <editor id="halign_label"/>
+ <editor id="valign_label"/>
+ <editor id="hpad_editor"/>
+ <editor id="vpad_editor"/>
+ <editor id="hpad_label"/>
+ <editor id="vpad_label"/>
+ <editor id="halign_editor"/>
+ <editor id="valign_editor"/>
+ <editor id="wrap_mode_editor"/>
+ </child-editors>
+ </template>
+</interface>
diff --git a/plugins/gtk+/gtk+.xml.in b/plugins/gtk+/gtk+.xml.in
index 791110e..cd6e5f6 100644
--- a/plugins/gtk+/gtk+.xml.in
+++ b/plugins/gtk+/gtk+.xml.in
@@ -917,27 +917,31 @@ embedded in another object</_tooltip>
</parameter-spec>
</property>
<property id="label" default="label" translatable="True" custom-layout="True" multiline="True"/>
- <property id="glade-attributes" _name="Attributes" save="False" custom-layout="True"
- since="2.16">
+ <property id="glade-attributes" _name="Attributes" save="False" custom-layout="True" since="2.16">
<parameter-spec>
<type>GParamBoxed</type>
<value-type>GladeAttrGList</value-type>
</parameter-spec>
<_tooltip>The pango attributes for this label</_tooltip>
</property>
+
+ <property id="xalign" custom-layout="True"/>
+ <property id="yalign" custom-layout="True"/>
+ <property id="xpad" custom-layout="True"/>
+ <property id="ypad" custom-layout="True"/>
<property id="pattern" custom-layout="True"/>
<property id="use-markup" custom-layout="True"/>
-
<property id="ellipsize" custom-layout="True"/>
- <property id="justify" custom-layout="True"/>
+ <property id="use-underline" custom-layout="True"/>
+ <property id="mnemonic-widget" custom-layout="True"/>
+ <property id="track-visited-links" custom-layout="True"/>
<property id="angle" custom-layout="True"/>
<property id="single-line-mode" custom-layout="True"/>
<property id="max-width-chars" custom-layout="True"/>
<property id="width-chars" custom-layout="True"/>
<property id="wrap" custom-layout="True"/>
- <property id="wrap-mode" custom-layout="True"/>
- <property id="selectable" ignore="True" weight="0.5"/>
- <property id="justify">
+ <property id="selectable" ignore="True" custom-layout="True"/>
+ <property id="justify" custom-layout="True">
<displayable-values>
<value id="GTK_JUSTIFY_LEFT" _name="Left"/>
<value id="GTK_JUSTIFY_RIGHT" _name="Right"/>
@@ -945,14 +949,14 @@ embedded in another object</_tooltip>
<value id="GTK_JUSTIFY_FILL" _name="Fill"/>
</displayable-values>
</property>
- <property id="wrap-mode" since="2.10">
+ <property id="wrap-mode" since="2.10" custom-layout="True">
<displayable-values>
<value id="PANGO_WRAP_WORD" _name="Word"/>
<value id="PANGO_WRAP_CHAR" _name="Character"/>
<value id="PANGO_WRAP_WORD_CHAR" _name="Word Character"/>
</displayable-values>
</property>
- <property id="track-visited-links" since="2.18"/>
+ <property id="track-visited-links" since="2.18" custom-layout="True"/>
</properties>
<signals>
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 02dbcb5..fe7f676 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -80,4 +80,5 @@ plugins/gtk+/gtkunixprint.xml.in
plugins/gtk+/gtk+.xml.in
[type: gettext/glade]plugins/gtk+/glade-activatable-editor.ui
[type: gettext/glade]plugins/gtk+/glade-button-editor.ui
+[type: gettext/glade]plugins/gtk+/glade-label-editor.ui
[type: gettext/glade]plugins/gtk+/glade-widget-editor.ui
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]