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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a070e5e4093ea1f918f17cb60732078bc73221e09348a1d0ff39d7e53f48296a
4
- data.tar.gz: ed4f955bd9b1c1d24a8dba8c91ecba27c83e793984ecd78b47d8c67c82821505
3
+ metadata.gz: 37c71a4374f097116616dd4ac4a2cc7982c2f8f9bf26308716d54f5d9b9dcbbc
4
+ data.tar.gz: 729e9a98fcdde0d3e27b43e865b4196b293fbc55045bb7af2126f6e5f1a4310d
5
5
  SHA512:
6
- metadata.gz: c1b275d0b492def088ed667888078a0d1d1dcc6a33bb295f83bece31343f4f7280094a8af04fc288ab873ae116fc232aded2ae2dc9c58c22d322c0c968ccec55
7
- data.tar.gz: 1d3ab162049af9899f950b2c9e852808b41f42e57e9884bffb6780dd8a6814eca018dbd9cdb627ad460f47fca1f6bd8e6d51cf9724dbafeed40d0cd4eb86ccac
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
@@ -1,6 +1,6 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2017 Ruby-GNOME2 Project Team
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
- mGtk = rb_const_get(rb_cObject, rb_intern("Gtk"));
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#set_marup(text, {:use_underline => #{mnemonic}}) style instead."
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-2020 Ruby-GNOME Project Team
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
- define_singleton_method(stock_module, method_name, info)
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, widget_class, method_name)
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, Gdk::DragContext, method_name)
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
- define_singleton_method(icon_size_class, method_name, info)
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, Gtk::Widget, name)
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
- define_singleton_method(accel_group_class, method_name, info)
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
- define_gdk_event_widget(info)
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.7
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: 2021-07-30 00:00:00.000000000 Z
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.4.7
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.4.7
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.4.7
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.4.7
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.4.7
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.4.7
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.4.7
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.4.7
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.4.7
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.4.7
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.3.0.dev
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.