gtk3 3.0.0-x86-mingw32 → 3.0.1-x86-mingw32

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
  SHA1:
3
- metadata.gz: 2ee96640fd2daffaab2755df9ba5e1938e86e9c5
4
- data.tar.gz: 0c044c9f710489ef3aaf2d54040c5c92364a2820
3
+ metadata.gz: 00db0a838c21b9d192db9f23390c7862b19c7d0c
4
+ data.tar.gz: 06762d1b2149faefbd349f03d019b5a193a1b079
5
5
  SHA512:
6
- metadata.gz: e86455f39b0049b48b8a03ab9cfa42840742bbf857bc6bb06566b676c213493d3e9a980c82f00ad2aa6a821c9f6334a9ad433abb6126c4cb536d1f3c01631090
7
- data.tar.gz: 91e35ee94fd73e947513290451753aba4452b668f92689b1aea4d33c3c9fc988716429546147d6220fdd68a52efd90eec7f39602ef66b94e4e15634d6af7cc60
6
+ metadata.gz: 92d4a69527cad315e3cdcc854139d67b2531a1f5f58e2465be0bb8543bdb17d9cf261d9b68a284f51e4e1224aff0bb7f40deb4f950bd476e6cbdf6033fbb5d46
7
+ data.tar.gz: b73163a6c543b1bb8d51dea55b53f9e1e2772ea08fc4eaacd3d350639448339168abe0b30451588add4578359060d1701e66db0332d2f6f25bcea9d4c5943271
@@ -312,7 +312,7 @@ In this example we create a subclass of `Gtk::Application` called ExampleApp. In
312
312
  * open : opens files and shows them in a new window
313
313
 
314
314
  For more informations, see [here](https://wiki.gnome.org/HowDoI/GtkApplication).
315
- In this case, the signal "*activate*" will be triggered if no arguments are given to the `ExampleApp#run` method. And a default window will be created and will be presented to the user ( [see](https://developer.gnome.org/gtk3/stable/GtkWindow.html#gtk-window-present).
315
+ In this case, the signal "*activate*" will be triggered if no arguments are given to the `ExampleApp#run` method. And a default window will be created and will be presented to the user ( [`Gtk::Widget#present`](https://developer.gnome.org/gtk3/stable/GtkWindow.html#gtk-window-present)).
316
316
 
317
317
  If file names are given to the `ExampleApp#run` method, then it is the "*open*" signal that is called.
318
318
  Trought this event, you can manage the files that are stored in an array of `Gio::File` objects.
@@ -327,6 +327,109 @@ https://developer.gnome.org/gtk3/stable/ch01s04.html#id-1.2.3.12.6
327
327
 
328
328
  * exampleapp2/exampleapp.rb
329
329
 
330
+ In this step, we use a [`Gtk::Builder`](https://developer.gnome.org/gtk3/stable/GtkBuilder.html) template to associate a [`Gtk::Builder`](https://developer.gnome.org/gtk3/stable/GtkBuilder.html) ui file with our application window class.
331
+ Our simple ui file puts a [`Gtk::HeaderBar`](https://developer.gnome.org/gtk3/stable/GtkHeaderBar.html) on top of a [`Gtk::Stack`](https://developer.gnome.org/gtk3/stable/GtkStack.html) widget. The header bar contains a [`Gtk::StackSwitcher`](https://developer.gnome.org/gtk3/stable/GtkStackSwitcher.html), which is a standalone widget to show a row of 'tabs' for the pages of a [`Gtk::Stack`](https://developer.gnome.org/gtk3/stable/GtkStack.html) .
332
+
333
+ Here is the "window.ui" file that contains the template of the window:
334
+
335
+ ```xml
336
+ <?xml version="1.0" encoding="UTF-8"?>
337
+ <interface>
338
+ <!-- interface-requires gtk+ 3.8 -->
339
+ <template class="ExampleAppWindow" parent="GtkApplicationWindow">
340
+ <property name="title" translatable="yes">Example Application</property>
341
+ <property name="default-width">600</property>
342
+ <property name="default-height">400</property>
343
+ <child>
344
+ <object class="GtkBox" id="content_box">
345
+ <property name="visible">True</property>
346
+ <property name="orientation">vertical</property>
347
+ <child>
348
+ <object class="GtkHeaderBar" id="header">
349
+ <property name="visible">True</property>
350
+ <child type="title">
351
+ <object class="GtkStackSwitcher" id="tabs">
352
+ <property name="visible">True</property>
353
+ <property name="margin">6</property>
354
+ <property name="stack">stack</property>
355
+ </object>
356
+ </child>
357
+ </object>
358
+ </child>
359
+ <child>
360
+ <object class="GtkStack" id="stack">
361
+ <property name="visible">True</property>
362
+ </object>
363
+ </child>
364
+ </object>
365
+ </child>
366
+ </template>
367
+ </interface>
368
+ ```
369
+ Unlike regular interface descriptions, in template XML descriptions, a`<template>` tag is expected as a direct child of the toplevel `<interface>` tag. Yhe `<template>` tag must specify the "*class*" attribute which must be the class name of the widget. Optionally, the "*parent*" attribute may be specified to indicate the direct parent class (superclass).
370
+
371
+ More informations can be found in the part [building composite widgets from template XML](https://developer.gnome.org/gtk3/stable/GtkWidget.html#GtkWidget.description) of the `Gtk::Widget` documentation.
372
+
373
+ #### Link a template to a custom class widget.
374
+
375
+ ```ruby
376
+ class ExampleAppWindow < Gtk::ApplicationWindow
377
+ type_register
378
+ class << self
379
+ def init
380
+ set_template(:resource => "/org/gtk/exampleapp/window.ui")
381
+ end
382
+ end
383
+
384
+ def initialize(application)
385
+ super(:application => application)
386
+ end
387
+
388
+ def open(file)
389
+
390
+ end
391
+ end
392
+ ```
393
+
394
+ We create a subclass of Gtk::ApplicationWindow. Then we call the method `type_register` inherited from `GLib::Object` in order to register this class as a new [GType](https://developer.gnome.org/gobject/stable/chapter-gtype.html). See the file *ruby-gnome2/glib2/ext/glib2/rbgobj_object.c* for the C implementation. More informations on the gobject manipulation can be found [here](https://blogs.gnome.org/desrt/2012/02/26/a-gentle-introduction-to-gobject-construction/)
395
+
396
+ The template of the interface is bound to the class using the `init` singleton method. We just open the *eigenclass* with `class << self` and define the method `init` in which we call the `Gtk::Widget#set_template` method.
397
+
398
+ After that, the `ExampleAppWindow#initialize` method must be overwritten. When `type_register` is used, *super* is equivalent to `GLib::Object#initialize` so you need to use properties style constructor (hash argument, see [here](https://github.com/ruby-gnome2/ruby-gnome2/issues/503))
399
+
400
+ #### Load a resource file.
401
+
402
+ You may have noticed that we used the `:resource => ` key as the argument of the method that sets a template. Now we need to use GLib's resource functionality to include the ui file in the binary. This is commonly done by listing all resources in a .gresource.xml file, such as this:
403
+
404
+ ```xml
405
+ <?xml version="1.0" encoding="UTF-8"?>
406
+ <gresources>
407
+ <gresource prefix="/org/gtk/exampleapp">
408
+ <file preprocess="xml-stripblanks">window.ui</file>
409
+ </gresource>
410
+ </gresources>
411
+ ```
412
+ In our script, we built the resource binary file with
413
+ ```ruby
414
+ system("glib-compile-resources",
415
+ "--target", gresource_bin,
416
+ "--sourcedir", File.dirname(gresource_xml),
417
+ gresource_xml)
418
+ ```
419
+ Then we make sure that this file is deleted when the script is done :
420
+
421
+ ```ruby
422
+ at_exit do
423
+ FileUtils.rm_f(gresource_bin)
424
+ end
425
+ ```
426
+ The resource binary file is loaded so that each resources in it can be accessed via theirs respective paths.
427
+
428
+ ```ruby
429
+ resource = Gio::Resource.load(gresource_bin)
430
+ Gio::Resources.register(resource)
431
+ ```
432
+
330
433
  ### Opening files
331
434
  https://developer.gnome.org/gtk3/stable/ch01s04.html#id-1.2.3.12.7
332
435
 
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0"?>
2
+ <interface>
3
+ <!-- interface-requires gtk+ 3.0 -->
4
+ <menu id="appmenu">
5
+ <section>
6
+ <item>
7
+ <attribute name="label" translatable="yes">_Preferences</attribute>
8
+ <attribute name="action">app.preferences</attribute>
9
+ </item>
10
+ </section>
11
+ <section>
12
+ <item>
13
+ <attribute name="label" translatable="yes">_Quit</attribute>
14
+ <attribute name="action">app.quit</attribute>
15
+ </item>
16
+ </section>
17
+ </menu>
18
+ </interface>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <gresources>
3
+ <gresource prefix="/org/gtk/exampleapp">
4
+ <file preprocess="xml-stripblanks">window.ui</file>
5
+ <file preprocess="xml-stripblanks">app-menu.ui</file>
6
+ <file preprocess="xml-stripblanks">gears-menu.ui</file>
7
+ <file preprocess="xml-stripblanks">prefs.ui</file>
8
+ </gresource>
9
+ </gresources>
@@ -0,0 +1,268 @@
1
+ # Copyright (C) 2015 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
+ # Original:
18
+ # * URL: https://git.gnome.org/browse/gtk+/tree/examples/application8/exampleapp.c
19
+ # * URL: https://git.gnome.org/browse/gtk+/tree/examples/application8/exampleappwin.c
20
+ # * License: LGPL 2
21
+
22
+ require "gtk3"
23
+
24
+ require "fileutils"
25
+
26
+ current_path = File.expand_path(File.dirname(__FILE__))
27
+ gresource_bin = "#{current_path}/exampleapp.gresource"
28
+ gresource_xml = "#{current_path}/exampleapp.gresource.xml"
29
+
30
+ system("glib-compile-resources",
31
+ "--target", gresource_bin,
32
+ "--sourcedir", current_path,
33
+ gresource_xml)
34
+
35
+ gschema_bin = "#{current_path}/gschemas.compiled"
36
+
37
+ system("glib-compile-schemas", current_path)
38
+
39
+ at_exit do
40
+ FileUtils.rm_f([gresource_bin, gschema_bin])
41
+ end
42
+
43
+ resource = Gio::Resource.load(gresource_bin)
44
+ Gio::Resources.register(resource)
45
+
46
+ ENV["GSETTINGS_SCHEMA_DIR"] = current_path
47
+
48
+ def update_words(win)
49
+ tab = win.stack.visible_child
50
+ return unless tab
51
+ view = tab.child
52
+ buffer = view.buffer
53
+ iter = buffer.start_iter
54
+ strings = []
55
+ done = false
56
+ until iter.end?
57
+ until iter.starts_word
58
+ unless iter.forward_char
59
+ done = true
60
+ break
61
+ end
62
+ end
63
+ break if done
64
+ word_end = iter.clone
65
+ break unless word_end.forward_word_end
66
+ strings << buffer.get_text(iter, word_end, false)
67
+ iter = word_end
68
+ end
69
+ children = win.words.children
70
+ children.each { |c| win.words.remove(c) } unless children.empty?
71
+ strings.each do |s|
72
+ row = Gtk::Button.new(:label => s)
73
+ row.signal_connect("clicked") { |_widget| win.searchentry.text = s }
74
+ row.show
75
+ win.words.add(row)
76
+ end
77
+ end
78
+
79
+ def update_lines(win)
80
+ tab = win.stack.visible_child
81
+ return unless tab
82
+ view = tab.child
83
+ buffer = view.buffer
84
+ iter = buffer.start_iter
85
+ count = 0
86
+ until iter.end?
87
+ count += 1
88
+ break unless iter.forward_line
89
+ end
90
+ win.lines.text = count.to_s
91
+ end
92
+
93
+ class ExampleAppPrefs < Gtk::Dialog
94
+ type_register
95
+
96
+ class << self
97
+ def init
98
+ set_template(:resource => "/org/gtk/exampleapp/prefs.ui")
99
+ bind_template_child("font")
100
+ bind_template_child("transition")
101
+ end
102
+ end
103
+
104
+ def initialize(args)
105
+ parent = args[:transient_for]
106
+ super(:transient_for => parent, :use_header_bar => 1)
107
+ settings = Gio::Settings.new("org.gtk.exampleapp")
108
+ settings.bind("font",
109
+ font,
110
+ "font",
111
+ Gio::SettingsBindFlags::DEFAULT)
112
+ settings.bind("transition",
113
+ transition,
114
+ "active-id",
115
+ Gio::SettingsBindFlags::DEFAULT)
116
+ end
117
+ end
118
+
119
+ class ExampleAppWindow < Gtk::ApplicationWindow
120
+ type_register
121
+ class << self
122
+ def init
123
+ set_template(:resource => "/org/gtk/exampleapp/window.ui")
124
+ bind_template_child("stack")
125
+ bind_template_child("search")
126
+ bind_template_child("searchbar")
127
+ bind_template_child("searchentry")
128
+ bind_template_child("gears")
129
+ bind_template_child("words")
130
+ bind_template_child("sidebar")
131
+ bind_template_child("lines")
132
+ bind_template_child("lines_label")
133
+
134
+ set_connect_func do |name|
135
+ method(name)
136
+ end
137
+ end
138
+
139
+ private
140
+
141
+ def search_text_changed(search_entry)
142
+ text = search_entry.text
143
+ return if text.empty?
144
+
145
+ win = search_entry.toplevel
146
+ tab = win.stack.visible_child
147
+ view = tab.child
148
+ buffer = view.buffer
149
+ range = buffer.start_iter.forward_search(text,
150
+ Gtk::TextSearchFlags::CASE_INSENSITIVE)
151
+ return unless range
152
+ buffer.select_range(range[0], range[1])
153
+ view.scroll_to_iter(range[0], 0.0, false, 0.0, 0.0)
154
+ end
155
+
156
+ def visible_child_changed(stack, params)
157
+ return if stack.in_destruction?
158
+ win = stack.toplevel
159
+ win.searchbar.set_search_mode(false)
160
+ update_words(win)
161
+ update_lines(win)
162
+ end
163
+ end
164
+
165
+ def initialize(application)
166
+ super(:application => application)
167
+ @settings = Gio::Settings.new("org.gtk.exampleapp")
168
+ @settings.bind("transition",
169
+ stack,
170
+ "transition-type",
171
+ Gio::SettingsBindFlags::DEFAULT)
172
+ search.bind_property("active", searchbar, "search-mode-enabled", :bidirectional)
173
+ @settings.bind("show-words",
174
+ sidebar,
175
+ "reveal-child",
176
+ Gio::SettingsBindFlags::DEFAULT)
177
+ sidebar.signal_connect "notify::reveal-child" do |_sidebar, _gparamspec, _application|
178
+ update_words(self)
179
+ end
180
+ builder = Gtk::Builder.new(:resource => "/org/gtk/exampleapp/gears-menu.ui")
181
+ menu = builder.get_object("menu")
182
+ gears.set_menu_model(menu)
183
+ action = @settings.create_action("show-words")
184
+ add_action(action)
185
+ action = Gio::PropertyAction.new("show-lines", lines, "visible")
186
+ add_action(action)
187
+ lines.bind_property("visible", lines_label, "visible", :default)
188
+ end
189
+
190
+ def open(file)
191
+ basename = file.basename
192
+
193
+ scrolled = Gtk::ScrolledWindow.new
194
+ scrolled.show
195
+ scrolled.set_hexpand(true)
196
+ scrolled.set_vexpand(true)
197
+
198
+ view = Gtk::TextView.new
199
+ view.set_editable(false)
200
+ view.set_cursor_visible(false)
201
+ view.show
202
+ scrolled.add(view)
203
+
204
+ stack.add_titled(scrolled, basename, basename)
205
+
206
+ stream = file.read
207
+ buffer = view.buffer
208
+ buffer.text = stream.read
209
+ tag = buffer.create_tag
210
+ @settings.bind("font", tag, "font", Gio::SettingsBindFlags::DEFAULT)
211
+ buffer.apply_tag(tag, buffer.start_iter, buffer.end_iter)
212
+ search.sensitive = true
213
+ update_words(self)
214
+ update_lines(self)
215
+ end
216
+ end
217
+
218
+ class ExampleApp < Gtk::Application
219
+ def initialize
220
+ super("org.gtk.exampleapp", :handles_open)
221
+
222
+ signal_connect "startup" do |application|
223
+ quit_accels = ["<Ctrl>Q"]
224
+ action = Gio::SimpleAction.new("quit")
225
+ action.signal_connect("activate") do |_action, _parameter|
226
+ application.quit
227
+ end
228
+ application.add_action(action)
229
+ application.set_accels_for_action("app.quit", quit_accels)
230
+
231
+ action = Gio::SimpleAction.new("preferences")
232
+ action.signal_connect("activate") do |_action, _parameter|
233
+ win = application.windows.first
234
+ prefs = ExampleAppPrefs.new(:transient_for => win,
235
+ :use_header_bar => true)
236
+ prefs.present
237
+ end
238
+ application.add_action(action)
239
+
240
+ builder = Gtk::Builder.new(:resource => "/org/gtk/exampleapp/app-menu.ui")
241
+ app_menu = builder.get_object("appmenu")
242
+ application.set_app_menu(app_menu)
243
+ end
244
+
245
+ signal_connect "activate" do |application|
246
+ window = ExampleAppWindow.new(application)
247
+ window.present
248
+ end
249
+
250
+ signal_connect "open" do |application, files, _hint|
251
+ windows = application.windows
252
+ win = nil
253
+ if windows.empty?
254
+ win = ExampleAppWindow.new(application)
255
+ else
256
+ win = windows.first
257
+ end
258
+
259
+ files.each { |file| win.open(file) }
260
+
261
+ win.present
262
+ end
263
+ end
264
+ end
265
+
266
+ app = ExampleApp.new
267
+
268
+ puts app.run([$PROGRAM_NAME] + ARGV)
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0"?>
2
+ <interface>
3
+ <!-- interface-requires gtk+ 3.0 -->
4
+ <menu id="menu">
5
+ <section>
6
+ <item>
7
+ <attribute name="label" translatable="yes">_Words</attribute>
8
+ <attribute name="action">win.show-words</attribute>
9
+ </item>
10
+ <item>
11
+ <attribute name="label" translatable="yes">_Lines</attribute>
12
+ <attribute name="action">win.show-lines</attribute>
13
+ </item>
14
+ </section>
15
+ </menu>
16
+ </interface>
@@ -0,0 +1,25 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <schemalist>
3
+ <schema path="/org/gtk/exampleapp/" id="org.gtk.exampleapp">
4
+ <key name="font" type="s">
5
+ <default>'Monospace 12'</default>
6
+ <summary>Font</summary>
7
+ <description>The font to be used for content.</description>
8
+ </key>
9
+ <key name="transition" type="s">
10
+ <choices>
11
+ <choice value='none'/>
12
+ <choice value='crossfade'/>
13
+ <choice value='slide-left-right'/>
14
+ </choices>
15
+ <default>'none'</default>
16
+ <summary>Transition</summary>
17
+ <description>The transition to use when switching tabs.</description>
18
+ </key>
19
+ <key name="show-words" type="b">
20
+ <default>false</default>
21
+ <summary>Show words</summary>
22
+ <description>Whether to show a word list in the sidebar</description>
23
+ </key>
24
+ </schema>
25
+ </schemalist>
@@ -0,0 +1,70 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <interface>
3
+ <!-- interface-requires gtk+ 3.8 -->
4
+ <template class="ExampleAppPrefs" parent="GtkDialog">
5
+ <property name="title" translatable="yes">Preferences</property>
6
+ <property name="resizable">False</property>
7
+ <property name="modal">True</property>
8
+ <child internal-child="vbox">
9
+ <object class="GtkBox" id="vbox">
10
+ <child>
11
+ <object class="GtkGrid" id="grid">
12
+ <property name="visible">True</property>
13
+ <property name="margin">6</property>
14
+ <property name="row-spacing">12</property>
15
+ <property name="column-spacing">6</property>
16
+ <child>
17
+ <object class="GtkLabel" id="fontlabel">
18
+ <property name="visible">True</property>
19
+ <property name="label">_Font:</property>
20
+ <property name="use-underline">True</property>
21
+ <property name="mnemonic-widget">font</property>
22
+ <property name="xalign">1</property>
23
+ </object>
24
+ <packing>
25
+ <property name="left-attach">0</property>
26
+ <property name="top-attach">0</property>
27
+ </packing>
28
+ </child>
29
+ <child>
30
+ <object class="GtkFontButton" id="font">
31
+ <property name="visible">True</property>
32
+ </object>
33
+ <packing>
34
+ <property name="left-attach">1</property>
35
+ <property name="top-attach">0</property>
36
+ </packing>
37
+ </child>
38
+ <child>
39
+ <object class="GtkLabel" id="transitionlabel">
40
+ <property name="visible">True</property>
41
+ <property name="label">_Transition:</property>
42
+ <property name="use-underline">True</property>
43
+ <property name="mnemonic-widget">transition</property>
44
+ <property name="xalign">1</property>
45
+ </object>
46
+ <packing>
47
+ <property name="left-attach">0</property>
48
+ <property name="top-attach">1</property>
49
+ </packing>
50
+ </child>
51
+ <child>
52
+ <object class="GtkComboBoxText" id="transition">
53
+ <property name="visible">True</property>
54
+ <items>
55
+ <item translatable="yes" id="none">None</item>
56
+ <item translatable="yes" id="crossfade">Fade</item>
57
+ <item translatable="yes" id="slide-left-right">Slide</item>
58
+ </items>
59
+ </object>
60
+ <packing>
61
+ <property name="left-attach">1</property>
62
+ <property name="top-attach">1</property>
63
+ </packing>
64
+ </child>
65
+ </object>
66
+ </child>
67
+ </object>
68
+ </child>
69
+ </template>
70
+ </interface>
@@ -0,0 +1,117 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <interface>
3
+ <!-- interface-requires gtk+ 3.8 -->
4
+ <template class="ExampleAppWindow" parent="GtkApplicationWindow">
5
+ <property name="title" translatable="yes">Example Application</property>
6
+ <property name="default-width">600</property>
7
+ <property name="default-height">400</property>
8
+ <child>
9
+ <object class="GtkBox" id="content_box">
10
+ <property name="visible">True</property>
11
+ <property name="orientation">vertical</property>
12
+ <child>
13
+ <object class="GtkHeaderBar" id="header">
14
+ <property name="visible">True</property>
15
+ <child>
16
+ <object class="GtkLabel" id="lines_label">
17
+ <property name="visible">False</property>
18
+ <property name="label" translatable="yes">Lines:</property>
19
+ </object>
20
+ <packing>
21
+ <property name="pack-type">start</property>
22
+ </packing>
23
+ </child>
24
+ <child>
25
+ <object class="GtkLabel" id="lines">
26
+ <property name="visible">False</property>
27
+ </object>
28
+ <packing>
29
+ <property name="pack-type">start</property>
30
+ </packing>
31
+ </child>
32
+ <child type="title">
33
+ <object class="GtkStackSwitcher" id="tabs">
34
+ <property name="visible">True</property>
35
+ <property name="margin">6</property>
36
+ <property name="stack">stack</property>
37
+ </object>
38
+ </child>
39
+ <child>
40
+ <object class="GtkToggleButton" id="search">
41
+ <property name="visible">True</property>
42
+ <property name="sensitive">False</property>
43
+ <style>
44
+ <class name="image-button"/>
45
+ </style>
46
+ <child>
47
+ <object class="GtkImage" id="search-icon">
48
+ <property name="visible">True</property>
49
+ <property name="icon-name">edit-find-symbolic</property>
50
+ <property name="icon-size">1</property>
51
+ </object>
52
+ </child>
53
+ </object>
54
+ <packing>
55
+ <property name="pack-type">end</property>
56
+ </packing>
57
+ </child>
58
+ <child>
59
+ <object class="GtkMenuButton" id="gears">
60
+ <property name="visible">True</property>
61
+ <property name="direction">none</property>
62
+ <property name="use-popover">True</property>
63
+ <style>
64
+ <class name="image-button"/>
65
+ </style>
66
+ </object>
67
+ <packing>
68
+ <property name="pack-type">end</property>
69
+ </packing>
70
+ </child>
71
+ </object>
72
+ </child>
73
+ <child>
74
+ <object class="GtkSearchBar" id="searchbar">
75
+ <property name="visible">True</property>
76
+ <child>
77
+ <object class="GtkSearchEntry" id="searchentry">
78
+ <signal name="search-changed" handler="search_text_changed"/>
79
+ <property name="visible">True</property>
80
+ </object>
81
+ </child>
82
+ </object>
83
+ </child>
84
+ <child>
85
+ <object class="GtkBox" id="hbox">
86
+ <property name="visible">True</property>
87
+ <child>
88
+ <object class="GtkRevealer" id="sidebar">
89
+ <property name="visible">True</property>
90
+ <property name="transition-type">slide-right</property>
91
+ <child>
92
+ <object class="GtkScrolledWindow" id="sidebar-sw">
93
+ <property name="visible">True</property>
94
+ <property name="hscrollbar-policy">never</property>
95
+ <property name="vscrollbar-policy">automatic</property>
96
+ <child>
97
+ <object class="GtkListBox" id="words">
98
+ <property name="visible">True</property>
99
+ <property name="selection-mode">none</property>
100
+ </object>
101
+ </child>
102
+ </object>
103
+ </child>
104
+ </object>
105
+ </child>
106
+ <child>
107
+ <object class="GtkStack" id="stack">
108
+ <signal name="notify::visible-child" handler="visible_child_changed"/>
109
+ <property name="visible">True</property>
110
+ </object>
111
+ </child>
112
+ </object>
113
+ </child>
114
+ </object>
115
+ </child>
116
+ </template>
117
+ </interface>
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.0.0
4
+ version: 3.0.1
5
5
  platform: x86-mingw32
6
6
  authors:
7
7
  - The Ruby-GNOME2 Project Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-10 00:00:00.000000000 Z
11
+ date: 2015-09-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: glib2
@@ -16,98 +16,98 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 3.0.0
19
+ version: 3.0.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.0.0
26
+ version: 3.0.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: gio2
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 3.0.0
33
+ version: 3.0.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.0.0
40
+ version: 3.0.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: atk
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 3.0.0
47
+ version: 3.0.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.0.0
54
+ version: 3.0.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pango
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 3.0.0
61
+ version: 3.0.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.0.0
68
+ version: 3.0.1
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: gdk_pixbuf2
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 3.0.0
75
+ version: 3.0.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.0.0
82
+ version: 3.0.1
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: gdk3
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: 3.0.0
89
+ version: 3.0.1
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - '='
95
95
  - !ruby/object:Gem::Version
96
- version: 3.0.0
96
+ version: 3.0.1
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: gobject-introspection
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - '='
102
102
  - !ruby/object:Gem::Version
103
- version: 3.0.0
103
+ version: 3.0.1
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - '='
109
109
  - !ruby/object:Gem::Version
110
- version: 3.0.0
110
+ version: 3.0.1
111
111
  description: Ruby/GTK3 is a Ruby binding of GTK+-3.x.
112
112
  email: ruby-gnome2-devel-en@lists.sourceforge.net
113
113
  executables: []
@@ -393,6 +393,13 @@ files:
393
393
  - sample/tutorial/exampleapp8/org.gtk.exampleapp.gschema.xml
394
394
  - sample/tutorial/exampleapp8/prefs.ui
395
395
  - sample/tutorial/exampleapp8/window.ui
396
+ - sample/tutorial/exampleapp9/app-menu.ui
397
+ - sample/tutorial/exampleapp9/exampleapp.gresource.xml
398
+ - sample/tutorial/exampleapp9/exampleapp.rb
399
+ - sample/tutorial/exampleapp9/gears-menu.ui
400
+ - sample/tutorial/exampleapp9/org.gtk.exampleapp.gschema.xml
401
+ - sample/tutorial/exampleapp9/prefs.ui
402
+ - sample/tutorial/exampleapp9/window.ui
396
403
  - test/fixture/Rakefile
397
404
  - test/fixture/gnome-logo-icon.png
398
405
  - test/fixture/image.gresource