]> git.sur5r.net Git - glabels/blobdiff - src/label.c
Imported Upstream version 3.2.0
[glabels] / src / label.c
index efa117f0b8a33c3920f94c9d3661fc1d5993e622..48df06a43511380a274981455801baa85cb328a1 100644 (file)
@@ -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.                                           */
 /****************************************************************************/