gtk3 2.1.0-x86-mingw32 → 2.2.0-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/gtk3/extconf.rb +1 -1
- data/ext/gtk3/rbgtk-about-dialog.c +0 -6
- data/ext/gtk3/rbgtk-accessible.c +0 -16
- data/ext/gtk3/rbgtk-entry.c +4 -18
- data/ext/gtk3/rbgtk-header-bar.c +58 -0
- data/ext/gtk3/rbgtk-icon-view.c +30 -5
- data/ext/gtk3/rbgtk-level-bar.c +88 -0
- data/ext/gtk3/rbgtk-link-button.c +0 -6
- data/ext/gtk3/rbgtk-menu-button.c +41 -0
- data/ext/gtk3/rbgtk-revealer.c +42 -0
- data/ext/gtk3/rbgtk-search-bar.c +59 -0
- data/ext/gtk3/rbgtk-search-entry.c +42 -0
- data/ext/gtk3/rbgtk-stack.c +106 -0
- data/ext/gtk3/rbgtk-tree-selection.c +7 -22
- data/ext/gtk3/rbgtk.c +24 -3
- data/ext/gtk3/rbgtk3conversions.h +25 -2
- data/ext/gtk3/rbgtk3private.h +23 -3
- data/lib/1.9/gtk3.so +0 -0
- data/lib/2.0/gtk3.so +0 -0
- data/lib/2.1/gtk3.so +0 -0
- data/sample/gtk-demo/appwindow.rb +95 -95
- data/sample/gtk-demo/cairo-operator.rb +8 -8
- data/sample/gtk-demo/drawingarea.rb +74 -99
- data/sample/gtk-demo/pixbufs.rb +48 -57
- data/sample/misc/alpha-demo.rb +1 -1
- data/sample/misc/assistant.rb +45 -51
- data/sample/misc/cairo-pong.rb +26 -24
- data/sample/misc/composited-windows.rb +2 -2
- data/sample/misc/dnd.rb +23 -23
- data/sample/misc/drag-move.rb +19 -11
- data/sample/misc/drawing.rb +1 -1
- data/sample/misc/mouse-gesture.rb +3 -3
- data/sample/misc/pangorenderer.rb +1 -1
- data/sample/misc/properties.rb +1 -0
- data/sample/misc/to_drawable.rb +1 -1
- data/sample/misc/tooltips.rb +1 -1
- data/test/test_gtk_accessible.rb +31 -0
- data/test/test_gtk_entry.rb +36 -0
- data/test/test_gtk_header_bar.rb +66 -0
- data/test/test_gtk_icon_view.rb +41 -0
- data/test/test_gtk_level_bar.rb +82 -0
- data/test/test_gtk_list_store.rb +2 -1
- data/test/test_gtk_menu_button.rb +49 -0
- data/test/test_gtk_revealer.rb +57 -0
- data/test/test_gtk_search_bar.rb +55 -0
- data/test/test_gtk_search_entry.rb +34 -0
- data/test/test_gtk_stack.rb +115 -0
- data/test/test_gtk_tree_selection.rb +31 -0
- metadata +31 -14
@@ -38,7 +38,7 @@ event.colormap = event.screen.rgba_colormap
|
|
38
38
|
# that "transparency" is the background colour for a widget.
|
39
39
|
event.app_paintable = true
|
40
40
|
|
41
|
-
event.signal_connect('
|
41
|
+
event.signal_connect('draw') do |widget, event|
|
42
42
|
# This function simply draws a transparency onto a widget on the area
|
43
43
|
# for which it receives expose events. This is intended to give the
|
44
44
|
# event box a "transparent" background.
|
@@ -72,7 +72,7 @@ event.window.composited = true
|
|
72
72
|
# Note that we do _after_ so that the normal (red) background is drawn
|
73
73
|
# by gtk before our compositing occurs.
|
74
74
|
#
|
75
|
-
window.signal_connect_after('
|
75
|
+
window.signal_connect_after('draw') do |widget, event|
|
76
76
|
# This function performs the actual compositing of the event box onto
|
77
77
|
# the already-existing background of the window at 50% normal opacity.
|
78
78
|
#
|
data/sample/misc/dnd.rb
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
$Id: dnd.rb,v 1.9 2006/06/17 13:18:12 mutoh Exp $
|
9
9
|
=end
|
10
10
|
|
11
|
-
require
|
11
|
+
require "gtk3"
|
12
12
|
|
13
13
|
class SrcWindow < Gtk::Window
|
14
14
|
def initialize
|
@@ -16,19 +16,18 @@ class SrcWindow < Gtk::Window
|
|
16
16
|
@label = Gtk::Label.new("Drag here!")
|
17
17
|
add(@label)
|
18
18
|
set_default_size(100, 100)
|
19
|
-
drag_source_set(Gdk::Window::ModifierType::BUTTON1_MASK |
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
signal_connect("
|
25
|
-
# selection_data.set("text/uri-list", 8, "hoge.txt")
|
26
|
-
selection_data.set(Gdk::Selection::TYPE_STRING, "hoge.txt")
|
19
|
+
drag_source_set(Gdk::Window::ModifierType::BUTTON1_MASK |
|
20
|
+
Gdk::Window::ModifierType::BUTTON2_MASK,
|
21
|
+
[["test", Gtk::Drag::TargetFlags::SAME_APP, 12345]],
|
22
|
+
Gdk::DragContext::Action::COPY |
|
23
|
+
Gdk::DragContext::Action::MOVE)
|
24
|
+
signal_connect("drag-data-get") do |widget, context, selection_data, info, time|
|
25
|
+
# selection_data.set("text/uri-list", 8, "hoge.txt")
|
26
|
+
selection_data.set(Gdk::Selection::TYPE_STRING, "hoge.txt")
|
27
27
|
end
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
|
-
|
32
31
|
class DestWindow < Gtk::Window
|
33
32
|
def initialize
|
34
33
|
super("Dest Window")
|
@@ -36,20 +35,22 @@ class DestWindow < Gtk::Window
|
|
36
35
|
@label = Gtk::Label.new("Drop here!")
|
37
36
|
add(@label)
|
38
37
|
set_default_size(100, 100)
|
39
|
-
drag_dest_set(Gtk::Drag::DestDefaults::MOTION |
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
38
|
+
drag_dest_set(Gtk::Drag::DestDefaults::MOTION |
|
39
|
+
Gtk::Drag::DestDefaults::HIGHLIGHT,
|
40
|
+
[["test", :same_app, 12345]],
|
41
|
+
Gdk::DragContext::Action::COPY |
|
42
|
+
Gdk::DragContext::Action::MOVE)
|
43
|
+
|
44
|
+
signal_connect("drag-data-received") do |widget, context, x, y, selection_data, info, time|
|
45
|
+
context.targets.each do |target|
|
45
46
|
if target.name == "test" ||
|
46
|
-
|
47
|
-
puts
|
47
|
+
selection_data.type == Gdk::Selection::TYPE_STRING
|
48
|
+
puts selection_data.data
|
48
49
|
end
|
49
50
|
end
|
50
51
|
end
|
51
|
-
signal_connect("drag-drop") do |
|
52
|
-
|
52
|
+
signal_connect("drag-drop") do |widget, context, x, y, time|
|
53
|
+
widget.drag_get_data(context, context.targets[0], time)
|
53
54
|
end
|
54
55
|
end
|
55
56
|
end
|
@@ -57,8 +58,7 @@ end
|
|
57
58
|
win1 = SrcWindow.new
|
58
59
|
win2 = DestWindow.new
|
59
60
|
|
60
|
-
win1.show_all.signal_connect("destroy"){Gtk.main_quit}
|
61
|
-
win2.show_all.signal_connect("destroy"){Gtk.main_quit}
|
61
|
+
win1.show_all.signal_connect("destroy") {Gtk.main_quit}
|
62
|
+
win2.show_all.signal_connect("destroy") {Gtk.main_quit}
|
62
63
|
|
63
64
|
Gtk.main
|
64
|
-
|
data/sample/misc/drag-move.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
=begin
|
2
2
|
drag-move.rb - Move widget by drag sample script.
|
3
3
|
|
4
|
+
Copyright (C) 2011-2014 Ruby-GNOME2 Project Team
|
4
5
|
Copyright (C) 2006 Kouhei Sutou
|
5
6
|
This program is licenced under the same licence as Ruby-GNOME2.
|
6
7
|
|
@@ -8,7 +9,7 @@
|
|
8
9
|
$Id: drag-move.rb,v 1.2 2006/06/17 13:18:12 mutoh Exp $
|
9
10
|
=end
|
10
11
|
|
11
|
-
require
|
12
|
+
require "gtk3"
|
12
13
|
|
13
14
|
class DraggableWidget < Gtk::EventBox
|
14
15
|
def initialize
|
@@ -40,7 +41,7 @@ class DraggableWidget < Gtk::EventBox
|
|
40
41
|
|
41
42
|
private
|
42
43
|
def set_button_press_event
|
43
|
-
signal_connect("
|
44
|
+
signal_connect("button-press-event") do |widget, event|
|
44
45
|
if event.button == @drag_button
|
45
46
|
Gtk.grab_add(widget)
|
46
47
|
x, y, w, h = widget.allocation.to_a
|
@@ -52,7 +53,7 @@ class DraggableWidget < Gtk::EventBox
|
|
52
53
|
end
|
53
54
|
|
54
55
|
def set_motion_notify_event
|
55
|
-
signal_connect("
|
56
|
+
signal_connect("motion-notify-event") do |widget, event|
|
56
57
|
if dragging?
|
57
58
|
drag_motion(event.x_root, event.y_root)
|
58
59
|
else
|
@@ -62,7 +63,7 @@ class DraggableWidget < Gtk::EventBox
|
|
62
63
|
end
|
63
64
|
|
64
65
|
def set_button_release_event
|
65
|
-
signal_connect("
|
66
|
+
signal_connect("button-release-event") do |widget, event|
|
66
67
|
if event.button == @drag_button
|
67
68
|
Gtk.grab_remove(widget)
|
68
69
|
drag_end
|
@@ -73,7 +74,7 @@ class DraggableWidget < Gtk::EventBox
|
|
73
74
|
end
|
74
75
|
|
75
76
|
def set_drag_move_position_event
|
76
|
-
signal_connect("
|
77
|
+
signal_connect("drag-move-position") do |widget, x, y|
|
77
78
|
if layout
|
78
79
|
layout.move(widget, x, y)
|
79
80
|
true
|
@@ -101,7 +102,7 @@ class DraggableWidget < Gtk::EventBox
|
|
101
102
|
false
|
102
103
|
end
|
103
104
|
end
|
104
|
-
|
105
|
+
|
105
106
|
def drag_end
|
106
107
|
@dragging = false
|
107
108
|
true
|
@@ -109,7 +110,7 @@ class DraggableWidget < Gtk::EventBox
|
|
109
110
|
end
|
110
111
|
|
111
112
|
window = Gtk::Window.new("Draggable Widget sample")
|
112
|
-
window.signal_connect("destroy"){Gtk.main_quit}
|
113
|
+
window.signal_connect("destroy") {Gtk.main_quit}
|
113
114
|
|
114
115
|
layout = Gtk::Layout.new
|
115
116
|
|
@@ -117,10 +118,17 @@ draggable_widget = DraggableWidget.new
|
|
117
118
|
draggable_widget.set_size_request(50, 50)
|
118
119
|
layout.put(draggable_widget, 75, 75)
|
119
120
|
|
120
|
-
draggable_widget.signal_connect("
|
121
|
-
|
122
|
-
|
123
|
-
|
121
|
+
draggable_widget.signal_connect("draw") do |widget, context|
|
122
|
+
width = widget.width_request
|
123
|
+
height = widget.height_request
|
124
|
+
context.fill do
|
125
|
+
center_x = width / 2
|
126
|
+
center_y = height / 2
|
127
|
+
radius = width / 2
|
128
|
+
start_angle = 0 * Math::PI
|
129
|
+
stop_angle = 2 * Math::PI
|
130
|
+
context.arc(center_x, center_y, radius, start_angle, stop_angle)
|
131
|
+
end
|
124
132
|
false
|
125
133
|
end
|
126
134
|
|
data/sample/misc/drawing.rb
CHANGED
@@ -12,7 +12,7 @@ require 'gtk3'
|
|
12
12
|
class Canvas < Gtk::DrawingArea
|
13
13
|
def initialize
|
14
14
|
super
|
15
|
-
signal_connect("
|
15
|
+
signal_connect("draw") { |w,e| expose_event(w,e) }
|
16
16
|
signal_connect("configure_event") { |w, e| configure_event(w,e) }
|
17
17
|
@buffer = nil
|
18
18
|
@bgc = nil
|
@@ -214,7 +214,7 @@ class Gesture < Gtk::EventBox
|
|
214
214
|
end
|
215
215
|
|
216
216
|
def set_expose_event
|
217
|
-
signal_connect("
|
217
|
+
signal_connect("draw") do |widget, event|
|
218
218
|
if @processor.started?
|
219
219
|
cr = widget.window.create_cairo_context
|
220
220
|
|
@@ -372,7 +372,7 @@ layout = Layout.new
|
|
372
372
|
|
373
373
|
gestured_widget = GesturedWidget.new
|
374
374
|
gestured_widget.set_size_request(50, 50)
|
375
|
-
gestured_widget.signal_connect("
|
375
|
+
gestured_widget.signal_connect("draw") do |widget, event|
|
376
376
|
x, y, w, h = widget.allocation.to_a
|
377
377
|
cr = widget.window.create_cairo_context
|
378
378
|
cr.set_source_rgba([0.8, 0.8, 0.3, 1])
|
@@ -388,7 +388,7 @@ layout.put(gestured_widget, 75, 75)
|
|
388
388
|
|
389
389
|
gestured_widget2 = GesturedWidget.new
|
390
390
|
gestured_widget2.set_size_request(100, 50)
|
391
|
-
gestured_widget2.signal_connect("
|
391
|
+
gestured_widget2.signal_connect("draw") do |widget, event|
|
392
392
|
x, y, w, h = widget.allocation.to_a
|
393
393
|
cr = widget.window.create_cairo_context
|
394
394
|
cr.set_source_rgba([0.3, 0.3, 0.8, 1])
|
@@ -46,7 +46,7 @@ background = Gdk::Color.new(65535, 65535, 65535)
|
|
46
46
|
Gdk::Colormap.system.alloc_color(background, false, true)
|
47
47
|
win.window.background = background
|
48
48
|
|
49
|
-
win.signal_connect("
|
49
|
+
win.signal_connect("draw") do
|
50
50
|
(0...N_WORDS).each do |i|
|
51
51
|
rotated_matrix = matrix.dup
|
52
52
|
angle = 360 * i / N_WORDS.to_f
|
data/sample/misc/properties.rb
CHANGED
data/sample/misc/to_drawable.rb
CHANGED
data/sample/misc/tooltips.rb
CHANGED
@@ -178,7 +178,7 @@ if Gdk.cairo_available?
|
|
178
178
|
drawingarea = Gtk::DrawingArea.new
|
179
179
|
drawingarea.set_size_request(320, 240)
|
180
180
|
drawingarea.has_tooltip = true
|
181
|
-
drawingarea.signal_connect('
|
181
|
+
drawingarea.signal_connect('draw') {
|
182
182
|
cr = drawingarea.window.create_cairo_context
|
183
183
|
cr.rectangle(0, 0, drawingarea.allocation.width, drawingarea.allocation.height)
|
184
184
|
cr.set_source_rgb(1.0, 1.0, 1.0)
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
#
|
3
|
+
# Copyright (C) 2014 Ruby-GNOME2 Project Team
|
4
|
+
#
|
5
|
+
# This library is free software; you can redistribute it and/or
|
6
|
+
# modify it under the terms of the GNU Lesser General Public
|
7
|
+
# License as published by the Free Software Foundation; either
|
8
|
+
# version 2.1 of the License, or (at your option) any later version.
|
9
|
+
#
|
10
|
+
# This library is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
# Lesser General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU Lesser General Public
|
16
|
+
# License along with this library; if not, write to the Free Software
|
17
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
18
|
+
|
19
|
+
class TestGtkAccessible < Test::Unit::TestCase
|
20
|
+
include GtkTestUtils
|
21
|
+
|
22
|
+
def setup
|
23
|
+
@accessible = Gtk::Accessible.new
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_widget_accessors
|
27
|
+
widget = Gtk::Box.new(:horizontal)
|
28
|
+
@accessible.widget = widget
|
29
|
+
assert_equal(widget, @accessible.widget)
|
30
|
+
end
|
31
|
+
end
|
data/test/test_gtk_entry.rb
CHANGED
@@ -1,3 +1,21 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
#
|
3
|
+
# Copyright (C) 2014 Ruby-GNOME2 Project Team
|
4
|
+
#
|
5
|
+
# This library is free software; you can redistribute it and/or
|
6
|
+
# modify it under the terms of the GNU Lesser General Public
|
7
|
+
# License as published by the Free Software Foundation; either
|
8
|
+
# version 2.1 of the License, or (at your option) any later version.
|
9
|
+
#
|
10
|
+
# This library is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
# Lesser General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU Lesser General Public
|
16
|
+
# License along with this library; if not, write to the Free Software
|
17
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
18
|
+
|
1
19
|
class TestGtkEntry < Test::Unit::TestCase
|
2
20
|
include GtkTestUtils
|
3
21
|
|
@@ -13,4 +31,22 @@ class TestGtkEntry < Test::Unit::TestCase
|
|
13
31
|
@entry.cursor_hadjustment = adjustment
|
14
32
|
assert_equal(adjustment, @entry.cursor_hadjustment)
|
15
33
|
end
|
34
|
+
|
35
|
+
def test_completion_accsessors
|
36
|
+
entry_completion = Gtk::EntryCompletion.new
|
37
|
+
@entry.completion = entry_completion
|
38
|
+
assert_equal(entry_completion, @entry.completion)
|
39
|
+
end
|
40
|
+
|
41
|
+
class TestEnum < self
|
42
|
+
def test_input_purpose_enum
|
43
|
+
only_gtk_version(3, 6, 0)
|
44
|
+
assert_const_defined(Gtk::InputPurpose, :ALPHA)
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_input_hints_enum
|
48
|
+
only_gtk_version(3, 6, 0)
|
49
|
+
assert_const_defined(Gtk::InputHints, :SPELLCHECK)
|
50
|
+
end
|
51
|
+
end
|
16
52
|
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# Copyright (C) 2014 Ruby-GNOME2 Project Team
|
2
|
+
#
|
3
|
+
# This library is free software; you can redistribute it and/or
|
4
|
+
# modify it under the terms of the GNU Lesser General Public
|
5
|
+
# License as published by the Free Software Foundation; either
|
6
|
+
# version 2.1 of the License, or (at your option) any later version.
|
7
|
+
#
|
8
|
+
# This library is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
11
|
+
# Lesser General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU Lesser General Public
|
14
|
+
# License along with this library; if not, write to the Free Software
|
15
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
16
|
+
|
17
|
+
class TestGtkHeaderBar < Test::Unit::TestCase
|
18
|
+
include GtkTestUtils
|
19
|
+
|
20
|
+
def setup
|
21
|
+
only_gtk_version(3, 10, 0)
|
22
|
+
@header_bar = Gtk::HeaderBar.new
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_custom_title_accessros
|
26
|
+
widget = Gtk::EventBox.new
|
27
|
+
@header_bar.custom_title = widget
|
28
|
+
assert_equal(widget, @header_bar.custom_title)
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_title_accessors
|
32
|
+
header_bar_title = "no title"
|
33
|
+
@header_bar.title = header_bar_title
|
34
|
+
assert_equal(header_bar_title, @header_bar.title)
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_subtitle_accessors
|
38
|
+
header_bar_subtitle = "sub title"
|
39
|
+
@header_bar.subtitle = header_bar_subtitle
|
40
|
+
assert_equal(header_bar_subtitle, @header_bar.subtitle)
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_show_close_button_accessors
|
44
|
+
@header_bar.show_close_button = true
|
45
|
+
assert_equal(true, @header_bar.show_close_button?)
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_spacing_accessors
|
49
|
+
spacing_size = 10
|
50
|
+
@header_bar.spacing = spacing_size
|
51
|
+
assert_equal(spacing_size, @header_bar.spacing)
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_pack
|
55
|
+
start1 = Gtk::EventBox.new
|
56
|
+
start2 = Gtk::EventBox.new
|
57
|
+
end1 = Gtk::EventBox.new
|
58
|
+
end2 = Gtk::EventBox.new
|
59
|
+
@header_bar.pack_start(start1)
|
60
|
+
@header_bar.pack_start(start2)
|
61
|
+
@header_bar.pack_end(end1)
|
62
|
+
@header_bar.pack_end(end2)
|
63
|
+
assert_equal([start1, start2, end1, end2],
|
64
|
+
@header_bar.children)
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
#
|
3
|
+
# Copyright (C) 2014 Ruby-GNOME2 Project Team
|
4
|
+
#
|
5
|
+
# This library is free software; you can redistribute it and/or
|
6
|
+
# modify it under the terms of the GNU Lesser General Public
|
7
|
+
# License as published by the Free Software Foundation; either
|
8
|
+
# version 2.1 of the License, or (at your option) any later version.
|
9
|
+
#
|
10
|
+
# This library is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
# Lesser General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU Lesser General Public
|
16
|
+
# License along with this library; if not, write to the Free Software
|
17
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
18
|
+
|
19
|
+
class TestGtkIconView < Test::Unit::TestCase
|
20
|
+
include GtkTestUtils
|
21
|
+
|
22
|
+
class TestGetCellRect < self
|
23
|
+
def setup
|
24
|
+
only_gtk_version(3, 6, 0)
|
25
|
+
model = Gtk::ListStore.new(String, Gdk::Pixbuf)
|
26
|
+
iter = model.append
|
27
|
+
model.set_values(iter, ["label", nil])
|
28
|
+
@path = iter.path
|
29
|
+
@icon_view = Gtk::IconView.new(model)
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_found
|
33
|
+
assert_kind_of(Gdk::Rectangle, @icon_view.get_cell_rect(@path))
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_not_found
|
37
|
+
not_found_path = Gtk::TreePath.new(@path.indices.first + 1)
|
38
|
+
assert_nil(@icon_view.get_cell_rect(not_found_path))
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|