Module: Gtk

Defined in:
lib/gtk2/base.rb,
ext/gtk2/rbgtk.c

Defined Under Namespace

Modules: AccelMap, Accelerator, Drag, IconSize, RC, Selection, Stock Classes: Builder, InitError, Printer

Constant Summary collapse

LOG_DOMAIN =
"Gtk"
PRIORITY_RESIZE =
INT2FIX(GTK_PRIORITY_RESIZE)
BINDING_VERSION =

version information

rb_ary_new3(3, INT2FIX(RBGTK_MAJOR_VERSION),
INT2FIX(RBGTK_MINOR_VERSION),
INT2FIX(RBGTK_MICRO_VERSION))
BUILD_VERSION =
rb_ary_new3(3, INT2FIX(GTK_MAJOR_VERSION),
INT2FIX(GTK_MINOR_VERSION),
INT2FIX(GTK_MICRO_VERSION))
VERSION =
rb_ary_new3(3, INT2FIX(gtk_major_version),
INT2FIX(gtk_minor_version),
INT2FIX(gtk_micro_version))
MAJOR_VERSION =
INT2FIX(gtk_major_version)
MINOR_VERSION =
INT2FIX(gtk_minor_version)
MICRO_VERSION =
INT2FIX(gtk_micro_version)
BINARY_AGE =
INT2FIX(gtk_binary_age)
INTERFACE_AGE =
INT2FIX(gtk_interface_age)

Class Method Summary collapse

Class Method Details

.check_versionObject

From Version Information



468
469
470
# File 'ext/gtk2/rbgtkmain.c', line 468

static VALUE
gtk_m_check_version(self, major, minor, micro)
VALUE self, major, minor, micro;

.check_version?Boolean

Returns:

  • (Boolean)


477
478
479
# File 'ext/gtk2/rbgtkmain.c', line 477

static VALUE
gtk_m_check_version_q(self, major, minor, micro)
VALUE self, major, minor, micro;

.currentObject



241
242
243
# File 'ext/gtk2/rbgtkmain.c', line 241

static VALUE
gtk_m_get_current(self)
VALUE self;

.current_eventObject



424
425
426
# File 'ext/gtk2/rbgtkmain.c', line 424

static VALUE
gtk_m_get_current_event(self)
VALUE self;

.current_event_stateObject



438
439
440
# File 'ext/gtk2/rbgtkmain.c', line 438

static VALUE
gtk_m_get_current_event_state(self)
VALUE self;

.current_event_timeObject



431
432
433
# File 'ext/gtk2/rbgtkmain.c', line 431

static VALUE
gtk_m_get_current_event_time(self)
VALUE self;

.default_languageObject



79
80
81
# File 'ext/gtk2/rbgtkmain.c', line 79

static VALUE
gtk_m_get_default_language(self)
VALUE self;

.disable_setlocaleObject



71
72
73
# File 'ext/gtk2/rbgtkmain.c', line 71

static VALUE
gtk_m_disable_setlocale(self)
VALUE self;

.events_pending?Boolean

Returns:

  • (Boolean)


72
73
74
# File 'ext/gtk2/rbgtk.c', line 72

static VALUE
gtk_m_events_pending(self)
VALUE self;

.get_event_widgetObject



447
448
449
# File 'ext/gtk2/rbgtkmain.c', line 447

static VALUE
gtk_m_get_event_widget(argc, argv, self)
int argc;

.grab_addObject

We don’t need them. gtk_true() gtk_false()



233
234
235
# File 'ext/gtk2/rbgtkmain.c', line 233

static VALUE
gtk_m_grab_add(self, widget)
VALUE self, widget;

.grab_removeObject



248
249
250
# File 'ext/gtk2/rbgtkmain.c', line 248

static VALUE
gtk_m_grab_remove(self, widget)
VALUE self, widget;

.idle_addObject



332
333
334
# File 'ext/gtk2/rbgtkmain.c', line 332

static VALUE
idle_add(self)
VALUE self;

.idle_add_priorityObject



353
354
355
# File 'ext/gtk2/rbgtkmain.c', line 353

static VALUE
idle_add_priority(self, priority)
VALUE self;

.idle_removeObject



373
374
375
# File 'ext/gtk2/rbgtkmain.c', line 373

static VALUE
idle_remove(self, id)
VALUE self, id;

.init(*args) ⇒ Object



90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
# File 'ext/gtk2/rbgtkmain.c', line 90

static VALUE
gtk_m_init(int argc, VALUE *argv, VALUE self)
{
    gint i, gargc;
    VALUE argary;
    gchar** gargv;
    VALUE progname;

    if (_initialized)
        return self;
    else
        _initialized = TRUE;

    rb_scan_args(argc, argv, "01", &argary);

    if (NIL_P(argary)){
        argary = rb_const_get(rb_cObject, rb_intern("ARGV"));
        gargc = RARRAY_LEN(argary);
    } else {
        Check_Type(argary, T_ARRAY);
        gargc = RARRAY_LEN(argary);
    }
    
    gargv = ALLOCA_N(char *, gargc + 1);
    progname = rb_gv_get("$0");
    gargv[0] = RVAL2CSTR(progname);

    for (i = 0; i < gargc; i++) {
        if (TYPE(RARRAY_PTR(argary)[i]) == T_STRING) {
            gargv[i+1] = RVAL2CSTR(RARRAY_PTR(argary)[i]);
        }
        else {
            gargv[i+1] = "";
        }
    }
    gargc++;

    {
        gboolean is_initialized;
        /* Gdk modifies sighandlers, sigh */
#ifdef NT
        RETSIGTYPE (*sigfunc[3])();
#else
        RETSIGTYPE (*sigfunc[7])();
#endif

#ifdef NT
        sigfunc[0] = signal(SIGINT, SIG_IGN);
        sigfunc[1] = signal(SIGSEGV, SIG_IGN);
        sigfunc[2] = signal(SIGTERM, SIG_IGN);
#else
        sigfunc[0] = signal(SIGHUP, SIG_IGN);
        sigfunc[1] = signal(SIGINT, SIG_IGN);
        sigfunc[2] = signal(SIGQUIT, SIG_IGN);
        sigfunc[3] = signal(SIGBUS, SIG_IGN);
        sigfunc[4] = signal(SIGSEGV, SIG_IGN);
        sigfunc[5] = signal(SIGPIPE, SIG_IGN);
        sigfunc[6] = signal(SIGTERM, SIG_IGN);
#endif

        is_initialized = gtk_init_check(&gargc, &gargv);
        if (! is_initialized) {
            const char *display_name_arg = gdk_get_display_arg_name();
            display_name_arg = display_name_arg ? display_name_arg : g_getenv("DISPLAY");
            rb_raise(rbgtk_eGtkInitError, "Cannot open display: %s",
                     display_name_arg ? display_name_arg : " ");
        }

        setlocale(LC_NUMERIC, "C");

#ifdef NT
        signal(SIGINT,  (SignalFunc)sigfunc[0]);
        signal(SIGSEGV, (SignalFunc)sigfunc[1]);
        signal(SIGTERM, (SignalFunc)sigfunc[2]);
#else
        signal(SIGHUP,  sigfunc[0]);
        signal(SIGINT,  sigfunc[1]);
        signal(SIGQUIT, sigfunc[2]);
        signal(SIGBUS,  sigfunc[3]);
        signal(SIGSEGV, sigfunc[4]);
        signal(SIGPIPE, sigfunc[5]);
        signal(SIGTERM, sigfunc[6]);
#endif
    }

    return self;
}

.init_addObject



256
257
258
# File 'ext/gtk2/rbgtkmain.c', line 256

static VALUE
gtk_m_init_add(self)
VALUE self;

.key_snooper_installObject



403
404
405
# File 'ext/gtk2/rbgtkmain.c', line 403

static VALUE
gtk_m_key_snooper_install(self)
VALUE self;

.key_snooper_removeObject



415
416
417
# File 'ext/gtk2/rbgtkmain.c', line 415

static VALUE
gtk_m_key_snooper_remove(self, id)
VALUE self, id;

.mainObject

We don’t need them. gtk_init() gtk_exit()



183
184
185
# File 'ext/gtk2/rbgtkmain.c', line 183

static VALUE
gtk_m_main(self)
VALUE self;

.main_do_eventObject



220
221
222
# File 'ext/gtk2/rbgtkmain.c', line 220

static VALUE
gtk_m_main_do_event(self, event)
VALUE self, event;

.main_iterationObject



206
207
208
# File 'ext/gtk2/rbgtkmain.c', line 206

static VALUE
gtk_m_main_iteration(self)
VALUE self;

.main_iteration_doObject



213
214
215
# File 'ext/gtk2/rbgtkmain.c', line 213

static VALUE
gtk_m_main_iteration_do(self, blocking)
VALUE self, blocking;

.main_levelObject



191
192
193
# File 'ext/gtk2/rbgtkmain.c', line 191

static VALUE
gtk_m_main_level(self)
VALUE self;

.main_quitObject



198
199
200
# File 'ext/gtk2/rbgtkmain.c', line 198

static VALUE
gtk_m_main_quit(self)
VALUE self;

.propagate_eventObject



459
460
461
# File 'ext/gtk2/rbgtkmain.c', line 459

static VALUE
gtk_m_propagate_event(self, widget, event)
VALUE self, widget, event;

.quit_addObject



267
268
269
# File 'ext/gtk2/rbgtkmain.c', line 267

static VALUE
gtk_m_quit_add(self, main_level)
VALUE self, main_level;

.quit_removeObject



287
288
289
# File 'ext/gtk2/rbgtkmain.c', line 287

static VALUE
gtk_m_quit_remove(self, quit_handler_id)
VALUE self, quit_handler_id;

.set_localeObject



64
65
66
# File 'ext/gtk2/rbgtkmain.c', line 64

static VALUE
gtk_m_set_locale(self)
VALUE self;

.timeout_addObject

We don’t need this. gtk_quit_add_full () gtk_quit_add_destroy() gtk_quit_remove_by_data() gtk_timeout_add_full()



303
304
305
# File 'ext/gtk2/rbgtkmain.c', line 303

static VALUE
timeout_add(self, interval)
VALUE self, interval;

.timeout_removeObject



323
324
325
# File 'ext/gtk2/rbgtkmain.c', line 323

static VALUE
timeout_remove(self, id)
VALUE self, id;