aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/text/e-text-model-test.c
blob: 8f528efce1964c9f7c763a096349b7adbee05799 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/*
  ETextModelTest
*/

#include <gnome.h>
#include <gal/widgets/e-canvas.h>
#include "e-text-model.h"
#include "e-text-model-uri.h"
#include "e-text.h"

static void
describe_model (ETextModel *model)
{
  gint i, N;
  g_return_if_fail (E_IS_TEXT_MODEL (model));

  N = e_text_model_object_count (model);

  g_print ("text: %s\n", e_text_model_get_text (model));
  if (N > 0) {
    gchar *s = e_text_model_strdup_expanded_text (model);
    g_print ("expd: %s\n", s);
    g_free (s);
  }
  g_print ("objs: %d\n", N);

  for (i=0; i<N; ++i)
    g_print ("obj%d: %s\n", i, e_text_model_get_nth_object (model, i));
}

int
main (int argc, gchar **argv)
{
  GtkWidget *win, *canvas;
  GnomeCanvasItem *item;
  ETextModel *model;

  gnome_init ("ETextModelTest", "0.0", argc, argv);

  model = e_text_model_uri_new ();
  e_text_model_set_text (model, "My favorite website is http://www.ximian.com.  My next favorite is www.assbarn.com.");

  describe_model (model);

  win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  
  gtk_widget_push_visual (gdk_rgb_get_visual ());
  gtk_widget_push_colormap (gdk_rgb_get_cmap ());
  canvas = e_canvas_new ();
  gtk_widget_pop_visual ();
  gtk_widget_pop_colormap ();

  item = gnome_canvas_item_new (gnome_canvas_root (GNOME_CANVAS (canvas)),
                e_text_get_type (),
                "model", model,
                "font", "-adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1",
                "anchor", GTK_ANCHOR_NORTH_WEST,
                "line_wrap", TRUE,
                "width", 300.0,
                "editable", TRUE,
                NULL);

  gtk_container_add (GTK_CONTAINER (win), canvas);
  gtk_widget_show_all (win);

  gtk_main ();

  return 0;
}