static GtkWidget * create_credits_notebook (const char * const * credits, const char * const * translators) { const char * titles[2] = {_("Credits"), _("Translators")}; const char * const * lists[2] = {credits, translators}; GtkWidget * notebook = gtk_notebook_new (); for (int i = 0; i < 2; i ++) { GtkWidget * label = gtk_label_new (titles[i]); GtkWidget * scrolled = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type ((GtkScrolledWindow *) scrolled, GTK_SHADOW_IN); gtk_widget_set_size_request (scrolled, -1, 200); GtkWidget * text = gtk_text_view_new_with_buffer (create_text_buffer (lists[i])); gtk_text_view_set_editable ((GtkTextView *) text, FALSE); gtk_text_view_set_cursor_visible ((GtkTextView *) text, FALSE); gtk_text_view_set_left_margin ((GtkTextView *) text, 6); gtk_text_view_set_right_margin ((GtkTextView *) text, 6); gtk_container_add ((GtkContainer *) scrolled, text); gtk_notebook_append_page ((GtkNotebook *) notebook, scrolled, label); } return notebook; }
GtkWidget *create_main_view() { gint nmenu_items; gint i; LOG(LOG_DEBUG, "IN : create_main_view()"); dict_scroll = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (dict_scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); create_text_buffer(); main_view = gtk_text_view_new_with_buffer(text_buffer); // You must continue to grab event. // Otherwise, event stops when the cursor is at the area with no character. g_signal_connect(G_OBJECT(main_view),"motion_notify_event", G_CALLBACK(motion_notify_event), (gpointer)NULL); g_signal_connect(G_OBJECT(main_view),"button_press_event", G_CALLBACK(button_press_event), (gpointer)NULL); g_signal_connect(G_OBJECT(main_view),"leave_notify_event", G_CALLBACK(leave_notify_event), (gpointer)NULL); gtk_text_view_set_editable(GTK_TEXT_VIEW(main_view), FALSE); gtk_text_view_set_left_margin(GTK_TEXT_VIEW(main_view), 10); gtk_text_view_set_right_margin(GTK_TEXT_VIEW(main_view), 10); gtk_text_view_set_pixels_inside_wrap(GTK_TEXT_VIEW(main_view), line_space); gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(main_view), FALSE); gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(main_view), GTK_WRAP_WORD); gtk_text_view_set_border_window_size(GTK_TEXT_VIEW(main_view), GTK_TEXT_WINDOW_LEFT, 1); gtk_text_view_set_border_window_size(GTK_TEXT_VIEW(main_view), GTK_TEXT_WINDOW_RIGHT, 1); gtk_text_view_set_border_window_size(GTK_TEXT_VIEW(main_view), GTK_TEXT_WINDOW_TOP, 1); gtk_text_view_set_border_window_size(GTK_TEXT_VIEW(main_view), GTK_TEXT_WINDOW_BOTTOM, 1); if(line_space < 1) line_space = 3; gtk_text_view_set_pixels_above_lines(GTK_TEXT_VIEW(main_view), line_space); gtk_container_add (GTK_CONTAINER (dict_scroll), main_view); nmenu_items = sizeof (text_menu_items) / sizeof (text_menu_items[0]); for(i=0 ; i<nmenu_items ; i++){ text_menu_items[i].path = _(text_menu_items[i].path); } text_item_factory = gtk_item_factory_new (GTK_TYPE_MENU, "<text>", NULL); gtk_item_factory_create_items (text_item_factory, nmenu_items, text_menu_items, NULL); LOG(LOG_DEBUG, "OUT : create_main_view()"); return(dict_scroll); }