From: Kouhei S. <nu...@co...> - 2017-12-12 14:58:20
|
Kouhei Sutou 2017-12-12 23:58:02 +0900 (Tue, 12 Dec 2017) New Revision: dc1d186e220f8ac5368b6f02e4bf5475fe665a91 https://github.com/ruby-gnome2/ruby-gnome2/commit/dc1d186e220f8ac5368b6f02e4bf5475fe665a91 Message: Merge pull request #1120 from cedlemo/gtk3_sample_gtk_demo_shortcuts_rb Gtk3 sample gtk demo shortcuts rb Patch by cedlemo. Thanks!!! |
From: cedlemo <nu...@co...> - 2017-12-12 14:58:20
|
cedlemo 2017-12-12 23:38:09 +0900 (Tue, 12 Dec 2017) New Revision: 436e15f07d90a1ab6a6fc712d53f42073022a8d7 https://github.com/ruby-gnome2/ruby-gnome2/commit/436e15f07d90a1ab6a6fc712d53f42073022a8d7 Merged dc1d186: Merge pull request #1120 from cedlemo/gtk3_sample_gtk_demo_shortcuts_rb Message: Adapt the ui file to ruby In C , the property object="window1" is used to define the argument for the handler of the signal. In this ruby demo, the window1 element is stored in the window instance variable. Modified files: gtk3/sample/gtk-demo/shortcuts.ui Modified: gtk3/sample/gtk-demo/shortcuts.ui (+7 -7) =================================================================== --- gtk3/sample/gtk-demo/shortcuts.ui 2017-12-12 23:38:01 +0900 (cb64e1e65) +++ gtk3/sample/gtk-demo/shortcuts.ui 2017-12-12 23:38:09 +0900 (5d638ab29) @@ -14,49 +14,49 @@ <object class="GtkButton"> <property name="visible">1</property> <property name="label">Builder</property> - <signal name="clicked" handler="builder_shortcuts" swapped="1" object="window1"/> + <signal name="clicked" handler="builder_shortcuts" swapped="1"/> </object> </child> <child> <object class="GtkButton"> <property name="visible">1</property> <property name="label">GEdit</property> - <signal name="clicked" handler="gedit_shortcuts" swapped="1" object="window1"/> + <signal name="clicked" handler="gedit_shortcuts" swapped="1"/> </object> </child> <child> <object class="GtkButton"> <property name="visible">1</property> <property name="label">Clocks - All</property> - <signal name="clicked" handler="clocks_shortcuts" swapped="1" object="window1"/> + <signal name="clicked" handler="clocks_shortcuts" swapped="1"/> </object> </child> <child> <object class="GtkButton"> <property name="visible">1</property> <property name="label">Clocks - Stopwatch</property> - <signal name="clicked" handler="clocks_shortcuts_stopwatch" swapped="1" object="window1"/> + <signal name="clicked" handler="clocks_shortcuts_stopwatch" swapped="1"/> </object> </child> <child> <object class="GtkButton"> <property name="visible">1</property> <property name="label">Boxes</property> - <signal name="clicked" handler="boxes_shortcuts" swapped="1" object="window1"/> + <signal name="clicked" handler="boxes_shortcuts" swapped="1"/> </object> </child> <child> <object class="GtkButton"> <property name="visible">1</property> <property name="label">Boxes - Wizard</property> - <signal name="clicked" handler="boxes_shortcuts_wizard" swapped="1" object="window1"/> + <signal name="clicked" handler="boxes_shortcuts_wizard" swapped="1"/> </object> </child> <child> <object class="GtkButton"> <property name="visible">1</property> <property name="label">Boxes - Display</property> - <signal name="clicked" handler="boxes_shortcuts_display" swapped="1" object="window1"/> + <signal name="clicked" handler="boxes_shortcuts_display" swapped="1"/> </object> </child> </object> |
From: cedlemo <nu...@co...> - 2017-12-12 14:58:20
|
cedlemo 2017-12-12 23:41:27 +0900 (Tue, 12 Dec 2017) New Revision: f9ce162280a27513065d157ed6c1bbd74c04a2d6 https://github.com/ruby-gnome2/ruby-gnome2/commit/f9ce162280a27513065d157ed6c1bbd74c04a2d6 Merged dc1d186: Merge pull request #1120 from cedlemo/gtk3_sample_gtk_demo_shortcuts_rb Message: Update the gtk-demo TODO file Modified files: gtk3/sample/gtk-demo/TODO Modified: gtk3/sample/gtk-demo/TODO (+1 -1) =================================================================== --- gtk3/sample/gtk-demo/TODO 2017-12-12 23:38:09 +0900 (f06bbd1d5) +++ gtk3/sample/gtk-demo/TODO 2017-12-12 23:41:27 +0900 (ec5c281ed) @@ -61,6 +61,7 @@ fishbowl.c ok ok flowbox.c ok ok tree_store.c ok ok toolpalette.c ok ok +shortcuts.c ok ok Remains : @@ -68,7 +69,6 @@ application.c no no changedisplay.c ok no foreigndrawing no no gestures.c no no -shortcuts.c no no # Ruby version Check all the ruby demos that doesn't correspond to a C version. |
From: cedlemo <nu...@co...> - 2017-12-12 14:58:22
|
cedlemo 2017-12-12 23:38:01 +0900 (Tue, 12 Dec 2017) New Revision: 6449c3e2791a081c1eb300d04d22ed3909a30f49 https://github.com/ruby-gnome2/ruby-gnome2/commit/6449c3e2791a081c1eb300d04d22ed3909a30f49 Merged dc1d186: Merge pull request #1120 from cedlemo/gtk3_sample_gtk_demo_shortcuts_rb Message: Add Gtk shortcuts demo Added files: gtk3/sample/gtk-demo/shortcuts.rb Added: gtk3/sample/gtk-demo/shortcuts.rb (+110 -0) 100644 =================================================================== --- /dev/null +++ gtk3/sample/gtk-demo/shortcuts.rb 2017-12-12 23:38:01 +0900 (bdd416c71) @@ -0,0 +1,110 @@ +# Copyright (c) 2017 Ruby-GNOME2 Project Team +# This program is licenced under the same licence as Ruby-GNOME2. +# +=begin += Shortcuts Window + + GtkShortcutsWindow is a window that provides a help overlay + for shortcuts and gestures in an application. +=end +class ShortcutsDemo + def initialize(main_window) + @icons_added = false + unless @icons_added + theme = Gtk::IconTheme.default + theme.add_resource_path("/icons") + @icons_added = true + end + + ui = "/shortcuts/shortcuts.ui" + @builder = Gtk::Builder.new(:resource => ui) + builder_add_callback_symbols + @builder.connect_signals {} + + @window = @builder["window1"] + @window.screen = main_window.screen + end + + def run + if !@window.visible? + @window.show_all + else + @window.destroy + end + @window + end + + private + + def builder_add_callback_symbols + @builder.connect_signals do |name| + case name + when "builder_shortcuts" + builder_shortcuts + when "gedit_shortcuts" + gedit_shortcuts + when "clocks_shortcuts" + clocks_shortcuts + when "clocks_shortcuts_stopwatch" + clocks_shortcuts_stopwatch + when "boxes_shortcuts" + boxes_shortcuts + when "boxes_shortcuts_wizard" + boxes_shortcuts_wizard + when "boxes_shortcuts_display" + boxes_shortcuts_display + end + end + end + + def show_shortcuts(id, view) + path = "/shortcuts/#{id}.ui" + builder = Gtk::Builder.new(:resource => path) + overlay = builder[id] + overlay.set_transient_for(@window) + overlay.view_name = view if view + overlay.show + end + + def builder_shortcuts + proc do + show_shortcuts("shortcuts-builder", nil) + end + end + + def gedit_shortcuts + proc do + show_shortcuts("shortcuts-gedit", nil) + end + end + + def clocks_shortcuts + proc do + show_shortcuts("shortcuts-clocks", nil) + end + end + + def clocks_shortcuts_stopwatch + proc do + show_shortcuts("shortcuts-clocks", "stopwatch") + end + end + + def boxes_shortcuts + proc do + show_shortcuts("shortcuts-boxes", nil) + end + end + + def boxes_shortcuts_wizard + proc do + show_shortcuts("shortcuts-boxes", "wizard") + end + end + + def boxes_shortcuts_display + proc do + show_shortcuts("shortcuts-boxes", "display") + end + end +end |