void textbox_set_text (Textbox *textbox, const char *text) { g_return_if_fail (textbox != NULL); g_return_if_fail (IS_TEXTBOX (textbox)); g_free (textbox->priv->text); textbox->priv->text = g_strdup (text); textbox_update_bbox (textbox); g_signal_emit_by_name (G_OBJECT(textbox), "text_changed", text); }
void textbox_set_font (Textbox *textbox, char *font) { g_return_if_fail (textbox != NULL); g_return_if_fail (IS_TEXTBOX (textbox)); g_free (textbox->priv->font); if (font == NULL) textbox->priv->font = g_strdup (TEXTBOX_DEFAULT_FONT); else textbox->priv->font = g_strdup (font); textbox_update_bbox (textbox); g_signal_emit_by_name(G_OBJECT (textbox), "font_changed", textbox->priv->font); }
TextboxItem *textbox_item_new (Sheet *sheet, Textbox *textbox) { GooCanvasItem *item; TextboxItem *textbox_item; TextboxItemPriv *priv; Coords pos; ItemData *item_data; g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (IS_SHEET (sheet), NULL); item_data_get_pos (ITEM_DATA (textbox), &pos); item = g_object_new (TYPE_TEXTBOX_ITEM, NULL); g_object_set (item, "parent", sheet->object_group, NULL); textbox_item = TEXTBOX_ITEM (item); g_object_set (textbox_item, "data", textbox, NULL); priv = textbox_item->priv; priv->text_canvas_item = goo_canvas_text_new ( GOO_CANVAS_ITEM (textbox_item), textbox_get_text (textbox), 0.0, 0.0, -1, GOO_CANVAS_ANCHOR_SW, "font", TEXTBOX_FONT, "fill-color", NORMAL_COLOR, NULL); item_data = ITEM_DATA (textbox); item_data->rotated_handler_id = g_signal_connect_object (G_OBJECT (textbox), "rotated", G_CALLBACK (textbox_rotated_callback), G_OBJECT (textbox_item), 0); item_data->flipped_handler_id = g_signal_connect_object (G_OBJECT (textbox), "flipped", G_CALLBACK (textbox_flipped_callback), G_OBJECT (textbox_item), 0); item_data->moved_handler_id = g_signal_connect_object (G_OBJECT (textbox), "moved", G_CALLBACK (textbox_moved_callback), G_OBJECT (textbox_item), 0); textbox->text_changed_handler_id = g_signal_connect_object ( G_OBJECT (textbox), "text_changed", G_CALLBACK (textbox_text_changed_callback), G_OBJECT (textbox_item), 0); textbox_update_bbox (textbox); return textbox_item; }