gtk3 3.4.7 → 3.5.1

Sign up to get free protection for your applications and to get access to all the features.
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.