~dobey/rhetorical/trunk

« back to all changes in this revision

Viewing changes to src/rhetorical.c

  • Committer: rodney.dawes at canonical
  • Date: 2008-10-24 02:42:27 UTC
  • Revision ID: rodney.dawes@canonical.com-20081024024227-635l0ef9cge686qu
2008-10-23  Rodney Dawes  <dobey.pwns@gmail.com>

        * *: Import rhetorical into bzr

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 *  Authors: Rodney Dawes <dobey.pwns@gmail.com>
 
3
 *
 
4
 *  Copyright 2008 Rodney Dawes
 
5
 *
 
6
 */
 
7
 
 
8
#ifdef HAVE_CONFIG_H
 
9
#include "config.h"
 
10
#endif
 
11
 
 
12
#include <stdlib.h>
 
13
#include <string.h>
 
14
 
 
15
#include <gtk/gtk.h>
 
16
#include <glib/gi18n.h>
 
17
 
 
18
#include "calview.h"
 
19
#include "calview-month.h"
 
20
 
 
21
static void rhetorical_quit (GtkWidget * widget, gpointer data) {
 
22
  gtk_main_quit ();
 
23
}
 
24
 
 
25
static gboolean rhetorical_delete_event (GtkWidget * widget,
 
26
                                         GdkEventAny * event,
 
27
                                         gpointer data) {
 
28
  rhetorical_quit (widget, data);
 
29
 
 
30
  return TRUE;
 
31
}
 
32
 
 
33
static gboolean rhetorical_create (void * data) {
 
34
  GtkWidget * window;
 
35
  GtkWidget * calview;
 
36
  CalViewModel * model;
 
37
  GtkWidget * pane;
 
38
  GtkWidget * scroll;
 
39
 
 
40
  gtk_window_set_default_icon_name ("rhetorical");
 
41
 
 
42
  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
 
43
  gtk_window_set_title (GTK_WINDOW (window), "Calendar");
 
44
  gtk_window_set_default_size (GTK_WINDOW (window), 640, 480);
 
45
  gtk_widget_realize (window);
 
46
 
 
47
  pane = gtk_hpaned_new ();
 
48
  gtk_paned_set_position (GTK_PANED (pane), 128);
 
49
  gtk_container_add (GTK_CONTAINER (window), pane);
 
50
  gtk_widget_show (pane);
 
51
 
 
52
  scroll = gtk_scrolled_window_new (NULL, NULL);
 
53
  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll),
 
54
                                  GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
 
55
  gtk_paned_add1 (GTK_PANED (pane), scroll);
 
56
  gtk_widget_show (scroll);
 
57
 
 
58
  model = cal_view_month_new ();
 
59
 
 
60
  calview = cal_view_new_with_model (model);
 
61
  gtk_paned_add2 (GTK_PANED (pane), calview);
 
62
  gtk_widget_show (calview);
 
63
 
 
64
  g_signal_connect (window, "delete-event",
 
65
                    G_CALLBACK (rhetorical_delete_event), NULL);
 
66
 
 
67
  gtk_widget_show (window);
 
68
 
 
69
  return FALSE;
 
70
}
 
71
 
 
72
gint main (gint argc, gchar ** argv) {
 
73
  gtk_init (&argc, &argv);
 
74
 
 
75
  g_idle_add (rhetorical_create, NULL);
 
76
 
 
77
  gtk_main ();
 
78
 
 
79
  return 0;
 
80
}