- gtk_calendar_mark_day ( GTK_CALENDAR(calendar), 19);
- gtk_container_add( GTK_CONTAINER( frame), calendar);
- gtk_signal_connect (GTK_OBJECT (calendar), "month_changed",
- GTK_SIGNAL_FUNC (calendar_month_changed),
- &calendar_data);
- gtk_signal_connect (GTK_OBJECT (calendar), "day_selected",
- GTK_SIGNAL_FUNC (calendar_day_selected),
- &calendar_data);
- gtk_signal_connect (GTK_OBJECT (calendar), "day_selected_double_click",
- GTK_SIGNAL_FUNC (calendar_day_selected_double_click),
- &calendar_data);
- gtk_signal_connect (GTK_OBJECT (calendar), "prev_month",
- GTK_SIGNAL_FUNC (calendar_prev_month),
- &calendar_data);
- gtk_signal_connect (GTK_OBJECT (calendar), "next_month",
- GTK_SIGNAL_FUNC (calendar_next_month),
- &calendar_data);
- gtk_signal_connect (GTK_OBJECT (calendar), "prev_year",
- GTK_SIGNAL_FUNC (calendar_prev_year),
- &calendar_data);
- gtk_signal_connect (GTK_OBJECT (calendar), "next_year",
- GTK_SIGNAL_FUNC (calendar_next_year),
- &calendar_data);
-
-
- separator = gtk_vseparator_new ();
- gtk_box_pack_start (GTK_BOX (hbox), separator, FALSE, TRUE, 0);
-
- vbox2 = gtk_vbox_new(FALSE, DEF_PAD);
- gtk_box_pack_start(GTK_BOX(hbox), vbox2, FALSE, FALSE, DEF_PAD);
+ gtk_calendar_mark_day (GTK_CALENDAR (calendar), 19);
+
+ g_signal_connect (calendar, "month_changed",
+ G_CALLBACK (calendar_month_changed),
+ &calendar_data);
+ g_signal_connect (calendar, "day_selected",
+ G_CALLBACK (calendar_day_selected),
+ &calendar_data);
+ g_signal_connect (calendar, "day_selected_double_click",
+ G_CALLBACK (calendar_day_selected_double_click),
+ &calendar_data);
+ g_signal_connect (calendar, "prev_month",
+ G_CALLBACK (calendar_prev_month),
+ &calendar_data);
+ g_signal_connect (calendar, "next_month",
+ G_CALLBACK (calendar_next_month),
+ &calendar_data);
+ g_signal_connect (calendar, "prev_year",
+ G_CALLBACK (calendar_prev_year),
+ &calendar_data);
+ g_signal_connect (calendar, "next_year",
+ G_CALLBACK (calendar_next_year),
+ &calendar_data);
+
+ rpane = gtk_vbox_new (FALSE, DEF_PAD_SMALL);
+ gtk_paned_pack2 (GTK_PANED (hpaned), rpane, FALSE, FALSE);
+
+ /* Build the right font-button */
+
+ vbox = gtk_vbox_new(FALSE, DEF_PAD_SMALL);
+ frame = create_frame ("<b>Options</b>", vbox, 1, 0);
+ gtk_box_pack_start (GTK_BOX (rpane), frame, FALSE, TRUE, 0);
+ size = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
+
+ gtk_widget_ensure_style (calendar);
+ style = gtk_widget_get_style (calendar);
+ font = pango_font_description_to_string (style->font_desc);
+ button = gtk_font_button_new_with_font (font);
+ g_free (font);
+
+ g_signal_connect (button, "font-set",
+ G_CALLBACK(calendar_select_font),
+ &calendar_data);
+
+ label = gtk_label_new_with_mnemonic ("_Font:");
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), button);
+ gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_size_group_add_widget (size, label);
+
+ hbox = gtk_hbox_new (FALSE, DEF_PAD_SMALL);
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
+
+ /* Build the width entry */
+
+ button = gtk_spin_button_new_with_range (0, 127, 1);
+ gtk_spin_button_set_value (GTK_SPIN_BUTTON (button),
+ gtk_calendar_get_detail_width_chars (GTK_CALENDAR (calendar)));
+
+ g_signal_connect (button, "value-changed",
+ G_CALLBACK (detail_width_changed),
+ &calendar_data);
+
+ label = gtk_label_new_with_mnemonic ("Details W_idth:");
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), button);
+ gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_size_group_add_widget (size, label);
+
+ hbox = gtk_hbox_new (FALSE, DEF_PAD_SMALL);
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
+
+ /* Build the height entry */
+
+ button = gtk_spin_button_new_with_range (0, 127, 1);
+ gtk_spin_button_set_value (GTK_SPIN_BUTTON (button),
+ gtk_calendar_get_detail_height_rows (GTK_CALENDAR (calendar)));
+
+ g_signal_connect (button, "value-changed",
+ G_CALLBACK (detail_height_changed),
+ &calendar_data);
+
+ label = gtk_label_new_with_mnemonic ("Details H_eight:");
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), button);
+ gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_size_group_add_widget (size, label);
+
+ hbox = gtk_hbox_new (FALSE, DEF_PAD_SMALL);
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
+
+ /* Build the right details frame */
+
+ vbox = gtk_vbox_new(FALSE, DEF_PAD_SMALL);
+ frame = create_frame ("<b>Details</b>", vbox, 1, 1);
+ gtk_box_pack_start (GTK_BOX (rpane), frame, FALSE, TRUE, 0);
+
+ details = gtk_text_view_new();
+ calendar_data.details_buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (details));
+
+ calendar_data.details_changed = g_signal_connect (calendar_data.details_buffer, "changed",
+ G_CALLBACK (calendar_details_changed),
+ &calendar_data);
+
+ scroller = gtk_scrolled_window_new (NULL, NULL);
+ gtk_container_add (GTK_CONTAINER (scroller), details);
+
+ gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroller),
+ GTK_SHADOW_IN);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroller),
+ GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_AUTOMATIC);
+
+ gtk_box_pack_start (GTK_BOX (vbox), scroller, FALSE, TRUE, 0);
+
+ hbox = gtk_hbox_new (FALSE, DEF_PAD_SMALL);
+ align = gtk_alignment_new (0.0, 0.5, 0.0, 0.0);
+ gtk_container_add (GTK_CONTAINER (align), hbox);
+ gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, TRUE, 0);
+
+ button = gtk_button_new_with_mnemonic ("Demonstrate _Details");
+
+ g_signal_connect_swapped (button,
+ "clicked",
+ G_CALLBACK (demonstrate_details),
+ &calendar_data);
+
+ gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0);
+
+ button = gtk_button_new_with_mnemonic ("_Reset Details");
+
+ g_signal_connect_swapped (button,
+ "clicked",
+ G_CALLBACK (reset_details),
+ &calendar_data);
+
+ gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0);
+
+ toggle = gtk_check_button_new_with_mnemonic ("_Use Details");
+ g_signal_connect (toggle, "toggled",
+ G_CALLBACK(calendar_toggle_details),
+ &calendar_data);
+ gtk_box_pack_start (GTK_BOX (vbox), toggle, FALSE, TRUE, 0);