public void run()

in renderer/src/main/java/org/netbeans/html/presenters/render/GTK.java [168:216]


    public void run() {
        final Libs libs = getInstance(null);
        final Gdk gdk = libs.gdk;
        final Gtk gtk = libs.gtk;
        final WebKit webKit = libs.webKit;
        final G g = libs.g;

        final Pointer screen = gdk.gdk_screen_get_default();
        int primaryMonitor = gdk.gdk_screen_get_primary_monitor(screen);
        GRectangle size = new GRectangle();
        gdk.gdk_screen_get_monitor_geometry(screen, primaryMonitor, size);
        int height = (int) (size.height * 0.9);
        int width = (int) (size.width * 0.9);
        int x = (int) (size.width * 0.05) + size.x;
        int y = (int) (size.height * 0.05) + size.y;

        final Pointer window = gtk.gtk_window_new(0);
        gtk.gtk_window_set_default_size(window, width, height);
        gtk.gtk_window_set_gravity(window, 5);
        gtk.gtk_window_move(window, x, y);

        Pointer scroll = gtk.gtk_scrolled_window_new(null, null);
        gtk.gtk_container_add(window, scroll);

        final Pointer webView = webKit.webkit_web_view_new();
        gtk.gtk_container_add(scroll, webView);
        Pointer frame = webKit.webkit_web_view_get_main_frame(webView);
        Pointer ctx = webKit.webkit_web_frame_get_global_context(frame);
        this.jsContext = ctx;
        if (onContext != null) {
            onContext.run();
        }
        onLoad = new OnLoad(webView, libs, window, onPageLoad);
        g.g_signal_connect_data(webView, "notify::load-status", onLoad, null, null, 0);

        newWebView = new NewWebView(libs, headless);
        g.g_signal_connect_data(webView, "create-web-view", newWebView, window, null, 0);

        webKit.webkit_web_view_load_uri(webView, page);

        gtk.gtk_widget_grab_focus(webView);

        onDestroy = new OnDestroy();
        g.g_signal_connect_data(window, "destroy", onDestroy, null, null, 0);
        pending = new Pending();
        if (!headless) {
            gtk.gtk_widget_show_all(window);
        }
    }