gtk3 3.2.9 → 3.3.0

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: f2edacb21e92f90dec7959cd5ea38ba4c912ebd92383666a6971c95d3edc3d32
4
- data.tar.gz: fb92186efce8c10bbc3b3efe2d983b1f2e689fc7f724dd321b952f2349ce4599
3
+ metadata.gz: ed7ce36fe6005666b9e51ba0155dc822b29d49abc725e343705fefcb640db699
4
+ data.tar.gz: a341c695ba2e7f891347893b229433109783820b5d026c6655387affbfc71d75
5
5
  SHA512:
6
- metadata.gz: 5d0027ad0fafd92c554a9f054cac9a91256aad574dffd007b8db5aa5dedbad56dd4674a9884c807d13c160df9b1e0937d8619b82dfaf6cff15d0b447983f691b
7
- data.tar.gz: 64e8f365531f2ca503729d476fc44a50b0f65ae0ec0baf49e1f1cbae6c603c153fb967c3e32e14f1b1e693dab4fd43305c4333c42dd8af5dce22d9877d4a7369
6
+ metadata.gz: 7812aecaf900383c5c53eb015873b751ccec81fd21a7098b24ff9b9996db4f78681faad661151c7b0251a98ac9ec4af1310688b9738f624281a8b52d18f62eab
7
+ data.tar.gz: 2f09d6ecbc7d0c26d81b38555985dcee4951dadde10117b633d4c4f7a8d980fd89d8bf7d630d2d03256276b5c84d7a925d517d43a70dbd2b7fac4e9b781d4e92
@@ -1,6 +1,6 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2015 Ruby-GNOME2 Project Team
3
+ * Copyright (C) 2015-2018 Ruby-GNOME2 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
@@ -20,6 +20,8 @@
20
20
 
21
21
  #include "rb-gtk3-private.h"
22
22
 
23
+ #include <rb_cairo.h>
24
+
23
25
  #define RG_TARGET_NAMESPACE cWidget
24
26
  #define _SELF(self) (RVAL2GTKWIDGET(self))
25
27
 
@@ -58,6 +60,30 @@ rg_s_type_register(int argc, VALUE *argv, VALUE klass)
58
60
  return Qnil;
59
61
  }
60
62
 
63
+ static void
64
+ rb_gtk3_widget_draw(RGClosureCallData *data)
65
+ {
66
+ VALUE rb_widget;
67
+ VALUE rb_cairo_context;
68
+ VALUE rb_args;
69
+ VALUE rb_stop_propagate;
70
+
71
+ rb_widget = GVAL2RVAL(&(data->param_values[0]));
72
+ rb_cairo_context = GVAL2RVAL(&(data->param_values[1]));
73
+ rb_args = rb_ary_new_from_args(2, rb_widget, rb_cairo_context);
74
+ if (!NIL_P(data->extra_args)) {
75
+ rb_ary_concat(rb_args, data->extra_args);
76
+ }
77
+ rb_stop_propagate = rb_apply(data->callback,
78
+ rb_intern("call"),
79
+ rb_args);
80
+ if (!RVAL2CBOOL(rb_funcall(rb_cairo_context, rb_intern("destroyed?"), 0))) {
81
+ rb_funcall(rb_cairo_context, rb_intern("destroy"), 0);
82
+ }
83
+ g_value_set_boolean(data->return_value,
84
+ RVAL2CBOOL(rb_stop_propagate));
85
+ }
86
+
61
87
  void
62
88
  rbgtk3_widget_init(void)
63
89
  {
@@ -68,4 +94,8 @@ rbgtk3_widget_init(void)
68
94
  RG_TARGET_NAMESPACE = rb_const_get(mGtk, rb_intern("Widget"));
69
95
 
70
96
  RG_DEF_SMETHOD(type_register, -1);
97
+
98
+ rbgobj_set_signal_call_func(RG_TARGET_NAMESPACE,
99
+ "draw",
100
+ rb_gtk3_widget_draw);
71
101
  }
@@ -59,5 +59,13 @@ module Gtk
59
59
  setup_iter(iter)
60
60
  iter
61
61
  end
62
+
63
+ alias_method :set_column_types_raw, :set_column_types
64
+ def set_column_types(*types)
65
+ if types.size == 1 and types[0].is_a?(Array)
66
+ types = types[0]
67
+ end
68
+ set_column_types_raw(types)
69
+ end
62
70
  end
63
71
  end
@@ -10,6 +10,7 @@
10
10
  <property name="can_focus">False</property>
11
11
  <property name="label" translatable="yes">label</property>
12
12
  <property name="ellipsize">end</property>
13
+ <signal name="move-cursor" handler="on_move_cursor" swapped="no"/>
13
14
  </object>
14
15
  </child>
15
16
  </object>
@@ -190,6 +190,34 @@ class TestGtkListStore < Test::Unit::TestCase
190
190
  normalized_data)
191
191
  end
192
192
 
193
+ sub_test_case "#set_column_types" do
194
+ class SubListStore < Gtk::ListStore
195
+ type_register
196
+ end
197
+
198
+ def setup
199
+ @store = SubListStore.new
200
+ end
201
+
202
+ test "Array" do
203
+ @store.set_column_types([String, Integer])
204
+ iter = @store.append
205
+ iter[0] = "string"
206
+ iter[1] = 29
207
+ assert_equal(["string", 29],
208
+ [iter[0], iter[1]])
209
+ end
210
+
211
+ test "String, Integer" do
212
+ @store.set_column_types(String, Integer)
213
+ iter = @store.append
214
+ iter[0] = "string"
215
+ iter[1] = 29
216
+ assert_equal(["string", 29],
217
+ [iter[0], iter[1]])
218
+ end
219
+ end
220
+
193
221
  sub_test_case "GC" do
194
222
  test "iter" do
195
223
  GC.start
@@ -218,4 +218,32 @@ class TestGtkWidget < Test::Unit::TestCase
218
218
  widget.get_template_child(widget_class, :label).class)
219
219
  end
220
220
  end
221
+
222
+ sub_test_case ".set_connect_func" do
223
+ setup do
224
+ only_gtk_version(3, 12, 0)
225
+ @resource_data = File.read(fixture_path("simple_window.ui"))
226
+ end
227
+
228
+ test "connect" do
229
+ data = @resource_data
230
+ handler_names = []
231
+ widget_class = Class.new(Gtk::Window) do
232
+ type_register "SetConnectFunc"
233
+
234
+ singleton_class.send(:define_method, :init) do
235
+ set_template(:data => data)
236
+ bind_template_child(:label)
237
+ set_connect_func do |handler_name|
238
+ handler_names << handler_name
239
+ lambda do
240
+ # Do nothing
241
+ end
242
+ end
243
+ end
244
+ end
245
+ widget_class.new
246
+ assert_equal(["on_move_cursor"], handler_names)
247
+ end
248
+ end
221
249
  end
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.2.9
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Ruby-GNOME2 Project Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-08 00:00:00.000000000 Z
11
+ date: 2018-10-31 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.2.9
19
+ version: 3.3.0
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.2.9
26
+ version: 3.3.0
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.2.9
33
+ version: 3.3.0
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.2.9
40
+ version: 3.3.0
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.2.9
47
+ version: 3.3.0
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.2.9
54
+ version: 3.3.0
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.2.9
61
+ version: 3.3.0
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.2.9
68
+ version: 3.3.0
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.2.9
75
+ version: 3.3.0
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.2.9
82
+ version: 3.3.0
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: []