Blame plugins/gtk+/glade-label-editor.c

Packit 1e8aac
/*
Packit 1e8aac
 * Copyright (C) 2008 Tristan Van Berkom.
Packit 1e8aac
 *
Packit 1e8aac
 * This library is free software; you can redistribute it and/or modify it
Packit 1e8aac
 * under the terms of the GNU Lesser General Public License as
Packit 1e8aac
 * published by the Free Software Foundation; either version 2.1 of
Packit 1e8aac
 * the License, or (at your option) any later version.
Packit 1e8aac
 *
Packit 1e8aac
 * This library is distributed in the hope that it will be useful, but
Packit 1e8aac
 * WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 1e8aac
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 1e8aac
 * Lesser General Public License for more details.
Packit 1e8aac
 *
Packit 1e8aac
 * You should have received a copy of the GNU Lesser General Public 
Packit 1e8aac
 * License along with this program; if not, write to the Free Software
Packit 1e8aac
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Packit 1e8aac
 *
Packit 1e8aac
 * Authors:
Packit 1e8aac
 *   Tristan Van Berkom <tvb@gnome.org>
Packit 1e8aac
 */
Packit 1e8aac
Packit 1e8aac
#include <config.h>
Packit 1e8aac
#include <gladeui/glade.h>
Packit 1e8aac
#include <glib/gi18n-lib.h>
Packit 1e8aac
#include <gdk/gdkkeysyms.h>
Packit 1e8aac
Packit 1e8aac
#include "glade-label-editor.h"
Packit 1e8aac
Packit 1e8aac
/* GtkWidgetClass */
Packit 1e8aac
static void glade_label_editor_grab_focus    (GtkWidget          *widget);
Packit 1e8aac
Packit 1e8aac
/* GladeEditableIface */
Packit 1e8aac
static void glade_label_editor_load          (GladeEditable      *editable,
Packit 1e8aac
					      GladeWidget        *widget);
Packit 1e8aac
static void glade_label_editor_editable_init (GladeEditableIface *iface);
Packit 1e8aac
Packit 1e8aac
/* Callbacks */
Packit 1e8aac
static void attributes_toggled (GtkWidget *widget, GladeLabelEditor *label_editor);
Packit 1e8aac
static void markup_toggled     (GtkWidget *widget, GladeLabelEditor *label_editor);
Packit 1e8aac
static void pattern_toggled    (GtkWidget *widget, GladeLabelEditor *label_editor);
Packit 1e8aac
static void wrap_free_toggled  (GtkWidget *widget, GladeLabelEditor *label_editor);
Packit 1e8aac
static void single_toggled     (GtkWidget *widget, GladeLabelEditor *label_editor);
Packit 1e8aac
static void wrap_mode_toggled  (GtkWidget *widget, GladeLabelEditor *label_editor);
Packit 1e8aac
Packit 1e8aac
struct _GladeLabelEditorPrivate
Packit 1e8aac
{
Packit 1e8aac
  GtkWidget *embed;
Packit 1e8aac
Packit 1e8aac
  GtkWidget *attributes_radio;    /* Set pango attributes manually (attributes eprop embedded) */
Packit 1e8aac
  GtkWidget *markup_radio;        /* Parse the label as a pango markup string (no showing eprop) */
Packit 1e8aac
  GtkWidget *pattern_radio;       /* Use a pattern string to underline portions of the text
Packit 1e8aac
				   * (pattern eprop embedded) */
Packit 1e8aac
Packit 1e8aac
  /* These control whether to use single-line-mode, wrap & wrap-mode or niether */
Packit 1e8aac
  GtkWidget *wrap_free_label; /* Set boldness on this label for a fake property */
Packit 1e8aac
  GtkWidget *wrap_free_radio;
Packit 1e8aac
  GtkWidget *single_radio;
Packit 1e8aac
  GtkWidget *wrap_mode_radio;
Packit 1e8aac
};
Packit 1e8aac
Packit 1e8aac
static GladeEditableIface *parent_editable_iface;
Packit 1e8aac
Packit 1e8aac
G_DEFINE_TYPE_WITH_CODE (GladeLabelEditor, glade_label_editor, GLADE_TYPE_EDITOR_SKELETON,
Packit 1e8aac
                         G_ADD_PRIVATE (GladeLabelEditor)
Packit 1e8aac
                         G_IMPLEMENT_INTERFACE (GLADE_TYPE_EDITABLE,
Packit 1e8aac
                                                glade_label_editor_editable_init));
Packit 1e8aac
Packit 1e8aac
static void
Packit 1e8aac
glade_label_editor_class_init (GladeLabelEditorClass * klass)
Packit 1e8aac
{
Packit 1e8aac
  GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
Packit 1e8aac
Packit 1e8aac
  widget_class->grab_focus = glade_label_editor_grab_focus;
Packit 1e8aac
Packit 1e8aac
  gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/gladegtk/glade-label-editor.ui");
Packit 1e8aac
Packit 1e8aac
  gtk_widget_class_bind_template_child_private (widget_class, GladeLabelEditor, embed);
Packit 1e8aac
  gtk_widget_class_bind_template_child_private (widget_class, GladeLabelEditor, attributes_radio);
Packit 1e8aac
  gtk_widget_class_bind_template_child_private (widget_class, GladeLabelEditor, markup_radio);
Packit 1e8aac
  gtk_widget_class_bind_template_child_private (widget_class, GladeLabelEditor, pattern_radio);
Packit 1e8aac
  gtk_widget_class_bind_template_child_private (widget_class, GladeLabelEditor, wrap_free_label);
Packit 1e8aac
  gtk_widget_class_bind_template_child_private (widget_class, GladeLabelEditor, wrap_free_radio);
Packit 1e8aac
  gtk_widget_class_bind_template_child_private (widget_class, GladeLabelEditor, single_radio);
Packit 1e8aac
  gtk_widget_class_bind_template_child_private (widget_class, GladeLabelEditor, wrap_mode_radio);
Packit 1e8aac
Packit 1e8aac
  gtk_widget_class_bind_template_callback (widget_class, attributes_toggled);
Packit 1e8aac
  gtk_widget_class_bind_template_callback (widget_class, markup_toggled);
Packit 1e8aac
  gtk_widget_class_bind_template_callback (widget_class, pattern_toggled);
Packit 1e8aac
  gtk_widget_class_bind_template_callback (widget_class, wrap_free_toggled);
Packit 1e8aac
  gtk_widget_class_bind_template_callback (widget_class, single_toggled);
Packit 1e8aac
  gtk_widget_class_bind_template_callback (widget_class, wrap_mode_toggled);
Packit 1e8aac
}
Packit 1e8aac
Packit 1e8aac
static void
Packit 1e8aac
glade_label_editor_init (GladeLabelEditor * self)
Packit 1e8aac
{
Packit 1e8aac
  self->priv = glade_label_editor_get_instance_private (self);
Packit 1e8aac
Packit 1e8aac
  gtk_widget_init_template (GTK_WIDGET (self));
Packit 1e8aac
}
Packit 1e8aac
Packit 1e8aac
static void
Packit 1e8aac
glade_label_editor_load (GladeEditable * editable, GladeWidget * widget)
Packit 1e8aac
{
Packit 1e8aac
  GladeLabelEditor *label_editor = GLADE_LABEL_EDITOR (editable);
Packit 1e8aac
  GladeLabelEditorPrivate *priv = label_editor->priv;
Packit 1e8aac
Packit 1e8aac
  /* Chain up to default implementation */
Packit 1e8aac
  parent_editable_iface->load (editable, widget);
Packit 1e8aac
Packit 1e8aac
  if (widget)
Packit 1e8aac
    {
Packit 1e8aac
      GladeLabelContentMode content_mode;
Packit 1e8aac
      GladeLabelWrapMode wrap_mode;
Packit 1e8aac
      static PangoAttrList *italic_attr_list = NULL;
Packit 1e8aac
      gboolean use_max_width;
Packit 1e8aac
Packit 1e8aac
      if (!italic_attr_list)
Packit 1e8aac
        {
Packit 1e8aac
          PangoAttribute *attr;
Packit 1e8aac
          italic_attr_list = pango_attr_list_new ();
Packit 1e8aac
          attr = pango_attr_style_new (PANGO_STYLE_ITALIC);
Packit 1e8aac
          pango_attr_list_insert (italic_attr_list, attr);
Packit 1e8aac
        }
Packit 1e8aac
Packit 1e8aac
      glade_widget_property_get (widget, "label-content-mode", &content_mode);
Packit 1e8aac
      glade_widget_property_get (widget, "label-wrap-mode", &wrap_mode);
Packit 1e8aac
      glade_widget_property_get (widget, "use-max-width", &use_max_width);
Packit 1e8aac
Packit 1e8aac
      switch (content_mode)
Packit 1e8aac
        {
Packit 1e8aac
          case GLADE_LABEL_MODE_ATTRIBUTES:
Packit 1e8aac
            gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
Packit 1e8aac
                                          (priv->attributes_radio),
Packit 1e8aac
                                          TRUE);
Packit 1e8aac
            break;
Packit 1e8aac
          case GLADE_LABEL_MODE_MARKUP:
Packit 1e8aac
            gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
Packit 1e8aac
                                          (priv->markup_radio), TRUE);
Packit 1e8aac
            break;
Packit 1e8aac
          case GLADE_LABEL_MODE_PATTERN:
Packit 1e8aac
            gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
Packit 1e8aac
                                          (priv->pattern_radio), TRUE);
Packit 1e8aac
            break;
Packit 1e8aac
          default:
Packit 1e8aac
            break;
Packit 1e8aac
        }
Packit 1e8aac
Packit 1e8aac
      if (wrap_mode == GLADE_LABEL_WRAP_FREE)
Packit 1e8aac
        gtk_label_set_attributes (GTK_LABEL (priv->wrap_free_label),
Packit 1e8aac
                                  italic_attr_list);
Packit 1e8aac
      else
Packit 1e8aac
        gtk_label_set_attributes (GTK_LABEL (priv->wrap_free_label),
Packit 1e8aac
                                  NULL);
Packit 1e8aac
Packit 1e8aac
      switch (wrap_mode)
Packit 1e8aac
        {
Packit 1e8aac
          case GLADE_LABEL_WRAP_FREE:
Packit 1e8aac
            gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
Packit 1e8aac
                                          (priv->wrap_free_radio),
Packit 1e8aac
                                          TRUE);
Packit 1e8aac
            break;
Packit 1e8aac
          case GLADE_LABEL_SINGLE_LINE:
Packit 1e8aac
            gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
Packit 1e8aac
                                          (priv->single_radio), TRUE);
Packit 1e8aac
            break;
Packit 1e8aac
          case GLADE_LABEL_WRAP_MODE:
Packit 1e8aac
            gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
Packit 1e8aac
                                          (priv->wrap_mode_radio),
Packit 1e8aac
                                          TRUE);
Packit 1e8aac
            break;
Packit 1e8aac
          default:
Packit 1e8aac
            break;
Packit 1e8aac
        }
Packit 1e8aac
    }
Packit 1e8aac
}
Packit 1e8aac
Packit 1e8aac
static void
Packit 1e8aac
glade_label_editor_editable_init (GladeEditableIface * iface)
Packit 1e8aac
{
Packit 1e8aac
  parent_editable_iface = g_type_interface_peek_parent (iface);
Packit 1e8aac
Packit 1e8aac
  iface->load = glade_label_editor_load;
Packit 1e8aac
}
Packit 1e8aac
Packit 1e8aac
static void
Packit 1e8aac
glade_label_editor_grab_focus (GtkWidget * widget)
Packit 1e8aac
{
Packit 1e8aac
  GladeLabelEditor        *label_editor = GLADE_LABEL_EDITOR (widget);
Packit 1e8aac
  GladeLabelEditorPrivate *priv = label_editor->priv;
Packit 1e8aac
Packit 1e8aac
  gtk_widget_grab_focus (priv->embed);
Packit 1e8aac
}
Packit 1e8aac
Packit 1e8aac
/**********************************************************************
Packit 1e8aac
                    label-content-mode radios
Packit 1e8aac
 **********************************************************************/
Packit 1e8aac
static void
Packit 1e8aac
attributes_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
Packit 1e8aac
{
Packit 1e8aac
  GladeLabelEditorPrivate *priv = label_editor->priv;
Packit 1e8aac
  GladeProperty *property;
Packit 1e8aac
  GladeWidget   *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (label_editor));
Packit 1e8aac
Packit 1e8aac
  if (glade_editable_loading (GLADE_EDITABLE (label_editor)) || !gwidget)
Packit 1e8aac
    return;
Packit 1e8aac
Packit 1e8aac
  if (!gtk_toggle_button_get_active
Packit 1e8aac
      (GTK_TOGGLE_BUTTON (priv->attributes_radio)))
Packit 1e8aac
    return;
Packit 1e8aac
Packit 1e8aac
  glade_editable_block (GLADE_EDITABLE (label_editor));
Packit 1e8aac
Packit 1e8aac
  glade_command_push_group (_("Setting %s to use an attribute list"),
Packit 1e8aac
                            glade_widget_get_name (gwidget));
Packit 1e8aac
Packit 1e8aac
  property = glade_widget_get_property (gwidget, "use-markup");
Packit 1e8aac
  glade_command_set_property (property, FALSE);
Packit 1e8aac
  property = glade_widget_get_property (gwidget, "pattern");
Packit 1e8aac
  glade_command_set_property (property, NULL);
Packit 1e8aac
  property = glade_widget_get_property (gwidget, "label-content-mode");
Packit 1e8aac
  glade_command_set_property (property, GLADE_LABEL_MODE_ATTRIBUTES);
Packit 1e8aac
Packit 1e8aac
  glade_command_pop_group ();
Packit 1e8aac
Packit 1e8aac
  glade_editable_unblock (GLADE_EDITABLE (label_editor));
Packit 1e8aac
Packit 1e8aac
  /* reload buttons and sensitivity and stuff... */
Packit 1e8aac
  glade_editable_load (GLADE_EDITABLE (label_editor), gwidget);
Packit 1e8aac
}
Packit 1e8aac
Packit 1e8aac
static void
Packit 1e8aac
markup_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
Packit 1e8aac
{
Packit 1e8aac
  GladeLabelEditorPrivate *priv = label_editor->priv;
Packit 1e8aac
  GladeProperty *property;
Packit 1e8aac
  GladeWidget   *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (label_editor));
Packit 1e8aac
Packit 1e8aac
  if (glade_editable_loading (GLADE_EDITABLE (label_editor)) || !gwidget)
Packit 1e8aac
    return;
Packit 1e8aac
Packit 1e8aac
  if (!gtk_toggle_button_get_active
Packit 1e8aac
      (GTK_TOGGLE_BUTTON (priv->markup_radio)))
Packit 1e8aac
    return;
Packit 1e8aac
Packit 1e8aac
  glade_editable_block (GLADE_EDITABLE (label_editor));
Packit 1e8aac
Packit 1e8aac
  glade_command_push_group (_("Setting %s to use a Pango markup string"),
Packit 1e8aac
                            glade_widget_get_name (gwidget));
Packit 1e8aac
Packit 1e8aac
  property = glade_widget_get_property (gwidget, "pattern");
Packit 1e8aac
  glade_command_set_property (property, NULL);
Packit 1e8aac
  property = glade_widget_get_property (gwidget, "glade-attributes");
Packit 1e8aac
  glade_command_set_property (property, NULL);
Packit 1e8aac
Packit 1e8aac
  property = glade_widget_get_property (gwidget, "use-markup");
Packit 1e8aac
  glade_command_set_property (property, TRUE);
Packit 1e8aac
  property = glade_widget_get_property (gwidget, "label-content-mode");
Packit 1e8aac
  glade_command_set_property (property, GLADE_LABEL_MODE_MARKUP);
Packit 1e8aac
Packit 1e8aac
  glade_command_pop_group ();
Packit 1e8aac
Packit 1e8aac
  glade_editable_unblock (GLADE_EDITABLE (label_editor));
Packit 1e8aac
Packit 1e8aac
  /* reload buttons and sensitivity and stuff... */
Packit 1e8aac
  glade_editable_load (GLADE_EDITABLE (label_editor), gwidget);
Packit 1e8aac
}
Packit 1e8aac
Packit 1e8aac
static void
Packit 1e8aac
pattern_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
Packit 1e8aac
{
Packit 1e8aac
  GladeLabelEditorPrivate *priv = label_editor->priv;
Packit 1e8aac
  GladeProperty *property;
Packit 1e8aac
  GladeWidget   *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (label_editor));
Packit 1e8aac
Packit 1e8aac
  if (glade_editable_loading (GLADE_EDITABLE (label_editor)) || !gwidget)
Packit 1e8aac
    return;
Packit 1e8aac
Packit 1e8aac
  if (!gtk_toggle_button_get_active
Packit 1e8aac
      (GTK_TOGGLE_BUTTON (priv->pattern_radio)))
Packit 1e8aac
    return;
Packit 1e8aac
Packit 1e8aac
  glade_editable_block (GLADE_EDITABLE (label_editor));
Packit 1e8aac
Packit 1e8aac
  glade_command_push_group (_("Setting %s to use a pattern string"),
Packit 1e8aac
                            glade_widget_get_name (gwidget));
Packit 1e8aac
Packit 1e8aac
  property = glade_widget_get_property (gwidget, "glade-attributes");
Packit 1e8aac
  glade_command_set_property (property, NULL);
Packit 1e8aac
  property = glade_widget_get_property (gwidget, "use-markup");
Packit 1e8aac
  glade_command_set_property (property, FALSE);
Packit 1e8aac
  property = glade_widget_get_property (gwidget, "label-content-mode");
Packit 1e8aac
  glade_command_set_property (property, GLADE_LABEL_MODE_PATTERN);
Packit 1e8aac
Packit 1e8aac
  glade_command_pop_group ();
Packit 1e8aac
Packit 1e8aac
  glade_editable_unblock (GLADE_EDITABLE (label_editor));
Packit 1e8aac
Packit 1e8aac
  /* reload buttons and sensitivity and stuff... */
Packit 1e8aac
  glade_editable_load (GLADE_EDITABLE (label_editor), gwidget);
Packit 1e8aac
}
Packit 1e8aac
Packit 1e8aac
/**********************************************************************
Packit 1e8aac
                    label-wrap-mode radios
Packit 1e8aac
 **********************************************************************/
Packit 1e8aac
static void
Packit 1e8aac
wrap_free_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
Packit 1e8aac
{
Packit 1e8aac
  GladeLabelEditorPrivate *priv = label_editor->priv;
Packit 1e8aac
  GladeProperty *property;
Packit 1e8aac
  GladeWidget   *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (label_editor));
Packit 1e8aac
Packit 1e8aac
  if (glade_editable_loading (GLADE_EDITABLE (label_editor)) || !gwidget)
Packit 1e8aac
    return;
Packit 1e8aac
Packit 1e8aac
  if (!gtk_toggle_button_get_active
Packit 1e8aac
      (GTK_TOGGLE_BUTTON (priv->wrap_free_radio)))
Packit 1e8aac
    return;
Packit 1e8aac
Packit 1e8aac
  glade_editable_block (GLADE_EDITABLE (label_editor));
Packit 1e8aac
Packit 1e8aac
  glade_command_push_group (_("Setting %s to use normal line wrapping"),
Packit 1e8aac
                            glade_widget_get_name (gwidget));
Packit 1e8aac
Packit 1e8aac
  property = glade_widget_get_property (gwidget, "single-line-mode");
Packit 1e8aac
  glade_command_set_property (property, FALSE);
Packit 1e8aac
  property = glade_widget_get_property (gwidget, "wrap-mode");
Packit 1e8aac
  glade_command_set_property (property, PANGO_WRAP_WORD);
Packit 1e8aac
  property = glade_widget_get_property (gwidget, "wrap");
Packit 1e8aac
  glade_command_set_property (property, FALSE);
Packit 1e8aac
Packit 1e8aac
  property = glade_widget_get_property (gwidget, "label-wrap-mode");
Packit 1e8aac
  glade_command_set_property (property, GLADE_LABEL_WRAP_FREE);
Packit 1e8aac
Packit 1e8aac
  glade_command_pop_group ();
Packit 1e8aac
Packit 1e8aac
  glade_editable_unblock (GLADE_EDITABLE (label_editor));
Packit 1e8aac
Packit 1e8aac
  /* reload buttons and sensitivity and stuff... */
Packit 1e8aac
  glade_editable_load (GLADE_EDITABLE (label_editor), gwidget);
Packit 1e8aac
}
Packit 1e8aac
Packit 1e8aac
static void
Packit 1e8aac
single_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
Packit 1e8aac
{
Packit 1e8aac
  GladeLabelEditorPrivate *priv = label_editor->priv;
Packit 1e8aac
  GladeProperty *property;
Packit 1e8aac
  GladeWidget   *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (label_editor));
Packit 1e8aac
Packit 1e8aac
  if (glade_editable_loading (GLADE_EDITABLE (label_editor)) || !gwidget)
Packit 1e8aac
    return;
Packit 1e8aac
Packit 1e8aac
  if (!gtk_toggle_button_get_active
Packit 1e8aac
      (GTK_TOGGLE_BUTTON (priv->single_radio)))
Packit 1e8aac
    return;
Packit 1e8aac
Packit 1e8aac
  glade_editable_block (GLADE_EDITABLE (label_editor));
Packit 1e8aac
Packit 1e8aac
  glade_command_push_group (_("Setting %s to use a single line"),
Packit 1e8aac
                            glade_widget_get_name (gwidget));
Packit 1e8aac
Packit 1e8aac
  property = glade_widget_get_property (gwidget, "wrap-mode");
Packit 1e8aac
  glade_command_set_property (property, PANGO_WRAP_WORD);
Packit 1e8aac
  property = glade_widget_get_property (gwidget, "wrap");
Packit 1e8aac
  glade_command_set_property (property, FALSE);
Packit 1e8aac
Packit 1e8aac
  property = glade_widget_get_property (gwidget, "single-line-mode");
Packit 1e8aac
  glade_command_set_property (property, TRUE);
Packit 1e8aac
  property = glade_widget_get_property (gwidget, "label-wrap-mode");
Packit 1e8aac
  glade_command_set_property (property, GLADE_LABEL_SINGLE_LINE);
Packit 1e8aac
Packit 1e8aac
  glade_command_pop_group ();
Packit 1e8aac
Packit 1e8aac
  glade_editable_unblock (GLADE_EDITABLE (label_editor));
Packit 1e8aac
Packit 1e8aac
  /* reload buttons and sensitivity and stuff... */
Packit 1e8aac
  glade_editable_load (GLADE_EDITABLE (label_editor), gwidget);
Packit 1e8aac
}
Packit 1e8aac
Packit 1e8aac
static void
Packit 1e8aac
wrap_mode_toggled (GtkWidget * widget, GladeLabelEditor * label_editor)
Packit 1e8aac
{
Packit 1e8aac
  GladeLabelEditorPrivate *priv = label_editor->priv;
Packit 1e8aac
  GladeProperty *property;
Packit 1e8aac
  GladeWidget   *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (label_editor));
Packit 1e8aac
Packit 1e8aac
  if (glade_editable_loading (GLADE_EDITABLE (label_editor)) || !gwidget)
Packit 1e8aac
    return;
Packit 1e8aac
Packit 1e8aac
  if (!gtk_toggle_button_get_active
Packit 1e8aac
      (GTK_TOGGLE_BUTTON (priv->wrap_mode_radio)))
Packit 1e8aac
    return;
Packit 1e8aac
Packit 1e8aac
  glade_editable_block (GLADE_EDITABLE (label_editor));
Packit 1e8aac
Packit 1e8aac
  glade_command_push_group (_("Setting %s to use specific Pango word wrapping"),
Packit 1e8aac
                            glade_widget_get_name (gwidget));
Packit 1e8aac
Packit 1e8aac
  property = glade_widget_get_property (gwidget, "single-line-mode");
Packit 1e8aac
  glade_command_set_property (property, FALSE);
Packit 1e8aac
  property = glade_widget_get_property (gwidget, "wrap");
Packit 1e8aac
  glade_command_set_property (property, TRUE);
Packit 1e8aac
Packit 1e8aac
  property = glade_widget_get_property (gwidget, "label-wrap-mode");
Packit 1e8aac
  glade_command_set_property (property, GLADE_LABEL_WRAP_MODE);
Packit 1e8aac
Packit 1e8aac
  glade_command_pop_group ();
Packit 1e8aac
Packit 1e8aac
  glade_editable_unblock (GLADE_EDITABLE (label_editor));
Packit 1e8aac
Packit 1e8aac
  /* reload buttons and sensitivity and stuff... */
Packit 1e8aac
  glade_editable_load (GLADE_EDITABLE (label_editor), gwidget);
Packit 1e8aac
}
Packit 1e8aac
Packit 1e8aac
GtkWidget *
Packit 1e8aac
glade_label_editor_new (void)
Packit 1e8aac
{
Packit 1e8aac
  return g_object_new (GLADE_TYPE_LABEL_EDITOR, NULL);
Packit 1e8aac
}