hashi-ruby 1.0.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 +7 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/blank.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/check-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/check-mixed-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/check-mixed.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/check.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/grid-selection-blank.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/grid-selection.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-checked-hover.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-checked-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-checked.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-mixed-hover.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-mixed-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-mixed.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-radio-checked-hover.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-radio-checked-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-radio-checked.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/pane-separator-grip-vertical.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/pane-separator-grip.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/radio-checked.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/radio-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/radio-unchecked.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/radio.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-insensitive-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-insensitive@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-insensitive-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-insensitive@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-insensitive-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-insensitive-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-insensitive@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-insensitive-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-insensitive@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-insensitive-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-insensitive@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/gnome-applications.css +429 -0
- data/bin/assets/FlatColor/gtk-3.20/gtk-widgets.css +786 -0
- data/bin/assets/FlatColor/gtk-3.20/gtk.css +113 -0
- data/bin/assets/FlatColor/gtk-3.20/gtk.css.base +108 -0
- data/bin/assets/FlatColor/gtk-3.20/settings.ini +7 -0
- data/bin/assets/FlatColor/gtk-3.20/unity.css +68 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/button.css +58 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/calendar.css +32 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/cell-row.css +25 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/check-radio.css +164 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/chrome.css +16 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/color-chooser.css +114 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/column-header.css +52 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/combobox.css +26 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/csd.css +125 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/entry.css +40 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/header-bar.css +27 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/infobar.css +90 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/linked-buttons.css +524 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/menu.css +127 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/notebook.css +200 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/osd.css +203 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/progress-scale.css +365 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/scrollbar.css +116 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/selection-mode.css +109 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/separator.css +24 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/sidebar.css +43 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/spinbutton.css +102 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/spinner.css +120 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/switch.css +63 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/toolbar.css +39 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selectionmode-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selectionmode-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selectionmode.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selectionmode@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-selectionmode-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-selectionmode-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-selectionmode.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-selectionmode@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-header-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-header-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-header.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-header@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-header-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-header-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-header.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-header@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-header-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-header-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-header.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-header@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-header-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-header-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-header.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-header@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-header-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-header-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-header.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-header@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-header-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-header-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-header.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-header@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-active-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-active-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-active.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-active@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-backdrop-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-backdrop-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-backdrop.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-backdrop@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-hover-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-hover-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-hover.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-hover@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-active-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-active-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-active.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-active@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-backdrop-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-backdrop-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-backdrop.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-backdrop@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-hover-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-hover-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-hover.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-hover@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-active-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-active-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-active.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-active@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-backdrop-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-backdrop-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-backdrop.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-backdrop@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-hover-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-hover-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-hover.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-hover@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-active-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-active-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-active.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-active@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-backdrop-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-backdrop-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-backdrop.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-backdrop@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-hover-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-hover-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-hover.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-hover@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/gtk-dark.css +10090 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/gtk.css +10100 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/thumbnail.png +0 -0
- data/bin/assets/Matcha-dark-aliz/index.theme +12 -0
- data/bin/assets/didacticiel/1.jpg +0 -0
- data/bin/assets/didacticiel/2.jpg +0 -0
- data/bin/assets/didacticiel/3.jpg +0 -0
- data/bin/assets/didacticiel/4.jpg +0 -0
- data/bin/assets/didacticiel/5.jpg +0 -0
- data/bin/assets/didacticiel/6.jpg +0 -0
- data/bin/assets/didacticiel/7.jpg +0 -0
- data/bin/assets/didacticiel/8.jpg +0 -0
- data/bin/assets/map.png +0 -0
- data/bin/db/Difficulte.rb +9 -0
- data/bin/db/GestionBase.rb +334 -0
- data/bin/db/GrilleDb.rb +15 -0
- data/bin/db/Joue.rb +10 -0
- data/bin/db/Joueur.rb +9 -0
- data/bin/db/Migration.rb +70 -0
- data/bin/db/Mode.rb +9 -0
- data/bin/db/PhrasesAventure.rb +4 -0
- data/bin/db/TestBase.rb +144 -0
- data/bin/db/base.sqlite +0 -0
- data/bin/hashi +5 -0
- data/bin/src/Action.rb +46 -0
- data/bin/src/Aides.rb +41 -0
- data/bin/src/Case.rb +410 -0
- data/bin/src/Grille.rb +914 -0
- data/bin/src/Grilles/grilles_site.txt +30 -0
- data/bin/src/Grilles/grilles_site_difficile.txt +90 -0
- data/bin/src/Grilles/grilles_site_facile.txt +90 -0
- data/bin/src/Grilles/grilles_site_moyen.txt +90 -0
- data/bin/src/Grilles/grilles_site_ser.txt +0 -0
- data/bin/src/Grilles/grilles_site_ser_difficile.txt +90 -0
- data/bin/src/Grilles/grilles_site_ser_facile.txt +90 -0
- data/bin/src/Grilles/grilles_site_ser_moyen.txt +90 -0
- data/bin/src/Hashi.rb +214 -0
- data/bin/src/Lien.rb +57 -0
- data/bin/src/Pile.rb +41 -0
- data/bin/src/Rakefile.rb +6 -0
- data/bin/src/SerGrille.rb +430 -0
- data/bin/src/Test.rb +24 -0
- data/bin/src/Test2.rb +135 -0
- data/bin/src/Utilitaire.rb +12 -0
- data/bin/src/testSerGrille.rb +21 -0
- data/bin/src/ui/AfficheurGrille.rb +385 -0
- data/bin/src/ui/AfficheurJeu.rb +209 -0
- data/bin/src/ui/AfficheurSelection.rb +38 -0
- data/bin/src/ui/Afrique.rb +38 -0
- data/bin/src/ui/AmeriqueNord.rb +38 -0
- data/bin/src/ui/AmeriqueSud.rb +38 -0
- data/bin/src/ui/Antarctique.rb +32 -0
- data/bin/src/ui/Asie.rb +38 -0
- data/bin/src/ui/Aventure.rb +132 -0
- data/bin/src/ui/Carte.rb +282 -0
- data/bin/src/ui/ChargementAventure.rb +61 -0
- data/bin/src/ui/Classement.rb +42 -0
- data/bin/src/ui/Connexion.rb +60 -0
- data/bin/src/ui/Didacticiel.rb +169 -0
- data/bin/src/ui/Etiquette.rb +24 -0
- data/bin/src/ui/Europe.rb +38 -0
- data/bin/src/ui/ListeClassement.rb +44 -0
- data/bin/src/ui/Menu.rb +74 -0
- data/bin/src/ui/Monde.rb +167 -0
- data/bin/src/ui/Oceanie.rb +38 -0
- data/bin/src/ui/SelecteurGrille.rb +58 -0
- data/bin/src/ui/SelectionDifficulte.rb +38 -0
- data/bin/src/ui/SelectionUtilisateur.rb +46 -0
- data/bin/src/ui/Timer.rb +29 -0
- metadata +479 -0
@@ -0,0 +1,38 @@
|
|
1
|
+
require "gtk3"
|
2
|
+
require_relative "Carte"
|
3
|
+
require_relative "Etiquette"
|
4
|
+
|
5
|
+
# Widget Gtk affichant l'amerique du sud
|
6
|
+
class AmeriqueSud < Carte
|
7
|
+
|
8
|
+
# @factZoom => Facteur de zoom
|
9
|
+
# @dX => Décalage de l'affichage en x
|
10
|
+
# @dY => Décalage de l'affichage en y
|
11
|
+
|
12
|
+
# Constructeur
|
13
|
+
#
|
14
|
+
# === Paramètres
|
15
|
+
#
|
16
|
+
# * +carte+ - Carte principale
|
17
|
+
def initialize(carte)
|
18
|
+
super(carte)
|
19
|
+
@dX = -1570
|
20
|
+
@dY = -2270
|
21
|
+
@factZoom = 1.2
|
22
|
+
|
23
|
+
@g = carte.grillesF
|
24
|
+
|
25
|
+
self.dessinerEtiquettes()
|
26
|
+
end
|
27
|
+
|
28
|
+
def dessinerEtiquettes()
|
29
|
+
ajouterEtiquette(Etiquette.new(1450, 2000, 90, 30, @carte.etoiles[0][7], @g[7]))
|
30
|
+
ajouterEtiquette(Etiquette.new(1400, 2100, 90, 30, @carte.etoiles[0][8], @g[8]))
|
31
|
+
ajouterEtiquette(Etiquette.new(1650, 2230, 90, 30, @carte.etoiles[0][9], @g[9]))
|
32
|
+
ajouterEtiquette(Etiquette.new(1500, 2380, 90, 30, @carte.etoiles[0][10], @g[10]))
|
33
|
+
ajouterEtiquette(Etiquette.new(1400, 2580, 90, 30, @carte.etoiles[0][11], @g[11]))
|
34
|
+
ajouterEtiquette(Etiquette.new(1450, 2250, 90, 30, @carte.etoiles[0][12], @g[12]))
|
35
|
+
ajouterEtiquette(Etiquette.new(1700, 2100, 90, 30, @carte.etoiles[0][13], @g[13]))
|
36
|
+
super()
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require "gtk3"
|
2
|
+
require_relative "Carte"
|
3
|
+
require_relative "Etiquette"
|
4
|
+
|
5
|
+
# Widget Gtk affichant l'afrique
|
6
|
+
class Antarctique < Carte
|
7
|
+
|
8
|
+
# @factZoom => Facteur de zoom
|
9
|
+
# @dX => Décalage de l'affichage en x
|
10
|
+
# @dY => Décalage de l'affichage en y
|
11
|
+
|
12
|
+
# Constructeur
|
13
|
+
#
|
14
|
+
# === Paramètres
|
15
|
+
#
|
16
|
+
# * +carte+ - Carte principale
|
17
|
+
def initialize(carte)
|
18
|
+
super(carte)
|
19
|
+
@dX = -2450
|
20
|
+
@dY = -3250
|
21
|
+
@factZoom = 1.6
|
22
|
+
|
23
|
+
@g = carte.grillesD
|
24
|
+
|
25
|
+
self.dessinerEtiquettes()
|
26
|
+
end
|
27
|
+
|
28
|
+
def dessinerEtiquettes()
|
29
|
+
ajouterEtiquette(Etiquette.new(2450, 3250, 90, 30, @carte.etoiles[2][8], @g[8]))
|
30
|
+
super()
|
31
|
+
end
|
32
|
+
end
|
data/bin/src/ui/Asie.rb
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
require "gtk3"
|
2
|
+
require_relative "Carte"
|
3
|
+
require_relative "Etiquette"
|
4
|
+
|
5
|
+
# Widget Gtk affichant l'asie
|
6
|
+
class Asie < Carte
|
7
|
+
|
8
|
+
# @factZoom => Facteur de zoom
|
9
|
+
# @dX => Décalage de l'affichage en x
|
10
|
+
# @dY => Décalage de l'affichage en y
|
11
|
+
|
12
|
+
# Constructeur
|
13
|
+
#
|
14
|
+
# === Paramètres
|
15
|
+
#
|
16
|
+
# * +carte+ - Carte principale
|
17
|
+
def initialize(carte)
|
18
|
+
super(carte)
|
19
|
+
@dX = -3450
|
20
|
+
@dY = -1700
|
21
|
+
@factZoom = 1.3
|
22
|
+
|
23
|
+
@g = carte.grillesM
|
24
|
+
|
25
|
+
self.dessinerEtiquettes()
|
26
|
+
end
|
27
|
+
|
28
|
+
def dessinerEtiquettes()
|
29
|
+
ajouterEtiquette(Etiquette.new(3700, 1600, 90, 30, @carte.etoiles[1][7], @g[7]))
|
30
|
+
ajouterEtiquette(Etiquette.new(3200, 1570, 90, 30, @carte.etoiles[1][8], @g[8]))
|
31
|
+
ajouterEtiquette(Etiquette.new(3500, 1700, 90, 30, @carte.etoiles[1][9], @g[9]))
|
32
|
+
ajouterEtiquette(Etiquette.new(3100, 1800, 90, 30, @carte.etoiles[1][10], @g[10]))
|
33
|
+
ajouterEtiquette(Etiquette.new(3340, 1860, 90, 30, @carte.etoiles[1][11], @g[11]))
|
34
|
+
ajouterEtiquette(Etiquette.new(3500, 1500, 90, 30, @carte.etoiles[1][12], @g[12]))
|
35
|
+
ajouterEtiquette(Etiquette.new(3500, 2000, 90, 30, @carte.etoiles[1][13], @g[13]))
|
36
|
+
super()
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,132 @@
|
|
1
|
+
require "gtk3"
|
2
|
+
|
3
|
+
require_relative "Monde"
|
4
|
+
require_relative "Europe"
|
5
|
+
require_relative "Afrique"
|
6
|
+
require_relative "Asie"
|
7
|
+
require_relative "Oceanie"
|
8
|
+
require_relative "AmeriqueNord"
|
9
|
+
require_relative "AmeriqueSud"
|
10
|
+
require_relative "Antarctique"
|
11
|
+
|
12
|
+
# Widget Gtk permettant d'afficher l'aventure
|
13
|
+
class Aventure < Gtk::Overlay
|
14
|
+
|
15
|
+
attr_reader :grillesF, :grillesM, :grillesD
|
16
|
+
|
17
|
+
attr_accessor :nbEtoiles
|
18
|
+
|
19
|
+
attr_accessor :etoiles
|
20
|
+
|
21
|
+
# Constructeur
|
22
|
+
#
|
23
|
+
# === Paramètres
|
24
|
+
#
|
25
|
+
# * +fenetre+ - Fenetre principale
|
26
|
+
def initialize(fenetre)
|
27
|
+
super()
|
28
|
+
@stack = Gtk::Stack.new()
|
29
|
+
@stack.set_transition_type(Gtk::Stack::TransitionType::CROSSFADE)
|
30
|
+
@stack.set_transition_duration(500)
|
31
|
+
@fenetre = fenetre
|
32
|
+
|
33
|
+
@grillesF = GestionBase.recupGrilles(fenetre.joueur.id, 1, 3, 0, 14)
|
34
|
+
#@grillesF = @grillesF.map() { |x| YAML.load(x.grilleSolution) }
|
35
|
+
@grillesM = GestionBase.recupGrilles(fenetre.joueur.id, 2, 3, 0, 14)
|
36
|
+
#@grillesM = @grillesM.map() { |x| YAML.load(x.grilleSolution) }
|
37
|
+
@grillesD = GestionBase.recupGrilles(fenetre.joueur.id, 3, 3, 0, 15)
|
38
|
+
#@grillesD = @grillesD.map() { |x| YAML.load(x.grilleSolution) }
|
39
|
+
|
40
|
+
self.calculNbEtoiles()
|
41
|
+
|
42
|
+
@monde = Monde.new(self)
|
43
|
+
@europe = Europe.new(self)
|
44
|
+
@afrique = Afrique.new(self)
|
45
|
+
@asie = Asie.new(self)
|
46
|
+
@oceanie = Oceanie.new(self)
|
47
|
+
@ameriqueNord = AmeriqueNord.new(self)
|
48
|
+
@ameriqueSud = AmeriqueSud.new(self)
|
49
|
+
@antarctique = Antarctique.new(self)
|
50
|
+
@stack.add_named(@monde, "monde")
|
51
|
+
@stack.add_named(@europe, "europe")
|
52
|
+
@stack.add_named(@afrique, "afrique")
|
53
|
+
@stack.add_named(@asie, "asie")
|
54
|
+
@stack.add_named(@oceanie, "oceanie")
|
55
|
+
@stack.add_named(@ameriqueNord, "ameriqueNord")
|
56
|
+
@stack.add_named(@ameriqueSud, "ameriqueSud")
|
57
|
+
@stack.add_named(@antarctique, "antarctique")
|
58
|
+
@dernier = @stack.visible_child_name()
|
59
|
+
|
60
|
+
@stack.halign = :start
|
61
|
+
@stack.valign = :start
|
62
|
+
@stack.expand = true
|
63
|
+
self.add_overlay(@stack)
|
64
|
+
@bouton = Gtk::Button.new(label: "Retour")
|
65
|
+
@bouton.halign = :start
|
66
|
+
@bouton.valign = :end
|
67
|
+
@bouton.signal_connect("clicked") do
|
68
|
+
if @stack.visible_child == @monde
|
69
|
+
self.quitter()
|
70
|
+
else
|
71
|
+
self.retour()
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
self.add_overlay(@bouton)
|
76
|
+
@stack.show_all()
|
77
|
+
self.show_all()
|
78
|
+
end
|
79
|
+
|
80
|
+
def calculNbEtoiles()
|
81
|
+
@nbEtoiles = 0
|
82
|
+
@etoiles = []
|
83
|
+
[@grillesF, @grillesM, @grillesD].each() do |d|
|
84
|
+
ed = []
|
85
|
+
d.each() do |g|
|
86
|
+
e = GestionBase.recupScore(@fenetre.joueur.id, g) / (g.scoreMax/4)
|
87
|
+
e = e > 3 ? 3 : (e < 0 ? 0 : e)
|
88
|
+
ed.push(e)
|
89
|
+
@nbEtoiles += e
|
90
|
+
end
|
91
|
+
@etoiles.push(ed)
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
# Fonction appellé par le monde après le choix du continent
|
96
|
+
def choix(continent)
|
97
|
+
@stack.set_visible_child_name(continent)
|
98
|
+
end
|
99
|
+
|
100
|
+
# Lancement d'une grille
|
101
|
+
def lancer(g)
|
102
|
+
@dernier = @stack.visible_child_name()
|
103
|
+
|
104
|
+
@stack.add_named(AfficheurJeu.new(g, self, "aventure"), "grille")
|
105
|
+
self.show_all()
|
106
|
+
@stack.set_visible_child_name("grille")
|
107
|
+
end
|
108
|
+
|
109
|
+
# Fin d'une grille
|
110
|
+
def finJeu()
|
111
|
+
g = @stack.visible_child()
|
112
|
+
self.calculNbEtoiles()
|
113
|
+
@stack.set_visible_child(@dernier)
|
114
|
+
@stack.visible_child.refresh()
|
115
|
+
@stack.remove_child(g)
|
116
|
+
end
|
117
|
+
|
118
|
+
# Fonction appellé les continents pour revenir au monde
|
119
|
+
def retour()
|
120
|
+
@stack.set_visible_child(@monde)
|
121
|
+
@stack.visible_child.refresh()
|
122
|
+
end
|
123
|
+
|
124
|
+
# Retour au menu principal
|
125
|
+
def quitter()
|
126
|
+
@fenetre.finAventure()
|
127
|
+
end
|
128
|
+
|
129
|
+
def joueur()
|
130
|
+
@fenetre.joueur
|
131
|
+
end
|
132
|
+
end
|
data/bin/src/ui/Carte.rb
ADDED
@@ -0,0 +1,282 @@
|
|
1
|
+
require "gtk3"
|
2
|
+
require_relative "Etiquette"
|
3
|
+
|
4
|
+
# Widget Gtk ABSTRAIT permettant d'afficher la carte
|
5
|
+
class Carte < Gtk::DrawingArea
|
6
|
+
|
7
|
+
# Deux systèmes de positions sont utilisés dans le code:
|
8
|
+
#
|
9
|
+
# => Les positions "virtuelles" (vX, vY) qui correspondent aux coordonnées
|
10
|
+
# sur l'image
|
11
|
+
#
|
12
|
+
# => Les positions "réelles" (x, y) qui correspondent aux positions sur
|
13
|
+
# la fenêtre (en pixels) et qui changent en fonction de la résolution de l'écran
|
14
|
+
#
|
15
|
+
# Les méthodes getX, getY, getVX, getVY sont là pour passer entre ces deux systèmes
|
16
|
+
|
17
|
+
# @image => Carte du monde
|
18
|
+
# @ic => Contexte de dessin de la carte du monde
|
19
|
+
# @zoom => Zoom une fois affichée
|
20
|
+
# @factZoom => Facteur de zoom
|
21
|
+
# @dX => Décalage de l'affichage en x
|
22
|
+
# @dY => Décalage de l'affichage en y
|
23
|
+
|
24
|
+
# Constructeur
|
25
|
+
#
|
26
|
+
# === Paramètres
|
27
|
+
#
|
28
|
+
# * +carte+ - carte principale
|
29
|
+
def initialize(carte)
|
30
|
+
super()
|
31
|
+
@etiquettes = []
|
32
|
+
@carte = carte
|
33
|
+
@id = @carte.joueur.id
|
34
|
+
self.signal_connect("draw") { |widget, cr| draw(cr) }
|
35
|
+
self.signal_connect("button-press-event") { |widget, event| mouseClick(event); self.queue_draw(); }
|
36
|
+
self.events = :all_events_mask
|
37
|
+
@image = Cairo::ImageSurface.from_png("../assets/map.png")
|
38
|
+
@ic = Cairo::Context.new(@image)
|
39
|
+
end
|
40
|
+
|
41
|
+
def refresh()
|
42
|
+
@image = Cairo::ImageSurface.from_png("../assets/map.png")
|
43
|
+
@ic = Cairo::Context.new(@image)
|
44
|
+
self.dessinerEtiquettes()
|
45
|
+
self.queue_draw()
|
46
|
+
end
|
47
|
+
|
48
|
+
# Largeur écran en pixels
|
49
|
+
#
|
50
|
+
# === Retour
|
51
|
+
#
|
52
|
+
# Retourne le nombre de pixels en largeur affichés à l'écran
|
53
|
+
def width()
|
54
|
+
return self.allocation.width()
|
55
|
+
end
|
56
|
+
|
57
|
+
# Hauteur écran en pixels
|
58
|
+
#
|
59
|
+
# === Retour
|
60
|
+
#
|
61
|
+
# Retourne le nombre de pixels en hauteur affichés à l'écran
|
62
|
+
def height()
|
63
|
+
return self.allocation.height()
|
64
|
+
end
|
65
|
+
|
66
|
+
# Conversion x en vX
|
67
|
+
#
|
68
|
+
# === Paramètres
|
69
|
+
#
|
70
|
+
# * +x+ => Position réelle en x à convertir
|
71
|
+
#
|
72
|
+
# === Retour
|
73
|
+
#
|
74
|
+
# Retourne la position virtuelle en x correspondante
|
75
|
+
def getVX(x)
|
76
|
+
return -@dX+(x-width/2)/@zoom
|
77
|
+
end
|
78
|
+
|
79
|
+
# Conversion y en vY
|
80
|
+
#
|
81
|
+
# === Paramètres
|
82
|
+
#
|
83
|
+
# * +y+ => Position réelle en y à convertir
|
84
|
+
#
|
85
|
+
# === Retour
|
86
|
+
#
|
87
|
+
# Retourne la position virtuelle en y correspondante
|
88
|
+
def getVY(y)
|
89
|
+
#return y-@dY-height/2
|
90
|
+
return -@dY+(y-height/2)/@zoom
|
91
|
+
end
|
92
|
+
|
93
|
+
# Dessin de la carte
|
94
|
+
#
|
95
|
+
# === Paramètres
|
96
|
+
#
|
97
|
+
# * +cr+ => Contexte sur lequel dessiner
|
98
|
+
def draw(cr)
|
99
|
+
#ic.rectangle(0, 0, 1000, 1000)
|
100
|
+
#ic.fill()
|
101
|
+
#@zoom = @factZoom * width / height / 2
|
102
|
+
self.set_size_request(@carte.allocation.width, @carte.allocation.height)
|
103
|
+
if height*1.3 > width
|
104
|
+
@zoom = @factZoom * (width / 5000.0) * 2.5
|
105
|
+
else
|
106
|
+
@zoom = @factZoom * (height / 2000.0) * 1.5
|
107
|
+
end
|
108
|
+
cr.scale(@zoom, @zoom)
|
109
|
+
cr.set_source(@image, (@dX + width/2/@zoom), (@dY + height/2/@zoom))
|
110
|
+
cr.paint()
|
111
|
+
end
|
112
|
+
|
113
|
+
# Dessin d'un rectangle
|
114
|
+
#
|
115
|
+
# === Paramètres
|
116
|
+
#
|
117
|
+
# * +x+ - Position en x du rectangle
|
118
|
+
# * +y+ - Position en y du rectangle
|
119
|
+
# * +w+ - Largeur du rectangle
|
120
|
+
# * +h+ - Hauteur du rectangle
|
121
|
+
def drawRectangle(x, y, w, h, c)
|
122
|
+
radius = h / 10.0
|
123
|
+
degrees = Math::PI / 180.0;
|
124
|
+
|
125
|
+
@ic.new_sub_path()
|
126
|
+
@ic.arc(x + w - radius, y + radius, radius, -90 * degrees, 0 * degrees)
|
127
|
+
@ic.arc(x + w - radius, y + h - radius, radius, 0 * degrees, 90 * degrees)
|
128
|
+
@ic.arc(x + radius, y + h - radius, radius, 90 * degrees, 180 * degrees)
|
129
|
+
@ic.arc(x + radius, y + radius, radius, 180 * degrees, 270 * degrees)
|
130
|
+
@ic.close_path()
|
131
|
+
|
132
|
+
if c == false
|
133
|
+
@ic.set_source_rgba(0.1328125, 0.1328125, 0.1328125, 0.5)
|
134
|
+
@ic.fill_preserve()
|
135
|
+
@ic.set_source_rgb(0.9375, 0.328125, 0.296875)
|
136
|
+
@ic.set_line_width(2.0)
|
137
|
+
@ic.stroke()
|
138
|
+
else
|
139
|
+
@ic.set_source_rgba(0.1328125, 0.1328125, 0.1328125, 0.5)
|
140
|
+
@ic.fill_preserve()
|
141
|
+
@ic.set_source_rgb(0, 0, 0)
|
142
|
+
@ic.set_line_width(2.0)
|
143
|
+
@ic.stroke()
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
# Dessin d'un rectangle vide
|
148
|
+
#
|
149
|
+
# === Paramètres
|
150
|
+
#
|
151
|
+
# * +x+ - Position en x du rectangle
|
152
|
+
# * +y+ - Position en y du rectangle
|
153
|
+
# * +w+ - Largeur du rectangle
|
154
|
+
# * +h+ - Hauteur du rectangle
|
155
|
+
# * +c+ - Couleurs inversées ou non
|
156
|
+
def drawRectangleVide(x, y, w, h, c)
|
157
|
+
radius = h / 10.0
|
158
|
+
degrees = Math::PI / 180.0;
|
159
|
+
|
160
|
+
@ic.new_sub_path()
|
161
|
+
@ic.arc(x + w - radius, y + radius, radius, -90 * degrees, 0 * degrees)
|
162
|
+
@ic.arc(x + w - radius, y + h - radius, radius, 0 * degrees, 90 * degrees)
|
163
|
+
@ic.arc(x + radius, y + h - radius, radius, 90 * degrees, 180 * degrees)
|
164
|
+
@ic.arc(x + radius, y + radius, radius, 180 * degrees, 270 * degrees)
|
165
|
+
@ic.close_path()
|
166
|
+
|
167
|
+
if c == false
|
168
|
+
@ic.set_source_rgba(0.1328125, 0.1328125, 0.1328125, 0.5)
|
169
|
+
@ic.fill_preserve()
|
170
|
+
@ic.set_source_rgb(0.9375, 0.328125, 0.296875)
|
171
|
+
@ic.set_line_width(10.0)
|
172
|
+
@ic.stroke()
|
173
|
+
else
|
174
|
+
@ic.set_source_rgba(0.1328125, 0.1328125, 0.1328125, 0.5)
|
175
|
+
@ic.fill_preserve()
|
176
|
+
@ic.set_source_rgb(0, 0, 0)
|
177
|
+
@ic.set_line_width(10.0)
|
178
|
+
@ic.stroke()
|
179
|
+
end
|
180
|
+
end
|
181
|
+
|
182
|
+
# Dessin d'une étoile
|
183
|
+
#
|
184
|
+
# === Paramètres
|
185
|
+
#
|
186
|
+
# * +x+ - Position en x de l'étoile
|
187
|
+
# * +y+ - Position en y de l'étoile
|
188
|
+
# * +s+ - Taille de l'étoile
|
189
|
+
# * +c+ - Couleur de l'étoile
|
190
|
+
def drawEtoile(x, y, s, c)
|
191
|
+
@ic.new_sub_path()
|
192
|
+
@ic.move_to(x + s/2, y-2)
|
193
|
+
@ic.line_to(x + s/5, y + s)
|
194
|
+
@ic.line_to(x + s, y + 2*s/5)
|
195
|
+
@ic.line_to(x, y + 2*s/5)
|
196
|
+
@ic.line_to(x + 4*s/5, y + s)
|
197
|
+
@ic.line_to(x + s/2, y)
|
198
|
+
@ic.set_source_rgb(0, 0, 0)
|
199
|
+
@ic.set_line_width(1.0)
|
200
|
+
@ic.stroke_preserve()
|
201
|
+
@ic.set_source_rgb(c)
|
202
|
+
@ic.fill()
|
203
|
+
end
|
204
|
+
|
205
|
+
# Dessin d'une etiquette
|
206
|
+
#
|
207
|
+
# === Paramètres
|
208
|
+
#
|
209
|
+
# * +e+ - Etiquette à dessiner
|
210
|
+
def drawEtiquette(e)
|
211
|
+
drawRectangle(e.x, e.y, e.w, e.h, e.s > 1)
|
212
|
+
3.times() do |i|
|
213
|
+
i < e.s ? c = [0.9375, 0.328125, 0.296875] : c = [0.5,0.5,0.5]
|
214
|
+
drawEtoile(e.x + e.h*i + 4, e.y + 4, e.h - 8, c)
|
215
|
+
end
|
216
|
+
end
|
217
|
+
|
218
|
+
# Ajout d'une etiquette
|
219
|
+
#
|
220
|
+
# === Paramètres
|
221
|
+
#
|
222
|
+
# * +e+ - Etiquette à ajouter
|
223
|
+
def ajouterEtiquette(e)
|
224
|
+
@etiquettes.append(e)
|
225
|
+
end
|
226
|
+
|
227
|
+
# Dessin des étiquettes
|
228
|
+
def dessinerEtiquettes()
|
229
|
+
@etiquettes.each() { |x| drawEtiquette(x) }
|
230
|
+
end
|
231
|
+
|
232
|
+
# Affichage de texte
|
233
|
+
#
|
234
|
+
# === Paramètres
|
235
|
+
#
|
236
|
+
# * +x+ - Coordonnée en x
|
237
|
+
# * +y+ - Coordonnée en y
|
238
|
+
# * +t+ - Texte à afficher
|
239
|
+
def drawTexte(x, y, t)
|
240
|
+
@ic.set_font_size(70)
|
241
|
+
@ic.text_extents(t)
|
242
|
+
|
243
|
+
@ic.move_to(x - @ic.text_extents(t).width/2, y + @ic.text_extents(t).height/2)
|
244
|
+
@ic.show_text(t)
|
245
|
+
end
|
246
|
+
|
247
|
+
# Clic sur la souris
|
248
|
+
#
|
249
|
+
# === Paramètres
|
250
|
+
#
|
251
|
+
# * +event+ => Evenement Gtk contenant les informations sur le clic
|
252
|
+
def mouseClick(event)
|
253
|
+
#puts(event.x, event.y)
|
254
|
+
#puts(getVX(event.x), getVY(event.y))
|
255
|
+
x = getVX(event.x)
|
256
|
+
y = getVY(event.y)
|
257
|
+
@etiquettes.each() do |e|
|
258
|
+
if x > e.x && y > e.y && x < (e.x + e.w) && y < (e.y + e.h)
|
259
|
+
etoiles = GestionBase.recupScore(@id, e.g) / (e.g.scoreMax/4)
|
260
|
+
etoiles = etoiles > 3 ? 3 : (etoiles < 0 ? 0 : etoiles)
|
261
|
+
if etoiles < 2
|
262
|
+
if GestionBase.grilleTerminee?(@id, e.g)
|
263
|
+
d = Gtk::MessageDialog.new(:buttons => :ok_cancel)
|
264
|
+
d.text = "Votre progression sur cette grille sera effacée si vous la rejouez"
|
265
|
+
d.message_type = :question
|
266
|
+
r = d.run == :ok
|
267
|
+
d.destroy
|
268
|
+
if r == true
|
269
|
+
grille2 = YAML.load(e.g.grilleSolution)
|
270
|
+
grille = Grille.creer(grille2.tabCase, grille2.hauteur, grille2.largeur, grille2)
|
271
|
+
e.g.grilleSolution = YAML.dump(grille)
|
272
|
+
@carte.lancer(e.g)
|
273
|
+
end
|
274
|
+
else
|
275
|
+
@carte.lancer(e.g)
|
276
|
+
end
|
277
|
+
end
|
278
|
+
return nil
|
279
|
+
end
|
280
|
+
end
|
281
|
+
end
|
282
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
require "gtk3"
|
2
|
+
|
3
|
+
# Widget s'affichant pendant le chargement du mode aventure
|
4
|
+
class ChargementAventure < Gtk::Box
|
5
|
+
|
6
|
+
# Constructeur
|
7
|
+
#
|
8
|
+
# === Paramètres
|
9
|
+
#
|
10
|
+
# * +fenetre+ - Fenetre principale
|
11
|
+
def initialize(fenetre)
|
12
|
+
super(Gtk::Orientation.new(1), 0)
|
13
|
+
|
14
|
+
self.margin = 15
|
15
|
+
|
16
|
+
view = Gtk::TextView.new()
|
17
|
+
view.buffer.text =
|
18
|
+
"
|
19
|
+
Histoire :
|
20
|
+
|
21
|
+
Vous êtes dans la peau d’un grand architecte qui a pour projet de relier tous les
|
22
|
+
continents entre eux. Mais votre tâche ne sera pas si simple: les ponts seront de
|
23
|
+
plus en plus compliqués à construire. Prenez votre courage à deux mains et reliez
|
24
|
+
tous ces continents pour faciliter les déplacements à travers le monde.
|
25
|
+
|
26
|
+
En avant !
|
27
|
+
|
28
|
+
|
29
|
+
Objectifs :
|
30
|
+
|
31
|
+
- Débloquer tous les continents jusqu'à atteindre l'Antarctique
|
32
|
+
- Les continents se débloquent en fonction de votre nombre d'étoiles
|
33
|
+
- Gagner des étoiles en jouant les niveaux présents sur les continents
|
34
|
+
- Chaque niveau peut rapporter jusqu'à 3 étoiles
|
35
|
+
|
36
|
+
Déplacements :
|
37
|
+
|
38
|
+
- Cliquez sur un continent débloqué pour vous y déplacer
|
39
|
+
- Cliquez sur l'étiquette d'un niveau (rectangle avec le nombre d'étoiles) pour le jouer
|
40
|
+
- Cliquez sur le bouton retour pour revenir en arrière"
|
41
|
+
view.sensitive = false
|
42
|
+
|
43
|
+
scroll = Gtk::ScrolledWindow.new()
|
44
|
+
scroll.set_policy(:never, :automatic)
|
45
|
+
scroll.expand = true
|
46
|
+
scroll.add(view)
|
47
|
+
|
48
|
+
@bouton = Gtk::Button.new(label: "Chargement en cours ...")
|
49
|
+
@bouton.sensitive = false
|
50
|
+
@bouton.signal_connect("clicked") { fenetre.finChargement() }
|
51
|
+
@bouton.margin_top = 10
|
52
|
+
|
53
|
+
self.add(scroll)
|
54
|
+
self.add(@bouton)
|
55
|
+
end
|
56
|
+
|
57
|
+
def activer()
|
58
|
+
@bouton.label = "Ouvrir la carte du monde"
|
59
|
+
@bouton.sensitive = true
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require "gtk3"
|
2
|
+
require_relative "ListeClassement"
|
3
|
+
|
4
|
+
# Widget affichant le classement
|
5
|
+
class Classement < Gtk::Box
|
6
|
+
|
7
|
+
# Constructeur
|
8
|
+
#
|
9
|
+
# === Paramètres
|
10
|
+
#
|
11
|
+
# * +fenetre+ - Fenetre principale
|
12
|
+
def initialize(fenetre)
|
13
|
+
super(Gtk::Orientation.new(1), 0)
|
14
|
+
|
15
|
+
self.margin = 15
|
16
|
+
|
17
|
+
|
18
|
+
stack = Gtk::Stack.new()
|
19
|
+
switcher = Gtk::StackSwitcher.new()
|
20
|
+
switcher.stack = stack
|
21
|
+
stack.add_titled(ListeClassement.new(1), "Facile", "Facile")
|
22
|
+
stack.add_titled(ListeClassement.new(2), "Moyen", "Moyen")
|
23
|
+
stack.add_titled(ListeClassement.new(3), "Difficile", "Difficile")
|
24
|
+
stack.margin_top = 15
|
25
|
+
|
26
|
+
bouton = Gtk::Button.new(label: "Retour")
|
27
|
+
bouton.signal_connect("clicked") { fenetre.finClassement() }
|
28
|
+
|
29
|
+
boxHorizontale = Gtk::Box.new(Gtk::Orientation.new(0), 0)
|
30
|
+
lab = Gtk::Label.new("")
|
31
|
+
boxHorizontale.add(lab)
|
32
|
+
lab.hexpand = true
|
33
|
+
boxHorizontale.add(switcher)
|
34
|
+
lab = Gtk::Label.new("")
|
35
|
+
boxHorizontale.add(lab)
|
36
|
+
lab.hexpand = true
|
37
|
+
|
38
|
+
self.add(boxHorizontale)
|
39
|
+
self.add(stack)
|
40
|
+
self.add(bouton)
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require "gtk3"
|
2
|
+
require_relative "SelectionUtilisateur"
|
3
|
+
|
4
|
+
# Widget de connexion
|
5
|
+
class Connexion < Gtk::Box
|
6
|
+
|
7
|
+
# Constructeur
|
8
|
+
#
|
9
|
+
# === Paramètres
|
10
|
+
#
|
11
|
+
# * +fenetre+ - Fenetre principale
|
12
|
+
def initialize(fenetre)
|
13
|
+
super(Gtk::Orientation.new(1), 0)
|
14
|
+
|
15
|
+
self.margin = 15
|
16
|
+
|
17
|
+
boxHorizontale = Gtk::Box.new(Gtk::Orientation.new(0), 0)
|
18
|
+
stack = Gtk::Stack.new()
|
19
|
+
switcher = Gtk::StackSwitcher.new()
|
20
|
+
switcher.stack = stack
|
21
|
+
#.set_size_request(5000, 50)
|
22
|
+
lab = Gtk::Label.new("")
|
23
|
+
boxHorizontale.add(lab)
|
24
|
+
lab.hexpand = true
|
25
|
+
boxHorizontale.add(switcher)
|
26
|
+
lab = Gtk::Label.new("")
|
27
|
+
boxHorizontale.add(lab)
|
28
|
+
lab.hexpand = true
|
29
|
+
#boxHorizontale.set_homogeneous(true)
|
30
|
+
boxHorizontale.set_hexpand(true)
|
31
|
+
|
32
|
+
connexion = Gtk::Box.new(Gtk::Orientation.new(1), 0)
|
33
|
+
connexion.add(SelectionUtilisateur.new(fenetre))
|
34
|
+
|
35
|
+
inscription = Gtk::Box.new(Gtk::Orientation.new(1), 0)
|
36
|
+
c = Gtk::Label.new("Nom d'utilisateur :")
|
37
|
+
c.margin_top = 20
|
38
|
+
inscription.add(c)
|
39
|
+
e = Gtk::Entry.new()
|
40
|
+
e.margin_top = 20
|
41
|
+
inscription.add(e)
|
42
|
+
c = Gtk::Button.new(label: "Valider")
|
43
|
+
c.signal_connect("clicked") { |widget| fenetre.inscription(e.text) }
|
44
|
+
c.margin_top = 20
|
45
|
+
#stack.hexpand = false
|
46
|
+
inscription.add(c)
|
47
|
+
|
48
|
+
stack.add_titled(connexion, "Se connecter", "Se connecter")
|
49
|
+
stack.add_titled(inscription, "Creer un compte", "Créer un compte")
|
50
|
+
stack.margin_top = 15
|
51
|
+
stack.vexpand = true
|
52
|
+
|
53
|
+
bouton = Gtk::Button.new(label: "Quitter")
|
54
|
+
bouton.signal_connect("clicked") { |widget| Gtk.main_quit() }
|
55
|
+
|
56
|
+
self.add(boxHorizontale)
|
57
|
+
self.add(stack)
|
58
|
+
self.add(bouton)
|
59
|
+
end
|
60
|
+
end
|