amousa1990

gtk_signal

Mar 18th, 2016
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. extern GtkWidget *toolbar;
  2. extern GtkWidget *main_window;
  3. extern GtkWidget *text_entry;
  4. #include <stdlib.h>
  5.  
  6. //void destroy(GtkWidget *widget) {
  7. void destroy() {
  8. gtk_main_quit ();
  9. }
  10.  
  11. void resize(){
  12. gtk_widget_set_size_request(toolbar, 10, 10);
  13. }
  14.  
  15. void open_file() {
  16.  
  17. GtkWidget *dialog;
  18.  
  19. dialog = gtk_file_chooser_dialog_new ("Open File",NULL,GTK_FILE_CHOOSER_ACTION_OPEN,GTK_STOCK_CANCEL,
  20. GTK_RESPONSE_CANCEL,GTK_STOCK_OPEN,GTK_RESPONSE_ACCEPT,NULL);
  21.  
  22. if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT){
  23. char *filename;
  24. filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
  25. printf("Selected file: %s\n", filename);
  26. FILE *fp;
  27. fp = fopen(filename, "r");
  28. if (!fp) {
  29. fprintf(stderr, "Failed to load kernel.\n");
  30. exit(1);
  31. }
  32. GtkTextBuffer *tbuffer;
  33. GtkTextIter ei;
  34. tbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_entry));
  35. gtk_text_buffer_get_end_iter(tbuffer, &ei);
  36. gchar *contents;
  37. gsize len;
  38. if (g_file_get_contents(filename, &contents, &len, NULL)) {
  39. gtk_text_buffer_insert(tbuffer, &ei, contents, len);
  40. g_free(contents);
  41. }
  42. //char line[2048];
  43. //while (fgets(line, sizeof line, fp) != NULL) {
  44. //gtk_text_buffer_insert(tbuffer, &ei, line, -1);
  45. //}
  46. gtk_widget_destroy (dialog);
  47. gtk_window_set_default_size((GtkWindow*)main_window,1366,700);
  48. } else {
  49. gtk_widget_destroy (dialog);
  50. }
  51.  
  52.  
  53. }
Add Comment
Please, Sign In to add comment