/* * Calendar Object editor. * Copyright (C) 1998 the Free Software Foundation * * Author: Miguel de Icaza (miguel@kernel.org) */ #include /* 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 (); }