Guest User

socket.c

a guest
Jun 26th, 2017
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.33 KB | None | 0 0
  1. #include <gtk/gtk.h>
  2. #include <gtk/gtkx.h>
  3.  
  4. static void destroy_cb(GtkWidget *widget, gpointer data)
  5. {
  6.     gtk_main_quit();
  7. }
  8.  
  9. static void plug_added_cb(GtkWidget *widget, gpointer data)
  10. {
  11.     g_print("A plug has been added\n");
  12. }
  13.  
  14. void load_css()
  15. {
  16.     GtkCssProvider *provider;
  17.     GdkDisplay *display;
  18.     GdkScreen *screen;
  19.     provider = gtk_css_provider_new ();
  20.     display = gdk_display_get_default ();
  21.     screen = gdk_display_get_default_screen (display);
  22.     gtk_style_context_add_provider_for_screen (screen, GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
  23.     const gchar* filename = "socket.css";
  24.     GError *error = 0;
  25.     gtk_css_provider_load_from_file(provider, g_file_new_for_path(filename), &error);
  26.     g_object_unref (provider);
  27. }
  28.  
  29. int main(int argc, char *argv[])
  30. {
  31.     gtk_init(&argc, &argv);
  32.  
  33.     GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  34.     gtk_window_set_default_size(GTK_WINDOW(window), 200, 200);
  35.     g_signal_connect(window, "destroy", G_CALLBACK(destroy_cb), NULL);
  36.  
  37.     GtkWidget *socket = gtk_socket_new();
  38.     g_signal_connect(socket, "plug-added", G_CALLBACK(plug_added_cb), NULL);
  39.     gtk_container_add(GTK_CONTAINER(window), socket);
  40.  
  41.     gtk_widget_show_all(window);
  42.     unsigned int socket_id = gtk_socket_get_id (GTK_SOCKET(socket));
  43.     g_print("%u\n",socket_id);
  44.  
  45.     load_css();
  46.     gtk_main();
  47.  
  48.     return 0;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment