gtk3 3.2.9 → 3.3.0

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: 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: []