gtk3 3.4.7 → 3.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/ext/gtk3/rb-gtk3-window.c +3 -15
- data/ext/gtk3/rb-gtk3.c +15 -0
- data/lib/gtk3/label.rb +1 -1
- data/lib/gtk3/loader.rb +46 -16
- metadata +13 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 37c71a4374f097116616dd4ac4a2cc7982c2f8f9bf26308716d54f5d9b9dcbbc
|
4
|
+
data.tar.gz: 729e9a98fcdde0d3e27b43e865b4196b293fbc55045bb7af2126f6e5f1a4310d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1a1fa1bd69e4cb510cff18afa74cc634e927dabc894a69f4318bc70deb4133342fa8697d348e45a23d50c63f6e4f37813b190684b290913e5ac76949a6f29a55
|
7
|
+
data.tar.gz: d8d81e29ce8fa60a8e7a0afed2efe36ee6d46beb28c5fcf5d15f335f3816c8987b6b7e02640e78e9614cbe03b42d14d3635e55d4bf984829f74e2a5cb01be2b8
|
data/README.md
CHANGED
@@ -16,9 +16,9 @@ Ruby/GTK3 is a Ruby binding of GTK+ 3.
|
|
16
16
|
|
17
17
|
## Tutorials, examples:
|
18
18
|
|
19
|
-
* gtk3/sample/misc: a lot of simple examples.
|
20
|
-
* gtk3/sample/gtk-demo: the ruby version of `gtk-demo`.
|
21
|
-
* gtk3/sample/tutorial: the ruby version of the [offical Gtk3 tutorial "getting started"](https://developer.gnome.org/gtk3/stable/gtk-getting-started.html).
|
19
|
+
* [sample/misc](/gtk3/sample/misc): a lot of simple examples.
|
20
|
+
* [sample/gtk-demo](/gtk3/sample/gtk-demo): the ruby version of `gtk-demo`.
|
21
|
+
* [sample/tutorial](/gtk3/sample/tutorial): the ruby version of the [offical Gtk3 tutorial "getting started"](https://developer.gnome.org/gtk3/stable/gtk-getting-started.html).
|
22
22
|
* a well written tutorial [on how to create a todo application](http://iridakos.com/tutorials/2018/01/25/creating-a-gtk-todo-application-with-ruby)
|
23
23
|
|
24
24
|
## License
|
data/ext/gtk3/rb-gtk3-window.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2017 Ruby-
|
3
|
+
* Copyright (C) 2017-2022 Ruby-GNOME Project Team
|
4
4
|
*
|
5
5
|
* This library is free software; you can redistribute it and/or
|
6
6
|
* modify it under the terms of the GNU Lesser General Public
|
@@ -46,11 +46,6 @@ static const rb_data_type_t toplevel_window_marker_type = {
|
|
46
46
|
{
|
47
47
|
toplevel_window_marker_mark,
|
48
48
|
toplevel_window_marker_free,
|
49
|
-
NULL,
|
50
|
-
{
|
51
|
-
NULL,
|
52
|
-
NULL,
|
53
|
-
},
|
54
49
|
},
|
55
50
|
NULL,
|
56
51
|
NULL,
|
@@ -61,16 +56,9 @@ static const rb_data_type_t toplevel_window_marker_type = {
|
|
61
56
|
void
|
62
57
|
rbgtk3_window_init(void)
|
63
58
|
{
|
64
|
-
VALUE mGtk;
|
65
|
-
VALUE toplevel_window_marker_class;
|
66
|
-
VALUE toplevel_window_marker;
|
67
59
|
ToplevelWindowMarkerData *data;
|
68
|
-
|
69
|
-
|
70
|
-
toplevel_window_marker_class =
|
71
|
-
rb_define_class_under(mGtk, "ToplevelWindowMarker", rb_cData);
|
72
|
-
toplevel_window_marker =
|
73
|
-
TypedData_Make_Struct(toplevel_window_marker_class,
|
60
|
+
VALUE toplevel_window_marker =
|
61
|
+
TypedData_Make_Struct(rb_cObject,
|
74
62
|
ToplevelWindowMarkerData,
|
75
63
|
&toplevel_window_marker_type,
|
76
64
|
data);
|
data/ext/gtk3/rb-gtk3.c
CHANGED
@@ -593,6 +593,21 @@ rbgtk3_initialize(VALUE self)
|
|
593
593
|
rb_funcall(self, rb_intern("initialize_post"), 0);
|
594
594
|
}
|
595
595
|
|
596
|
+
#ifdef _WIN32
|
597
|
+
/* Workaround: See glib2/ext/glib2/rbglib.c for details. */
|
598
|
+
BOOL WINAPI
|
599
|
+
DllMain(G_GNUC_UNUSED HINSTANCE hinstDLL,
|
600
|
+
G_GNUC_UNUSED DWORD fdwReason,
|
601
|
+
G_GNUC_UNUSED LPVOID lpvReserved);
|
602
|
+
BOOL WINAPI
|
603
|
+
DllMain(G_GNUC_UNUSED HINSTANCE hinstDLL,
|
604
|
+
G_GNUC_UNUSED DWORD fdwReason,
|
605
|
+
G_GNUC_UNUSED LPVOID lpvReserved)
|
606
|
+
{
|
607
|
+
return TRUE;
|
608
|
+
}
|
609
|
+
#endif
|
610
|
+
|
596
611
|
void
|
597
612
|
Init_gtk3(void)
|
598
613
|
{
|
data/lib/gtk3/label.rb
CHANGED
@@ -39,7 +39,7 @@ module Gtk
|
|
39
39
|
if options == true or options == false or options.nil?
|
40
40
|
mnemonic = options
|
41
41
|
warn "Gtk::Label#set_markup(text, mnemonic) style has been deprecated. " +
|
42
|
-
"Use Gtk::Label#
|
42
|
+
"Use Gtk::Label#set_markup(text, {:use_underline => #{mnemonic}}) style instead."
|
43
43
|
options = {
|
44
44
|
:use_underline => mnemonic,
|
45
45
|
}
|
data/lib/gtk3/loader.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2014-
|
1
|
+
# Copyright (C) 2014-2021 Ruby-GNOME Project Team
|
2
2
|
#
|
3
3
|
# This library is free software; you can redistribute it and/or
|
4
4
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -31,6 +31,7 @@ module Gtk
|
|
31
31
|
call_init_function(repository, namespace)
|
32
32
|
define_stock_module
|
33
33
|
define_version_module
|
34
|
+
define_methods_modules
|
34
35
|
setup_pending_constants
|
35
36
|
end
|
36
37
|
|
@@ -54,6 +55,36 @@ module Gtk
|
|
54
55
|
@base_module.const_set("Version", @version_module)
|
55
56
|
end
|
56
57
|
|
58
|
+
def define_methods_modules
|
59
|
+
@stock_singleton_methods_module =
|
60
|
+
define_methods_module(:StockSingletonMethods)
|
61
|
+
@widget_methods_module =
|
62
|
+
define_methods_module(:WidgetMethods)
|
63
|
+
@gdk_drag_context_methods_module =
|
64
|
+
define_methods_module(:GdkDragContextMethods)
|
65
|
+
@icon_size_class_methods_module =
|
66
|
+
define_methods_module(:IconSizeClassMethods)
|
67
|
+
@accel_group_class_methods_module =
|
68
|
+
define_methods_module(:AccelGroupClassMethods)
|
69
|
+
@gdk_event_methods_module =
|
70
|
+
define_methods_module(:GdkEventMethods)
|
71
|
+
end
|
72
|
+
|
73
|
+
def apply_methods_modules
|
74
|
+
apply_methods_module(@stock_singleton_methods_module,
|
75
|
+
@base_module::Stock.singleton_class)
|
76
|
+
apply_methods_module(@widget_methods_module,
|
77
|
+
@base_module::Widget)
|
78
|
+
apply_methods_module(@gdk_drag_context_methods_module,
|
79
|
+
Gdk::DragContext)
|
80
|
+
apply_methods_module(@icon_size_class_methods_module,
|
81
|
+
@base_module::IconSize.singleton_class)
|
82
|
+
apply_methods_module(@accel_group_class_methods_module,
|
83
|
+
@base_module::AccelGroup.singleton_class)
|
84
|
+
apply_methods_module(@gdk_event_methods_module,
|
85
|
+
Gdk::Event)
|
86
|
+
end
|
87
|
+
|
57
88
|
def level_bar_class
|
58
89
|
@level_bar_class ||= @base_module.const_get(:LevelBar)
|
59
90
|
end
|
@@ -64,6 +95,7 @@ module Gtk
|
|
64
95
|
|
65
96
|
def post_load(repository, namespace)
|
66
97
|
apply_pending_constants
|
98
|
+
apply_methods_modules
|
67
99
|
require_extension
|
68
100
|
require_libraries
|
69
101
|
end
|
@@ -170,32 +202,34 @@ module Gtk
|
|
170
202
|
when "init", /_get_type\z/
|
171
203
|
# ignore
|
172
204
|
when /\Astock_/
|
173
|
-
stock_module = @base_module.const_get(:Stock)
|
174
205
|
method_name = rubyish_method_name(info, :prefix => "stock_")
|
175
|
-
|
206
|
+
define_module_function(@stock_singleton_methods_module,
|
207
|
+
method_name,
|
208
|
+
info)
|
176
209
|
when /\Adrag_(?:source_|dest_|get_data\z|(?:un)highlight\z|begin|check_threshold\z)/
|
177
210
|
# For OS X. It may be broken. It's not tested.
|
178
|
-
widget_class = @base_module.const_get(:Widget)
|
179
211
|
method_name = rubyish_method_name(info)
|
180
|
-
define_method(info,
|
212
|
+
define_method(info, @widget_methods_module, method_name)
|
181
213
|
when /\Adrag_/
|
182
214
|
method_name = rubyish_method_name(info,
|
183
215
|
:prefix => "drag_",
|
184
216
|
:n_in_args_offset => -1)
|
185
|
-
define_method(info,
|
217
|
+
define_method(info, @gdk_drag_context_methods_module, method_name)
|
186
218
|
when /\Abinding_/
|
187
219
|
# Ignore because singleton methods are defined.
|
188
220
|
when /\Aicon_size_/
|
189
|
-
icon_size_class = @base_module.const_get(:IconSize)
|
190
221
|
method_name = rubyish_method_name(info, :prefix => "icon_size_")
|
191
|
-
|
222
|
+
define_module_function(@icon_size_class_methods_module,
|
223
|
+
method_name,
|
224
|
+
info)
|
192
225
|
when /\Atest_widget_/
|
193
226
|
name = $POSTMATCH
|
194
|
-
define_method(info,
|
227
|
+
define_method(info, @widget_methods_module, name)
|
195
228
|
when /\Aaccel_groups_/
|
196
|
-
accel_group_class = @base_module.const_get(:AccelGroup)
|
197
229
|
method_name = rubyish_method_name(info, :prefix => "accel_groups_")
|
198
|
-
|
230
|
+
define_module_function(@accel_group_class_methods_module,
|
231
|
+
method_name,
|
232
|
+
info)
|
199
233
|
else
|
200
234
|
super
|
201
235
|
end
|
@@ -206,7 +240,7 @@ module Gtk
|
|
206
240
|
when "Gtk"
|
207
241
|
case name
|
208
242
|
when "get_event_widget"
|
209
|
-
|
243
|
+
define_method(info, @gdk_event_methods_module, "widget")
|
210
244
|
return
|
211
245
|
when "events_pending"
|
212
246
|
name = "events_pending?"
|
@@ -222,10 +256,6 @@ module Gtk
|
|
222
256
|
super(klass, name, info)
|
223
257
|
end
|
224
258
|
|
225
|
-
def define_gdk_event_widget(info)
|
226
|
-
define_method(info, Gdk::Event, "widget")
|
227
|
-
end
|
228
|
-
|
229
259
|
def define_enum(info)
|
230
260
|
case info.name
|
231
261
|
when /\AArrow/
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gtk3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- The Ruby-GNOME Project Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gio2
|
@@ -16,70 +16,70 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 3.
|
19
|
+
version: 3.5.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 3.
|
26
|
+
version: 3.5.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: atk
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 3.
|
33
|
+
version: 3.5.1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 3.
|
40
|
+
version: 3.5.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: pango
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - '='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 3.
|
47
|
+
version: 3.5.1
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - '='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 3.
|
54
|
+
version: 3.5.1
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: gdk_pixbuf2
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - '='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 3.
|
61
|
+
version: 3.5.1
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 3.
|
68
|
+
version: 3.5.1
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: gdk3
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - '='
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 3.
|
75
|
+
version: 3.5.1
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - '='
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 3.
|
82
|
+
version: 3.5.1
|
83
83
|
description: Ruby/GTK3 is a Ruby binding of GTK+-3.x.
|
84
84
|
email: ruby-gnome2-devel-en@lists.sourceforge.net
|
85
85
|
executables: []
|
@@ -654,7 +654,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
654
654
|
- !ruby/object:Gem::Version
|
655
655
|
version: '0'
|
656
656
|
requirements: []
|
657
|
-
rubygems_version: 3.
|
657
|
+
rubygems_version: 3.4.0.dev
|
658
658
|
signing_key:
|
659
659
|
specification_version: 4
|
660
660
|
summary: Ruby/GTK3 is a Ruby binding of GTK+-3.x.
|