void yank_install_menus_and_toolbar(GtkWidget *app) { gnome_app_create_toolbar_with_data(GNOME_APP(app), toolbar, app); gnome_app_create_menus_with_data(GNOME_APP(app), menu, app); gnome_app_install_menu_hints(GNOME_APP(app), menu); yank_recent_files_setup(app); }
GtkWidget *newSample(const gchar *fileName) { Context *context = NEW_ARRAY(Context, 1); gchar *title; GtkWidget *app; GtkWidget *area; GtkStyle *style; int i; context->width = 600; context->height = 400; context->paragraph = pf_factory(fileName, font, guiSupport); title = prettyTitle(fileName); app = gnome_app_new("gnomeLayout", title); gtk_object_set_data(GTK_OBJECT(app), "context", context); gtk_window_set_default_size(GTK_WINDOW(app), 600 - 24, 400); gnome_app_create_menus_with_data(GNOME_APP(app), mainMenu, app); gtk_signal_connect(GTK_OBJECT(app), "delete_event", GTK_SIGNAL_FUNC(eventDelete), NULL); area = gtk_drawing_area_new(); gtk_object_set_data(GTK_OBJECT(app), "area", area); style = gtk_style_copy(gtk_widget_get_style(area)); for (i = 0; i < 5; i += 1) { style->fg[i] = style->white; } gtk_widget_set_style(area, style); gnome_app_set_contents(GNOME_APP(app), area); gtk_signal_connect(GTK_OBJECT(area), "expose_event", GTK_SIGNAL_FUNC(eventExpose), context); gtk_signal_connect(GTK_OBJECT(area), "configure_event", GTK_SIGNAL_FUNC(eventConfigure), context); appList = g_slist_prepend(appList, app); g_free(title); return app; }
int view (char *_command, char *_file, int *move_dir_p, int start_line) { Dlg_head *our_dlg; GtkWidget *toplevel, *status, *scrollbar, *hbox; GtkVBox *vbox; WView *wview; WButtonBar *bar; int midnight_colors [4]; int error; /* Create dialog and widgets, put them on the dialog */ our_dlg = create_dlg (0, 0, 0, 0, midnight_colors, gnome_view_callback, "[Internal File Viewer]", "view", DLG_NO_TED | DLG_GNOME_APP); toplevel = GTK_WIDGET (our_dlg->wdata); vbox = GTK_VBOX (gtk_vbox_new (0, 0)); gtk_window_set_policy (GTK_WINDOW (toplevel), TRUE, TRUE, TRUE); gnome_app_set_contents (GNOME_APP (toplevel), GTK_WIDGET (vbox)); gtk_window_set_title (GTK_WINDOW (toplevel), _command ? _command : _file); wview = view_new (0, 0, 80, 25, 0); bar = buttonbar_new (1); add_widget (our_dlg, wview); add_widget (our_dlg, bar); error = view_init (wview, _command, _file, start_line); if (move_dir_p) *move_dir_p = 0; /* Please note that if you add another widget, * you have to modify view_adjust_size to * be aware of it */ if (error) return !error; status = gview_status (wview); gnome_app_create_menus_with_data (GNOME_APP (toplevel), gview_top_menu, wview); /* Setup the menus checkboxes correctly */ GTK_CHECK_MENU_ITEM (gview_mode_menu [WRAP_POS].widget)->active = wview->wrap_mode; GTK_CHECK_MENU_ITEM (gview_mode_menu [FORMAT_POS].widget)->active = wview->viewer_nroff_flag; GTK_CHECK_MENU_ITEM (gview_mode_menu [HEX_POS].widget)->active = wview->hex_mode; init_dlg (our_dlg); gtk_box_pack_start (GTK_BOX (vbox), status, 0, 1, 0); wview->sadj = gtk_adjustment_new (0.0, 0.0, 1000000.0, 1.0, 25.0, 25.0); scrollbar = gtk_vscrollbar_new (wview->sadj); gtk_signal_connect (GTK_OBJECT (wview->sadj), "value_changed", GTK_SIGNAL_FUNC(scrollbar_moved), wview); gtk_signal_connect (GTK_OBJECT (toplevel), "delete_event", GTK_SIGNAL_FUNC (quit_view), wview); hbox = gtk_hbox_new (0, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, 1, 1, 0); gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (wview->widget.wdata), 1, 1, 0); gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (scrollbar), 0, 1, 0); gtk_widget_show_all (toplevel); return 1; }