Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. #include <gtk/gtk.h>
  2.  
  3. int main (int argc,
  4. char *argv[])
  5. {
  6. GtkWidget *window, *scrolled_win, *textview;
  7. GtkWidget *vbox, *menubar, *fileMenu, *fileMi, *quitMi;
  8.  
  9. gtk_init (&argc, &argv);
  10. window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  11. gtk_window_maximize(GTK_WINDOW (window)); /* This is a cast: expand the windows to fullscreen*/
  12. vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 12);
  13. gtk_container_add(GTK_CONTAINER(window), vbox);
  14.  
  15. gtk_window_set_title (GTK_WINDOW (window), "Text Views");
  16. gtk_container_set_border_width (GTK_CONTAINER (window), 10);
  17.  
  18. textview = gtk_text_view_new ();
  19. menubar = gtk_menu_bar_new();
  20. fileMenu = gtk_menu_new();
  21.  
  22. fileMi = gtk_menu_item_new_with_label("File");
  23. quitMi = gtk_menu_item_new_with_label("Quit");
  24.  
  25. /*Expand the textbox to fullscreen */
  26. gtk_widget_set_hexpand(textview, TRUE);
  27. gtk_widget_set_vexpand(textview, TRUE);
  28.  
  29. GtkCssProvider *provider = gtk_css_provider_new ();
  30. gtk_css_provider_load_from_path (provider,
  31. "gtk-widgets.css", NULL);
  32.  
  33. GtkStyleContext *context;
  34. context = gtk_widget_get_style_context(textview);
  35. gtk_style_context_add_provider (context,
  36. GTK_STYLE_PROVIDER(provider),
  37. GTK_STYLE_PROVIDER_PRIORITY_USER);
  38.  
  39.  
  40. gtk_menu_item_set_submenu(GTK_MENU_ITEM(fileMi), fileMenu);
  41. gtk_menu_shell_append(GTK_MENU_SHELL(fileMenu), quitMi);
  42. gtk_menu_shell_append(GTK_MENU_SHELL(menubar), fileMi);
  43. gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 0);
  44.  
  45. scrolled_win = gtk_scrolled_window_new (NULL, NULL);
  46. gtk_container_add(GTK_CONTAINER(vbox), scrolled_win);
  47. gtk_container_add (GTK_CONTAINER (scrolled_win), textview);
  48. gtk_widget_show_all (window);
  49.  
  50. g_signal_connect(G_OBJECT(window), "destroy",
  51. G_CALLBACK(gtk_main_quit), NULL);
  52.  
  53. g_signal_connect(G_OBJECT(quitMi), "activate",
  54. G_CALLBACK(gtk_main_quit), NULL);
  55.  
  56. gtk_main();
  57. return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement