Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <gtk/gtk.h>
- #include <gtk/gtkx.h>
- #include <stdio.h>
- static void destroy_cb(GtkWidget *widget, gpointer data)
- {
- gtk_main_quit();
- }
- static void embedded_cb(GtkWidget *widget, gpointer data)
- {
- g_print("Embed event occurred\n");
- }
- static void entry_activated_cb(GtkWidget *widget, gpointer data)
- {
- g_print("Entry activated\n");
- }
- void load_css()
- {
- GtkCssProvider *provider;
- GdkDisplay *display;
- GdkScreen *screen;
- provider = gtk_css_provider_new ();
- display = gdk_display_get_default ();
- screen = gdk_display_get_default_screen (display);
- gtk_style_context_add_provider_for_screen (screen, GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
- const gchar* filename = "plug.css";
- GError *error = 0;
- gtk_css_provider_load_from_file(provider, g_file_new_for_path(filename), &error);
- g_object_unref (provider);
- }
- int main(int argc, char *argv[])
- {
- gtk_init(&argc, &argv);
- if (argc != 2){
- g_print("Socket Id is needed\n");
- return -1;
- }
- unsigned int socket_id = -1;
- sscanf (argv[1], "%u", &socket_id);
- GtkWidget *plug = gtk_plug_new(socket_id);
- g_signal_connect(plug, "destroy", G_CALLBACK(destroy_cb), NULL);
- g_signal_connect(plug, "embedded", G_CALLBACK(embedded_cb), NULL);
- GtkWidget *entry = gtk_entry_new();
- gtk_entry_set_text(GTK_ENTRY(entry), "Plug and Socket");
- g_signal_connect(entry, "activate", G_CALLBACK(entry_activated_cb), NULL);
- gtk_container_add (GTK_CONTAINER(plug), entry);
- gtk_widget_show_all(plug);
- load_css();
- gtk_main();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment