X-Git-Url: https://git.sur5r.net/?p=glabels;a=blobdiff_plain;f=src%2Flabel.c;fp=src%2Flabel.c;h=48df06a43511380a274981455801baa85cb328a1;hp=efa117f0b8a33c3920f94c9d3661fc1d5993e622;hb=c84c942a262c1bb22d8e0bc7d7808f11209c8f8b;hpb=c874f42d53009444b6676dc903131afa4abcc666 diff --git a/src/label.c b/src/label.c index efa117f0..48df06a4 100644 --- a/src/label.c +++ b/src/label.c @@ -75,6 +75,7 @@ struct _glLabelPrivate { gboolean default_font_italic_flag; guint default_text_color; PangoAlignment default_text_alignment; + glValignment default_text_valignment; gdouble default_text_line_spacing; /* Default object line properties */ @@ -1229,6 +1230,8 @@ gl_label_delete_selection (glLabel *label) end_selection_op (label); + g_signal_emit (G_OBJECT(label), signals[SELECTION_CHANGED], 0); + gl_debug (DEBUG_LABEL, "END"); } @@ -2163,6 +2166,39 @@ gl_label_set_selection_text_alignment (glLabel *label, } +/*****************************************************************************/ +/* Set vertical text alignment for all text contained in selected objects. */ +/*****************************************************************************/ +void +gl_label_set_selection_text_valignment (glLabel *label, + glValignment text_valignment) +{ + GList *selection_list; + GList *p; + glLabelObject *object; + + gl_debug (DEBUG_LABEL, "START"); + + g_return_if_fail (label && GL_IS_LABEL (label)); + + begin_selection_op (label); + + selection_list = gl_label_get_selection_list (label); + + for (p = selection_list; p != NULL; p = p->next) + { + object = GL_LABEL_OBJECT (p->data); + gl_label_object_set_text_valignment (object, text_valignment, TRUE); + } + + g_list_free (selection_list); + + end_selection_op (label); + + gl_debug (DEBUG_LABEL, "END"); +} + + /*****************************************************************************/ /* Set text line spacing for all text contained in selected objects. */ /*****************************************************************************/ @@ -2809,6 +2845,22 @@ gl_label_set_default_text_alignment (glLabel *label, } +/****************************************************************************/ +/* Set default vertical text alignment. */ +/****************************************************************************/ +void +gl_label_set_default_text_valignment (glLabel *label, + glValignment text_valignment) +{ + gl_debug (DEBUG_LABEL, "START"); + + g_return_if_fail (label && GL_IS_LABEL (label)); + + label->priv->default_text_valignment = text_valignment; + gl_debug (DEBUG_LABEL, "END"); +} + + /****************************************************************************/ /* Set default text line spacing. */ /****************************************************************************/ @@ -2973,6 +3025,22 @@ gl_label_get_default_text_alignment (glLabel *label) } +/****************************************************************************/ +/* Get default vertical text alignment. */ +/****************************************************************************/ +glValignment +gl_label_get_default_text_valignment (glLabel *label) +{ + gl_debug (DEBUG_LABEL, "START"); + + g_return_val_if_fail (label && GL_IS_LABEL (label), GL_VALIGN_TOP); + + gl_debug (DEBUG_LABEL, "END"); + + return label->priv->default_text_valignment; +} + + /****************************************************************************/ /* Get default text line spacing. */ /****************************************************************************/