aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/objedit.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/objedit.c')
-rw-r--r--calendar/objedit.c88
1 files changed, 88 insertions, 0 deletions
diff --git a/calendar/objedit.c b/calendar/objedit.c
new file mode 100644
index 0000000000..3a15e76f82
--- /dev/null
+++ b/calendar/objedit.c
@@ -0,0 +1,88 @@
+/*
+ * Calendar Object editor.
+ * Copyright (C) 1998 the Free Software Foundation
+ *
+ * Author: Miguel de Icaza (miguel@kernel.org)
+ */
+
+#include <gnome.h>
+
+/* Day start and day end in hours */
+int day_start, day_end;
+
+typedef struct {
+ GtkWidget *property_box;
+
+ GtkWidget *general;
+
+ GtkTable *general_table;
+ GtkWidget *general_time_table;
+} ObjEditor;
+
+GtkWidget *
+calendar_object_editor_setup_time_frame (ObjEditor *oe)
+{
+ GtkWidget *frame;
+ GtkWidget *start_time, *end_time;
+ GtkTable *t;
+
+ frame = gtk_frame_new (_("Time"));
+ t = GTK_TABLE (oe->general_time_table = gtk_table_new (1, 1, 0));
+ gtk_container_add (GTK_CONTAINER (frame), oe->general_time_table);
+
+ start_time = gnome_date_edit_new (0);
+ end_time = gnome_date_edit_new (0);
+ gnome_date_edit_set_popup_range ((GnomeDateEdit *) start_time, day_start, day_end);
+ gnome_date_edit_set_popup_range ((GnomeDateEdit *) end_time, day_start, day_end);
+
+ gtk_table_attach (t, gtk_label_new (_("Start time")), 1, 2, 1, 2, 0, 0, 0, 0);
+ gtk_table_attach (t, gtk_label_new (_("End time")), 1, 2, 2, 3, 0, 0, 0, 0);
+
+ gtk_table_attach (t, start_time, 2, 3, 1, 2, 0, 0, 0, 0);
+ gtk_table_attach (t, end_time, 2, 3, 2, 3, 0, 0, 0, 0);
+ return frame;
+}
+
+void
+calendar_general_editor_new (ObjEditor *oe)
+{
+ GtkWidget *frame;
+
+ oe->general = gtk_hbox_new (0, 0);
+ oe->general_table = (GtkTable *) gtk_table_new (1, 1, 0);
+
+ gtk_box_pack_start (GTK_BOX (oe->general), (GtkWidget *) oe->general_table, 1, 1, 0);
+
+ frame = calendar_object_editor_setup_time_frame (oe);
+ gtk_table_attach (oe->general_table, frame,
+ 1, 2, 1, 2,
+ GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
+
+ gnome_property_box_append_page (oe->property_box, oe->general, gtk_label_new (_("General")));
+}
+
+ObjEditor *
+calendar_object_editor_new (void)
+{
+ ObjEditor *oe;
+
+ oe = g_new0 (ObjEditor, 1);
+
+ oe->property_box = gnome_property_box_new ();
+ calendar_general_editor_new (oe);
+
+ return oe;
+}
+
+main (int argc, char *argv [])
+{
+ ObjEditor *oe;
+
+ day_start = 7;
+ day_end = 19;
+ gnome_init ("myapp", NULL, argc, argv, 0, NULL);
+
+ oe = calendar_object_editor_new ();
+ gtk_widget_show_all (oe->property_box);
+ gtk_main ();
+}