static void detail_width_changed (GtkSpinButton *button, CalendarData *data) { gint value = (gint) gtk_spin_button_get_value (button); gtk_calendar_set_detail_width_chars (GTK_CALENDAR (data->calendar_widget), value); }
int main(int argc, char **argv) { GError *error = NULL; GdkScreen *screen; // GdkVisual *visual; GtkWidget *grid; GtkWidget *tmp; GtkStuff *stuff = calloc(1, sizeof(GtkStuff)); GValue val = G_VALUE_INIT; gtk_init(&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); g_signal_connect (window, "destroy", gtk_main_quit, NULL); gtk_window_set_resizable (GTK_WINDOW (window), 0); grid = gtk_grid_new (); gtk_container_add (GTK_CONTAINER (window), grid); /* screen = gdk_screen_get_default (); visual = gdk_screen_get_rgba_visual (screen); if (visual != NULL && gdk_screen_is_composited (screen)) { gtk_widget_set_visual (window, visual); }*/ stuff->notes = GTK_TEXT_VIEW (gtk_text_view_new ()); gtk_text_view_set_wrap_mode (stuff->notes, GTK_WRAP_WORD); //g_signal_connect (stuff->notes, "draw", G_CALLBACK(on_draw_notes), NULL); g_signal_connect (stuff->notes, "paste-clipboard", G_CALLBACK(on_notes_paste_clipboard), stuff); g_signal_connect (stuff->notes, "key-release-event", G_CALLBACK(on_notes_key_release_event), stuff); gtk_window_set_icon_name((GtkWindow*)window, "gtk-yes"); stuff->calendar = GTK_CALENDAR (gtk_calendar_new ()); gtk_calendar_set_detail_func(stuff->calendar, &details, NULL, NULL); gtk_calendar_set_detail_width_chars(stuff->calendar, 3); gtk_calendar_set_detail_height_rows(stuff->calendar, 1); on_calendar1_day_selected(stuff->calendar, stuff); g_signal_connect (stuff->calendar, "day-selected", G_CALLBACK(on_calendar1_day_selected), stuff); gtk_grid_attach (GTK_GRID (grid), GTK_WIDGET (stuff->calendar), 0, 1, 1, 9); tmp = gtk_button_new_with_label ("Today"); gtk_grid_attach (GTK_GRID (grid), GTK_WIDGET (tmp), 0, 0, 1, 1); g_signal_connect (tmp, "clicked", (GCallback)on_today_clicked, stuff); tmp = gtk_scrolled_window_new (NULL, NULL); g_value_init (&val, G_TYPE_INT); g_value_set_int (&val, 240); g_object_set_property (G_OBJECT (tmp), "width-request", &val); gtk_container_add (GTK_CONTAINER (tmp), GTK_WIDGET (stuff->notes)); gtk_grid_attach (GTK_GRID (grid), GTK_WIDGET (tmp), 1, 0, 1, 10); gtk_window_set_title((GtkWindow*)window, "Planner"); gtk_widget_show_all(window); gtk_main(); return 0; }