Files
evolution/widgets/text/e-text-test.c
Christopher James Lahey 6f357b4c2d Added a "break_characters" argument. It lets you define a set of
2000-03-07  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/e-text/e-text.c, widgets/e-text/e-text.h: Added a
        "break_characters" argument.  It lets you define a set of
        characters which should cause optional linebreaks to occur.  Made
        setting the "clip_height" argument to -1 mean no height clipping.
        Moved calling the "resize" signal into an idle handler to avoid
        reentering the canvas update loop.  Made EText recalc bounds if
        the affine has changed.  Fixed up tooltip_count (this counts the
        number of ENTER and LEAVE events.)

        * widgets/e-text/e-text-test.c: Got rid of a few warnings.

        * widgets/e-minicard/e-minicard-label.h: Reindent a few lines.

        * widgets/e-minicard/e-minicard.c,
        widgets/e-minicard/e-minicard-label.c: Switch from using "x" and
        "y" to set the children's position to using
        e_canvas_item_move_absolute.

svn path=/trunk/; revision=2079
2000-03-08 01:41:47 +00:00

105 lines
2.6 KiB
C

/*
ETextTest: E-Text item test program
Copyright (C)2000: Iain Holmes <ih@csd.abdn.ac.uk>
This code is licensed under the GPL
*/
#include "e-text.h"
#include <gnome.h>
static void
quit_cb (GtkWidget *widget,
gpointer data)
{
gtk_main_quit ();
}
static void
change_text_cb (GtkEntry *entry,
EText *text)
{
gchar *str;
str = gtk_entry_get_text (entry);
gnome_canvas_item_set (GNOME_CANVAS_ITEM (text),
"text", str,
NULL);
}
static void
change_font_cb (GtkEntry *entry,
EText *text)
{
gchar *font;
font = gtk_entry_get_text (entry);
gnome_canvas_item_set (GNOME_CANVAS_ITEM (text),
"font", font,
NULL);
}
int
main (int argc,
char **argv)
{
GtkWidget *window, *canvas, *scroller, *vbox, *text, *font;
GtkWidget *frame;
GnomeCanvasItem *item;
gnome_init ("ETextTest", "0.0.1", argc, argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "EText Test");
gtk_signal_connect (GTK_OBJECT (window), "destroy",
GTK_SIGNAL_FUNC (quit_cb), NULL);
gtk_widget_push_visual (gdk_rgb_get_visual ());
gtk_widget_push_colormap (gdk_rgb_get_cmap ());
canvas = gnome_canvas_new ();
gtk_widget_pop_visual ();
gtk_widget_pop_colormap ();
scroller = gtk_scrolled_window_new (NULL, NULL);
vbox = gtk_vbox_new (FALSE, 2);
gtk_container_add (GTK_CONTAINER (window), vbox);
gtk_box_pack_start (GTK_BOX (vbox), scroller, TRUE, TRUE, 2);
gtk_container_add (GTK_CONTAINER (scroller), canvas);
frame = gtk_frame_new ("Text");
text = gtk_entry_new ();
gtk_container_add (GTK_CONTAINER (frame), text);
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
frame = gtk_frame_new ("Font");
font = gtk_entry_new ();
gtk_container_add (GTK_CONTAINER (frame), font);
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
item = gnome_canvas_item_new (gnome_canvas_root (GNOME_CANVAS (canvas)),
e_text_get_type (),
"text", "Hello World! This is a really long string to test out the ellipsis stuff.",
"x", 10.0,
"y", 10.0,
"font", "-adobe-helvetica-medium-r-normal--12-*-72-72-p-*-iso8859-1",
"fill_color", "black",
"anchor", GTK_ANCHOR_NW,
"use_ellipsis", TRUE,
"ellipsis", "...",
"editable", TRUE,
"line_wrap", TRUE,
"max_lines", 3,
"clip_width", 150.0,
NULL);
gtk_signal_connect (GTK_OBJECT (text), "activate",
GTK_SIGNAL_FUNC (change_text_cb), item);
gtk_signal_connect (GTK_OBJECT (font), "activate",
GTK_SIGNAL_FUNC (change_font_cb), item);
gnome_canvas_set_scroll_region (GNOME_CANVAS (canvas), 0.0, 0.0, 400.0, 400.0);
gtk_widget_show_all (window);
gtk_main ();
return 0;
}