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.
Files changed (368) hide show
  1. checksums.yaml +7 -0
  2. data/bin/assets/FlatColor/gtk-3.20/assets/blank.png +0 -0
  3. data/bin/assets/FlatColor/gtk-3.20/assets/check-insensitive.png +0 -0
  4. data/bin/assets/FlatColor/gtk-3.20/assets/check-mixed-insensitive.png +0 -0
  5. data/bin/assets/FlatColor/gtk-3.20/assets/check-mixed.png +0 -0
  6. data/bin/assets/FlatColor/gtk-3.20/assets/check.png +0 -0
  7. data/bin/assets/FlatColor/gtk-3.20/assets/grid-selection-blank.png +0 -0
  8. data/bin/assets/FlatColor/gtk-3.20/assets/grid-selection.png +0 -0
  9. data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-checked-hover.png +0 -0
  10. data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-checked-insensitive.png +0 -0
  11. data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-checked.png +0 -0
  12. data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-mixed-hover.png +0 -0
  13. data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-mixed-insensitive.png +0 -0
  14. data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-mixed.png +0 -0
  15. data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-radio-checked-hover.png +0 -0
  16. data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-radio-checked-insensitive.png +0 -0
  17. data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-radio-checked.png +0 -0
  18. data/bin/assets/FlatColor/gtk-3.20/assets/pane-separator-grip-vertical.png +0 -0
  19. data/bin/assets/FlatColor/gtk-3.20/assets/pane-separator-grip.png +0 -0
  20. data/bin/assets/FlatColor/gtk-3.20/assets/radio-checked.png +0 -0
  21. data/bin/assets/FlatColor/gtk-3.20/assets/radio-insensitive.png +0 -0
  22. data/bin/assets/FlatColor/gtk-3.20/assets/radio-unchecked.png +0 -0
  23. data/bin/assets/FlatColor/gtk-3.20/assets/radio.png +0 -0
  24. data/bin/assets/FlatColor/gtk-3.20/assets/slider-dark.png +0 -0
  25. data/bin/assets/FlatColor/gtk-3.20/assets/slider-dark@2.png +0 -0
  26. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-dark.png +0 -0
  27. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-dark@2.png +0 -0
  28. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-insensitive-dark.png +0 -0
  29. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png +0 -0
  30. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-insensitive.png +0 -0
  31. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-insensitive@2.png +0 -0
  32. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above.png +0 -0
  33. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above@2.png +0 -0
  34. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-dark.png +0 -0
  35. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-dark@2.png +0 -0
  36. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-insensitive-dark.png +0 -0
  37. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png +0 -0
  38. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-insensitive.png +0 -0
  39. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-insensitive@2.png +0 -0
  40. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below.png +0 -0
  41. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below@2.png +0 -0
  42. data/bin/assets/FlatColor/gtk-3.20/assets/slider-insensitive-dark.png +0 -0
  43. data/bin/assets/FlatColor/gtk-3.20/assets/slider-insensitive-dark@2.png +0 -0
  44. data/bin/assets/FlatColor/gtk-3.20/assets/slider-insensitive.png +0 -0
  45. data/bin/assets/FlatColor/gtk-3.20/assets/slider-insensitive@2.png +0 -0
  46. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-dark.png +0 -0
  47. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-dark@2.png +0 -0
  48. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-insensitive-dark.png +0 -0
  49. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png +0 -0
  50. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-insensitive.png +0 -0
  51. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-insensitive@2.png +0 -0
  52. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above.png +0 -0
  53. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above@2.png +0 -0
  54. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-dark.png +0 -0
  55. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-dark@2.png +0 -0
  56. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-insensitive-dark.png +0 -0
  57. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png +0 -0
  58. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-insensitive.png +0 -0
  59. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-insensitive@2.png +0 -0
  60. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below.png +0 -0
  61. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below@2.png +0 -0
  62. data/bin/assets/FlatColor/gtk-3.20/assets/slider.png +0 -0
  63. data/bin/assets/FlatColor/gtk-3.20/assets/slider@2.png +0 -0
  64. data/bin/assets/FlatColor/gtk-3.20/gnome-applications.css +429 -0
  65. data/bin/assets/FlatColor/gtk-3.20/gtk-widgets.css +786 -0
  66. data/bin/assets/FlatColor/gtk-3.20/gtk.css +113 -0
  67. data/bin/assets/FlatColor/gtk-3.20/gtk.css.base +108 -0
  68. data/bin/assets/FlatColor/gtk-3.20/settings.ini +7 -0
  69. data/bin/assets/FlatColor/gtk-3.20/unity.css +68 -0
  70. data/bin/assets/FlatColor/gtk-3.20/widgets/button.css +58 -0
  71. data/bin/assets/FlatColor/gtk-3.20/widgets/calendar.css +32 -0
  72. data/bin/assets/FlatColor/gtk-3.20/widgets/cell-row.css +25 -0
  73. data/bin/assets/FlatColor/gtk-3.20/widgets/check-radio.css +164 -0
  74. data/bin/assets/FlatColor/gtk-3.20/widgets/chrome.css +16 -0
  75. data/bin/assets/FlatColor/gtk-3.20/widgets/color-chooser.css +114 -0
  76. data/bin/assets/FlatColor/gtk-3.20/widgets/column-header.css +52 -0
  77. data/bin/assets/FlatColor/gtk-3.20/widgets/combobox.css +26 -0
  78. data/bin/assets/FlatColor/gtk-3.20/widgets/csd.css +125 -0
  79. data/bin/assets/FlatColor/gtk-3.20/widgets/entry.css +40 -0
  80. data/bin/assets/FlatColor/gtk-3.20/widgets/header-bar.css +27 -0
  81. data/bin/assets/FlatColor/gtk-3.20/widgets/infobar.css +90 -0
  82. data/bin/assets/FlatColor/gtk-3.20/widgets/linked-buttons.css +524 -0
  83. data/bin/assets/FlatColor/gtk-3.20/widgets/menu.css +127 -0
  84. data/bin/assets/FlatColor/gtk-3.20/widgets/notebook.css +200 -0
  85. data/bin/assets/FlatColor/gtk-3.20/widgets/osd.css +203 -0
  86. data/bin/assets/FlatColor/gtk-3.20/widgets/progress-scale.css +365 -0
  87. data/bin/assets/FlatColor/gtk-3.20/widgets/scrollbar.css +116 -0
  88. data/bin/assets/FlatColor/gtk-3.20/widgets/selection-mode.css +109 -0
  89. data/bin/assets/FlatColor/gtk-3.20/widgets/separator.css +24 -0
  90. data/bin/assets/FlatColor/gtk-3.20/widgets/sidebar.css +43 -0
  91. data/bin/assets/FlatColor/gtk-3.20/widgets/spinbutton.css +102 -0
  92. data/bin/assets/FlatColor/gtk-3.20/widgets/spinner.css +120 -0
  93. data/bin/assets/FlatColor/gtk-3.20/widgets/switch.css +63 -0
  94. data/bin/assets/FlatColor/gtk-3.20/widgets/toolbar.css +39 -0
  95. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-dark.png +0 -0
  96. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-dark@2.png +0 -0
  97. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive-dark.png +0 -0
  98. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive-dark@2.png +0 -0
  99. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive-selected.png +0 -0
  100. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive-selected@2.png +0 -0
  101. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive.png +0 -0
  102. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive@2.png +0 -0
  103. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selected.png +0 -0
  104. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selected@2.png +0 -0
  105. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selectionmode-dark.png +0 -0
  106. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selectionmode-dark@2.png +0 -0
  107. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selectionmode.png +0 -0
  108. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selectionmode@2.png +0 -0
  109. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked.png +0 -0
  110. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked@2.png +0 -0
  111. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-dark.png +0 -0
  112. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-dark@2.png +0 -0
  113. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive-dark.png +0 -0
  114. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive-dark@2.png +0 -0
  115. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive-selected.png +0 -0
  116. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive-selected@2.png +0 -0
  117. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive.png +0 -0
  118. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive@2.png +0 -0
  119. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-selected.png +0 -0
  120. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-selected@2.png +0 -0
  121. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed.png +0 -0
  122. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed@2.png +0 -0
  123. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-selectionmode-dark.png +0 -0
  124. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-selectionmode-dark@2.png +0 -0
  125. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-selectionmode.png +0 -0
  126. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-selectionmode@2.png +0 -0
  127. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-dark.png +0 -0
  128. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-dark@2.png +0 -0
  129. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive-dark.png +0 -0
  130. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive-dark@2.png +0 -0
  131. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive-selected.png +0 -0
  132. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive-selected@2.png +0 -0
  133. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive.png +0 -0
  134. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive@2.png +0 -0
  135. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-selected.png +0 -0
  136. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-selected@2.png +0 -0
  137. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked.png +0 -0
  138. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked@2.png +0 -0
  139. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-dark.png +0 -0
  140. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-dark@2.png +0 -0
  141. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive-dark.png +0 -0
  142. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive-dark@2.png +0 -0
  143. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive-selected.png +0 -0
  144. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive-selected@2.png +0 -0
  145. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive.png +0 -0
  146. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive@2.png +0 -0
  147. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-selected.png +0 -0
  148. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-selected@2.png +0 -0
  149. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked.png +0 -0
  150. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked@2.png +0 -0
  151. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-dark.png +0 -0
  152. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-dark@2.png +0 -0
  153. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive-dark.png +0 -0
  154. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive-dark@2.png +0 -0
  155. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive-selected.png +0 -0
  156. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive-selected@2.png +0 -0
  157. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive.png +0 -0
  158. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive@2.png +0 -0
  159. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-selected.png +0 -0
  160. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-selected@2.png +0 -0
  161. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed.png +0 -0
  162. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed@2.png +0 -0
  163. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-dark.png +0 -0
  164. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-dark@2.png +0 -0
  165. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive-dark.png +0 -0
  166. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive-dark@2.png +0 -0
  167. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive-selected.png +0 -0
  168. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive-selected@2.png +0 -0
  169. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive.png +0 -0
  170. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive@2.png +0 -0
  171. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-selected.png +0 -0
  172. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-selected@2.png +0 -0
  173. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked.png +0 -0
  174. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked@2.png +0 -0
  175. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-dark.png +0 -0
  176. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-dark@2.png +0 -0
  177. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-header-dark.png +0 -0
  178. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-header-dark@2.png +0 -0
  179. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-header.png +0 -0
  180. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-header@2.png +0 -0
  181. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-dark.png +0 -0
  182. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-dark@2.png +0 -0
  183. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-header-dark.png +0 -0
  184. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-header-dark@2.png +0 -0
  185. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-header.png +0 -0
  186. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-header@2.png +0 -0
  187. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-selected.png +0 -0
  188. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-selected@2.png +0 -0
  189. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover.png +0 -0
  190. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover@2.png +0 -0
  191. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-dark.png +0 -0
  192. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-dark@2.png +0 -0
  193. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-header-dark.png +0 -0
  194. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-header-dark@2.png +0 -0
  195. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-header.png +0 -0
  196. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-header@2.png +0 -0
  197. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-selected.png +0 -0
  198. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-selected@2.png +0 -0
  199. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive.png +0 -0
  200. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive@2.png +0 -0
  201. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-selected.png +0 -0
  202. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-selected@2.png +0 -0
  203. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active.png +0 -0
  204. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active@2.png +0 -0
  205. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-dark.png +0 -0
  206. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-dark@2.png +0 -0
  207. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-header-dark.png +0 -0
  208. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-header-dark@2.png +0 -0
  209. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-header.png +0 -0
  210. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-header@2.png +0 -0
  211. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-dark.png +0 -0
  212. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-dark@2.png +0 -0
  213. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-header-dark.png +0 -0
  214. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-header-dark@2.png +0 -0
  215. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-header.png +0 -0
  216. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-header@2.png +0 -0
  217. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-selected.png +0 -0
  218. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-selected@2.png +0 -0
  219. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover.png +0 -0
  220. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover@2.png +0 -0
  221. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-dark.png +0 -0
  222. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-dark@2.png +0 -0
  223. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-header-dark.png +0 -0
  224. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-header-dark@2.png +0 -0
  225. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-header.png +0 -0
  226. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-header@2.png +0 -0
  227. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-selected.png +0 -0
  228. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-selected@2.png +0 -0
  229. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive.png +0 -0
  230. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive@2.png +0 -0
  231. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-selected.png +0 -0
  232. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-selected@2.png +0 -0
  233. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch.png +0 -0
  234. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch@2.png +0 -0
  235. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-active-dark.png +0 -0
  236. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-active-dark@2.png +0 -0
  237. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-active.png +0 -0
  238. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-active@2.png +0 -0
  239. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-backdrop-dark.png +0 -0
  240. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-backdrop-dark@2.png +0 -0
  241. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-backdrop.png +0 -0
  242. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-backdrop@2.png +0 -0
  243. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-dark.png +0 -0
  244. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-dark@2.png +0 -0
  245. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-hover-dark.png +0 -0
  246. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-hover-dark@2.png +0 -0
  247. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-hover.png +0 -0
  248. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-hover@2.png +0 -0
  249. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close.png +0 -0
  250. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close@2.png +0 -0
  251. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-active-dark.png +0 -0
  252. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-active-dark@2.png +0 -0
  253. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-active.png +0 -0
  254. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-active@2.png +0 -0
  255. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-backdrop-dark.png +0 -0
  256. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-backdrop-dark@2.png +0 -0
  257. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-backdrop.png +0 -0
  258. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-backdrop@2.png +0 -0
  259. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-dark.png +0 -0
  260. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-dark@2.png +0 -0
  261. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-hover-dark.png +0 -0
  262. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-hover-dark@2.png +0 -0
  263. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-hover.png +0 -0
  264. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-hover@2.png +0 -0
  265. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize.png +0 -0
  266. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize@2.png +0 -0
  267. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-active-dark.png +0 -0
  268. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-active-dark@2.png +0 -0
  269. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-active.png +0 -0
  270. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-active@2.png +0 -0
  271. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-backdrop-dark.png +0 -0
  272. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-backdrop-dark@2.png +0 -0
  273. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-backdrop.png +0 -0
  274. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-backdrop@2.png +0 -0
  275. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-dark.png +0 -0
  276. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-dark@2.png +0 -0
  277. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-hover-dark.png +0 -0
  278. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-hover-dark@2.png +0 -0
  279. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-hover.png +0 -0
  280. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-hover@2.png +0 -0
  281. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize.png +0 -0
  282. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize@2.png +0 -0
  283. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-active-dark.png +0 -0
  284. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-active-dark@2.png +0 -0
  285. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-active.png +0 -0
  286. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-active@2.png +0 -0
  287. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-backdrop-dark.png +0 -0
  288. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-backdrop-dark@2.png +0 -0
  289. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-backdrop.png +0 -0
  290. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-backdrop@2.png +0 -0
  291. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-dark.png +0 -0
  292. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-dark@2.png +0 -0
  293. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-hover-dark.png +0 -0
  294. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-hover-dark@2.png +0 -0
  295. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-hover.png +0 -0
  296. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-hover@2.png +0 -0
  297. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore.png +0 -0
  298. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore@2.png +0 -0
  299. data/bin/assets/Matcha-dark-aliz/gtk-3.0/gtk-dark.css +10090 -0
  300. data/bin/assets/Matcha-dark-aliz/gtk-3.0/gtk.css +10100 -0
  301. data/bin/assets/Matcha-dark-aliz/gtk-3.0/thumbnail.png +0 -0
  302. data/bin/assets/Matcha-dark-aliz/index.theme +12 -0
  303. data/bin/assets/didacticiel/1.jpg +0 -0
  304. data/bin/assets/didacticiel/2.jpg +0 -0
  305. data/bin/assets/didacticiel/3.jpg +0 -0
  306. data/bin/assets/didacticiel/4.jpg +0 -0
  307. data/bin/assets/didacticiel/5.jpg +0 -0
  308. data/bin/assets/didacticiel/6.jpg +0 -0
  309. data/bin/assets/didacticiel/7.jpg +0 -0
  310. data/bin/assets/didacticiel/8.jpg +0 -0
  311. data/bin/assets/map.png +0 -0
  312. data/bin/db/Difficulte.rb +9 -0
  313. data/bin/db/GestionBase.rb +334 -0
  314. data/bin/db/GrilleDb.rb +15 -0
  315. data/bin/db/Joue.rb +10 -0
  316. data/bin/db/Joueur.rb +9 -0
  317. data/bin/db/Migration.rb +70 -0
  318. data/bin/db/Mode.rb +9 -0
  319. data/bin/db/PhrasesAventure.rb +4 -0
  320. data/bin/db/TestBase.rb +144 -0
  321. data/bin/db/base.sqlite +0 -0
  322. data/bin/hashi +5 -0
  323. data/bin/src/Action.rb +46 -0
  324. data/bin/src/Aides.rb +41 -0
  325. data/bin/src/Case.rb +410 -0
  326. data/bin/src/Grille.rb +914 -0
  327. data/bin/src/Grilles/grilles_site.txt +30 -0
  328. data/bin/src/Grilles/grilles_site_difficile.txt +90 -0
  329. data/bin/src/Grilles/grilles_site_facile.txt +90 -0
  330. data/bin/src/Grilles/grilles_site_moyen.txt +90 -0
  331. data/bin/src/Grilles/grilles_site_ser.txt +0 -0
  332. data/bin/src/Grilles/grilles_site_ser_difficile.txt +90 -0
  333. data/bin/src/Grilles/grilles_site_ser_facile.txt +90 -0
  334. data/bin/src/Grilles/grilles_site_ser_moyen.txt +90 -0
  335. data/bin/src/Hashi.rb +214 -0
  336. data/bin/src/Lien.rb +57 -0
  337. data/bin/src/Pile.rb +41 -0
  338. data/bin/src/Rakefile.rb +6 -0
  339. data/bin/src/SerGrille.rb +430 -0
  340. data/bin/src/Test.rb +24 -0
  341. data/bin/src/Test2.rb +135 -0
  342. data/bin/src/Utilitaire.rb +12 -0
  343. data/bin/src/testSerGrille.rb +21 -0
  344. data/bin/src/ui/AfficheurGrille.rb +385 -0
  345. data/bin/src/ui/AfficheurJeu.rb +209 -0
  346. data/bin/src/ui/AfficheurSelection.rb +38 -0
  347. data/bin/src/ui/Afrique.rb +38 -0
  348. data/bin/src/ui/AmeriqueNord.rb +38 -0
  349. data/bin/src/ui/AmeriqueSud.rb +38 -0
  350. data/bin/src/ui/Antarctique.rb +32 -0
  351. data/bin/src/ui/Asie.rb +38 -0
  352. data/bin/src/ui/Aventure.rb +132 -0
  353. data/bin/src/ui/Carte.rb +282 -0
  354. data/bin/src/ui/ChargementAventure.rb +61 -0
  355. data/bin/src/ui/Classement.rb +42 -0
  356. data/bin/src/ui/Connexion.rb +60 -0
  357. data/bin/src/ui/Didacticiel.rb +169 -0
  358. data/bin/src/ui/Etiquette.rb +24 -0
  359. data/bin/src/ui/Europe.rb +38 -0
  360. data/bin/src/ui/ListeClassement.rb +44 -0
  361. data/bin/src/ui/Menu.rb +74 -0
  362. data/bin/src/ui/Monde.rb +167 -0
  363. data/bin/src/ui/Oceanie.rb +38 -0
  364. data/bin/src/ui/SelecteurGrille.rb +58 -0
  365. data/bin/src/ui/SelectionDifficulte.rb +38 -0
  366. data/bin/src/ui/SelectionUtilisateur.rb +46 -0
  367. data/bin/src/ui/Timer.rb +29 -0
  368. metadata +479 -0
@@ -0,0 +1,169 @@
1
+ require "gtk3"
2
+
3
+ # Fenetre comportant les règles du jeu, les techniques basiques
4
+ # et des explications sur l'interface
5
+ class Didacticiel < Gtk::Window
6
+
7
+ # Constructeur
8
+ def initialize()
9
+ super("Didacticiel")
10
+ self.set_default_size(700, 700)
11
+ self.signal_connect('destroy') { self.close() }
12
+
13
+ vbox = Gtk::Box.new(Gtk::Orientation.new(1), 0)
14
+
15
+ vbox.margin = 15
16
+
17
+ view = Gtk::TextView.new()
18
+ view.wrap_mode = :word
19
+ view1 = Gtk::TextView.new()
20
+ view1.wrap_mode = :word
21
+ view2 = Gtk::TextView.new()
22
+ view2.wrap_mode = :word
23
+ view3 = Gtk::TextView.new()
24
+ view3.wrap_mode = :word
25
+ view4 = Gtk::TextView.new()
26
+ view4.wrap_mode = :word
27
+ view5 = Gtk::TextView.new()
28
+ view5.wrap_mode = :word
29
+ view6 = Gtk::TextView.new()
30
+ view6.wrap_mode = :word
31
+ view7 = Gtk::TextView.new()
32
+ view7.wrap_mode = :word
33
+ view8 = Gtk::TextView.new()
34
+ view8.wrap_mode = :word
35
+ view.buffer.text =
36
+ "
37
+ Règles :
38
+
39
+ Tout pont débute et finit sur une case.
40
+ Aucun pont ne peut en croiser un autre.
41
+ Tous les ponts sont en ligne droite.
42
+ Le nombre de ponts qui passent sur une case est le nombre indiqué sur la dite case.
43
+ Toutes les cases doivent être reliées entre elles.
44
+ Le nombre de ponts en direction de chaque case ne peut pas être supérieur à 2.
45
+
46
+ Techniques :
47
+
48
+ Une case 1 ayant un seul voisin doit forcément être reliée à ce voisin avec un pont.
49
+ "
50
+
51
+ view1.buffer.text =
52
+ "
53
+ Une case 2 ayant un seul voisin doit forcément relier 2 ponts à ce voisin.
54
+ "
55
+
56
+ view2.buffer.text =
57
+ "
58
+ Une case 3 ayant exactement 2 voisins doit avoir au moins un pont relié vers chaque (car s'il y avait 2 ponts vers un des voisin, il resterait un dernier pont à faire vers le second voisin).
59
+ "
60
+
61
+ view3.buffer.text =
62
+ "
63
+ Une case 4 ayant exactement 2 voisins doit forcément relier 2 ponts à chaque voisin (car la limite de pont vers un voisin est de 2 et il y a 2 voisins, ce qui fait 4 ponts au total).
64
+ "
65
+
66
+ view4.buffer.text =
67
+ "
68
+ Une case 5 ayant exactement 3 voisins doit avoir au moins un pont relié vers chaque voisin (car s'il devait y avoir 2 ponts vers 2 voisins, il resterait un dernier pont à relier au dernier voisin).
69
+ "
70
+
71
+ view5.buffer.text =
72
+ "
73
+ Une case 6 ayant exactement 3 voisins doit forcément relier 2 ponts à chaque voisin (car la limite de pont vers un voisin est de 2 et il y a 3 voisins, ce qui fait 6 ponts au total)
74
+ "
75
+
76
+ view6.buffer.text =
77
+ "
78
+ Une case 7 ayant exactement 4 voisins doit avoir au moins un pont relié vers chaque voisin (car s'il devait y avoir 2 ponts vers 3 voisins, il resterait un dernier pont à relier au dernier voisin).
79
+ "
80
+
81
+ view7.buffer.text =
82
+ "
83
+ Une case 8 ayant exactement 4 voisins doit forcément relier 2 ponts à chaque voisin (car la limite de pont vers un voisin est de 2 et il y a 4 voisins, ce qui fait 8 ponts au total)
84
+ "
85
+
86
+ view8.buffer.text =
87
+ "
88
+ Interface :
89
+
90
+ Les boutons :
91
+ Annuler : Permet de revenir un coup en arrière.
92
+ Refaire : Permet de rétablir le dernier coup annulé.
93
+ Vérification : Permet de revenir au dernier état de jeu sans erreur. Cependant, votre score en sera pénalisé en mode Classé et Aventure.
94
+ Hypothèse : Permet d'émettre des hypothèses de liens. Ces liens seront d'une couleur différente pour vous signifier que vous entrez dans ce mode. À la fin de votre hypothèse, vous aurez
95
+ le choix de la valider, ou bien de l'annuler afin de revenir à l'état du jeu avant l'hypothèse.
96
+ Réinitialiser : Supprime tous les liens dans la grille.
97
+ Position : Met une case en surbrillance (vert) où une technique connue est applicable.
98
+ Technique : Affiche dans la zone de texte une technique applicable sur l'une des cases de la grille, sans signifier laquelle.
99
+
100
+ Les clics sur :
101
+ Triangle : Crée un lien vers la case voisine dans la direction du triangle.
102
+ Case : Met en évidence (en rouge) tous les liens de l'île à laquelle appartient cette case.
103
+ Lien : Supprime ce lien.
104
+ "
105
+ view.sensitive = false
106
+ view1.sensitive = false
107
+ view2.sensitive = false
108
+ view3.sensitive = false
109
+ view4.sensitive = false
110
+ view5.sensitive = false
111
+ view6.sensitive = false
112
+ view7.sensitive = false
113
+ view8.sensitive = false
114
+ scroll = Gtk::ScrolledWindow.new()
115
+ image1 = Gtk::Image.new(:file => "../assets/didacticiel/1.jpg")
116
+ image2 = Gtk::Image.new(:file => "../assets/didacticiel/2.jpg")
117
+ image3 = Gtk::Image.new(:file => "../assets/didacticiel/3.jpg")
118
+ image4 = Gtk::Image.new(:file => "../assets/didacticiel/4.jpg")
119
+ image5 = Gtk::Image.new(:file => "../assets/didacticiel/5.jpg")
120
+ image6 = Gtk::Image.new(:file => "../assets/didacticiel/6.jpg")
121
+ image7 = Gtk::Image.new(:file => "../assets/didacticiel/7.jpg")
122
+ image8 = Gtk::Image.new(:file => "../assets/didacticiel/8.jpg")
123
+
124
+
125
+ vbox2 = Gtk::Box.new(Gtk::Orientation.new(1), 0)
126
+
127
+
128
+ vbox2.add(view)
129
+ vbox2.add(image1)
130
+
131
+ vbox2.add(view1)
132
+ vbox2.add(image2)
133
+
134
+ vbox2.add(view2)
135
+ vbox2.add(image3)
136
+
137
+ vbox2.add(view3)
138
+ vbox2.add(image4)
139
+
140
+ vbox2.add(view4)
141
+ vbox2.add(image5)
142
+
143
+ vbox2.add(view5)
144
+ vbox2.add(image6)
145
+
146
+ vbox2.add(view6)
147
+ vbox2.add(image7)
148
+
149
+ vbox2.add(view7)
150
+ vbox2.add(image8)
151
+
152
+ vbox2.add(view8)
153
+
154
+ scroll.add(vbox2)
155
+ scroll.set_policy(:never, :automatic)
156
+ scroll.vexpand = true
157
+
158
+ bouton = Gtk::Button.new(label: "Quitter")
159
+ bouton.signal_connect("clicked") { self.close() }
160
+ bouton.margin_top = 10
161
+
162
+ vbox.add(scroll)
163
+ vbox.add(bouton)
164
+
165
+ self.add(vbox)
166
+
167
+ self.show_all()
168
+ end
169
+ end
@@ -0,0 +1,24 @@
1
+ # Etiquette pour les différents niveaux en mode aventure
2
+ class Etiquette
3
+
4
+ attr_reader :x, :y, :w, :h, :s, :g
5
+
6
+ # Constructeur
7
+ #
8
+ # === Paramètres
9
+ #
10
+ # * +x+ - Position en x de l'étiquette
11
+ # * +y+ - Position en y de l'étiquette
12
+ # * +w+ - Largeur du rectangle
13
+ # * +h+ - Hauteur du rectangle
14
+ # * +s+ - Nombre d'étoiles
15
+ # * +g+ - Grille à jouer
16
+ def initialize(x, y, w, h, s, g)
17
+ @x = x
18
+ @y = y
19
+ @w = w
20
+ @h = h
21
+ @s = s
22
+ @g = g
23
+ end
24
+ end
@@ -0,0 +1,38 @@
1
+ require "gtk3"
2
+ require_relative "Carte"
3
+ require_relative "Etiquette"
4
+
5
+ # Widget Gtk affichant l'europe
6
+ class Europe < 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 = -2350
20
+ @dY = -1300
21
+ @factZoom = 1.5
22
+
23
+ @g = carte.grillesM
24
+
25
+ self.dessinerEtiquettes()
26
+ end
27
+
28
+ def dessinerEtiquettes()
29
+ ajouterEtiquette(Etiquette.new(2250, 1380, 90, 30, @carte.etoiles[1][0], @g[0]))
30
+ ajouterEtiquette(Etiquette.new(2170, 1320, 90, 30, @carte.etoiles[1][1], @g[1]))
31
+ ajouterEtiquette(Etiquette.new(2180, 1490, 90, 30, @carte.etoiles[1][2], @g[2]))
32
+ ajouterEtiquette(Etiquette.new(2340, 1160, 90, 30, @carte.etoiles[1][3], @g[3]))
33
+ ajouterEtiquette(Etiquette.new(2440, 1340, 90, 30, @carte.etoiles[1][4], @g[4]))
34
+ ajouterEtiquette(Etiquette.new(2400, 1500, 90, 30, @carte.etoiles[1][5], @g[5]))
35
+ ajouterEtiquette(Etiquette.new(2620, 1250, 90, 30, @carte.etoiles[1][6], @g[6]))
36
+ super()
37
+ end
38
+ end
@@ -0,0 +1,44 @@
1
+ require "gtk3"
2
+
3
+ class ListeClassement < Gtk::ScrolledWindow
4
+ # Constructeur
5
+ #
6
+ # === Paramètres
7
+ #
8
+ # * +difficulté+ - Niveau de difficulté (1 = facile, 2 = moyen, 3 = difficile)
9
+ def initialize(difficulté)
10
+ super()
11
+ self.set_policy(Gtk::PolicyType::NEVER, Gtk::PolicyType::AUTOMATIC)
12
+ self.expand = true
13
+
14
+ nbColonnes = 3
15
+ types = [Integer, String, Integer]
16
+ @store = Gtk::ListStore.new(*types)
17
+
18
+ joueurs = GestionBase.recupJoueurAll()
19
+
20
+ c = joueurs.map() do |x|
21
+ nb = GestionBase.recupNbGrillesJouees(x.id, difficulté)
22
+ score = nb > 0 ? GestionBase.recupScoreTotal(x.id, difficulté) / nb : 0
23
+ [x, score]
24
+ end
25
+ c = c.sort() { |a,b| b[1] <=> a[1] }
26
+
27
+ c.each_index() do |i|
28
+ iter = @store.append()
29
+ iter.set_values([i+1, c[i][0].pseudo, c[i][1]])
30
+ end
31
+
32
+ @tree = Gtk::TreeView.new(@store)
33
+ @tree.show_expanders = false
34
+
35
+ colonnes = ["Rang", "Nom d'utilisateur", "Score moyen"]
36
+ colonnes.each_index() do |i|
37
+ renderer = Gtk::CellRendererText.new()
38
+ colonne = Gtk::TreeViewColumn.new(colonnes[i], renderer, {:text => i})
39
+ colonne.expand = true
40
+ @tree.append_column(colonne)
41
+ end
42
+ self.add(@tree)
43
+ end
44
+ end
@@ -0,0 +1,74 @@
1
+ require "gtk3"
2
+
3
+ # Menu principal
4
+ class Menu < 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.spacing = 5
15
+
16
+ boxHorizontale = Gtk::Box.new(Gtk::Orientation.new(0), 0)
17
+ boxHorizontale.homogeneous = true
18
+ boxHorizontale.margin_top = 10
19
+ c = Gtk::Label.new("")
20
+ c.hexpand = true
21
+ boxHorizontale.add(c)
22
+ b = Gtk::Button.new(label: "Didacticiel")
23
+ b.signal_connect("clicked") { fenetre.finMenu("didacticiel") }
24
+ boxHorizontale.add(b)
25
+ c = Gtk::Label.new("")
26
+ c.hexpand = true
27
+ boxHorizontale.add(c)
28
+ b = Gtk::Button.new(label: "Classement")
29
+ b.signal_connect("clicked") { fenetre.finMenu("classement") }
30
+ boxHorizontale.add(b)
31
+ c = Gtk::Label.new("")
32
+ c.hexpand = true
33
+ boxHorizontale.add(c)
34
+ self.add(boxHorizontale)
35
+
36
+ l = Gtk::Label.new("")
37
+ l.expand = true
38
+ self.add(l)
39
+
40
+ b = Gtk::Button.new(label: "Entraînement")
41
+ b.signal_connect("clicked") { fenetre.finMenu("entrainement") }
42
+ self.add(b)
43
+ b = Gtk::Button.new(label: "Classé")
44
+ b.signal_connect("clicked") { fenetre.finMenu("classe") }
45
+ self.add(b)
46
+ b = Gtk::Button.new(label: "Aventure")
47
+ b.signal_connect("clicked") { fenetre.finMenu("aventure") }
48
+ self.add(b)
49
+
50
+ l = Gtk::Label.new("")
51
+ l.expand = true
52
+ self.add(l)
53
+
54
+ boxHorizontale = Gtk::Box.new(Gtk::Orientation.new(0), 0)
55
+ boxHorizontale.homogeneous = true
56
+ boxHorizontale.margin_bottom = 10
57
+ c = Gtk::Label.new("")
58
+ c.hexpand = true
59
+ boxHorizontale.add(c)
60
+ b = Gtk::Button.new(label: "Déconnexion")
61
+ b.signal_connect("clicked") { fenetre.finMenu("deconnexion") }
62
+ boxHorizontale.add(b)
63
+ c = Gtk::Label.new("")
64
+ c.hexpand = true
65
+ boxHorizontale.add(c)
66
+ b = Gtk::Button.new(label: "Quitter")
67
+ b.signal_connect("clicked") { fenetre.finMenu("quitter") }
68
+ boxHorizontale.add(b)
69
+ c = Gtk::Label.new("")
70
+ c.hexpand = true
71
+ boxHorizontale.add(c)
72
+ self.add(boxHorizontale)
73
+ end
74
+ end
@@ -0,0 +1,167 @@
1
+ require "gtk3"
2
+ require_relative "Carte"
3
+
4
+ # Widget Gtk affichant le monde
5
+ class Monde < Carte
6
+
7
+ # @factZoom => Facteur de zoom
8
+ # @dX => Décalage de l'affichage en x
9
+ # @dY => Décalage de l'affichage en y
10
+
11
+ # Constructeur
12
+ #
13
+ # === Paramètres
14
+ #
15
+ # * +carte+ - Carte principale
16
+ def initialize(carte)
17
+ super(carte)
18
+ @dX = -2383
19
+ @dY = -1950
20
+ @factZoom = 0.5
21
+
22
+ self.dessinerEtiquettes()
23
+ end
24
+
25
+ def dessinerEtiquettes()
26
+ # Amérique du nord
27
+ self.drawRectangleVide(380, 900, 1300, 950, false)
28
+ n = @carte.etoiles[0].first(7).inject(:+)
29
+ self.drawTexte(380 + 1300/2, 900 + 950/2, "Amérique du nord : #{n}/21")
30
+
31
+ # Amérique du sud
32
+ @bAmeriqueSud = @carte.nbEtoiles >= 12
33
+ self.drawRectangleVide(1150, 1870, 700, 950, !@bAmeriqueSud)
34
+ if @bAmeriqueSud
35
+ n = @carte.etoiles[0].last(7).inject(:+)
36
+ self.drawTexte(1150 + 700/2, 1820 + 950/2, "Amérique du sud")
37
+ self.drawTexte(1150 + 700/2, 1920 + 950/2, "#{n}/21")
38
+ else
39
+ self.drawTexte(1150 + 700/2, 1870 + 950/2, "12 pour débloquer")
40
+ end
41
+
42
+ # Europe
43
+ @bEurope = @carte.nbEtoiles >= 24
44
+ self.drawRectangleVide(1980, 900, 850, 680, !@bEurope)
45
+ if @bEurope
46
+ n = @carte.etoiles[1].first(7).inject(:+)
47
+ self.drawTexte(1980 + 850/2, 900 + 680/2, "Europe : #{n}/21")
48
+ else
49
+ self.drawTexte(1980 + 850/2, 900 + 680/2, "24 pour débloquer")
50
+ end
51
+
52
+ # Asie
53
+ @bAsie = @carte.nbEtoiles >= 36
54
+ self.drawRectangleVide(2850, 750, 1200, 1350, !@bAsie)
55
+ if @bAsie
56
+ n = @carte.etoiles[1].last(7).inject(:+)
57
+ self.drawTexte(2850 + 1200/2, 750 + 1350/2, "Asie : #{n}/21")
58
+ else
59
+ self.drawTexte(2850 + 1200/2, 750 + 1350/2, "36 pour débloquer")
60
+ end
61
+
62
+ # Océanie
63
+ @bOceanie = @carte.nbEtoiles >= 48
64
+ self.drawRectangleVide(3375, 2120, 950, 550, !@bOceanie)
65
+ if @bOceanie
66
+ n = @carte.etoiles[1].first(7).inject(:+)
67
+ self.drawTexte(3375 + 950/2, 2120 + 550/2, "Océanie : #{n}/21")
68
+ else
69
+ self.drawTexte(3375 + 950/2, 2120 + 550/2, "48 pour débloquer")
70
+ end
71
+
72
+ # Afrique
73
+ @bAfrique = @carte.nbEtoiles >= 60
74
+ self.drawRectangleVide(1980, 1600, 850, 900, !@bAfrique)
75
+ if @bAfrique
76
+ n = @carte.etoiles[1].last(8).first(7).inject(:+)
77
+ self.drawTexte(1980 + 850/2, 1600 + 900/2, "Afrique : #{n}/21")
78
+ else
79
+ self.drawTexte(1980 + 850/2, 1600 + 900/2, "60 pour débloquer")
80
+ end
81
+
82
+ # Antarctique
83
+ if @bAfrique
84
+ @bAntarctique = @carte.nbEtoiles >= 120
85
+ self.drawRectangleVide(1980, 3000, 850, 200, !@bAntarctique)
86
+ if @bAntarctique
87
+ n = @carte.etoiles[1].last.inject(:+)
88
+ self.drawTexte(1980 + 850/2, 3000 + 200/2, "Antarctique : #{n}/3")
89
+ else
90
+ self.drawTexte(1980 + 850/2, 3000 + 200/2, "120 pour débloquer")
91
+ end
92
+ end
93
+ end
94
+
95
+ # Dessin de la carte
96
+ #
97
+ # === Paramètres
98
+ #
99
+ # * +cr+ => Contexte sur lequel dessiner
100
+ def draw(cr)
101
+ #ic.rectangle(0, 0, 1000, 1000)
102
+ #ic.fill()
103
+ super(cr)
104
+ end
105
+
106
+ # Clic sur la souris
107
+ #
108
+ # === Paramètres
109
+ #
110
+ # * +event+ => Evenement Gtk contenant les informations sur le clic
111
+ def mouseClick(event)
112
+ x = getVX(event.x)
113
+ y = getVY(event.y)
114
+
115
+ # Europe
116
+ if x > 1980 && y > 900 && x < 1980+850 && y < 900+680
117
+ if @bEurope == true
118
+ s = "europe"
119
+ else
120
+ s = "null"
121
+ end
122
+ # Afrique
123
+ elsif x > 1980 && y > 1600 && x < 1980+850 && y < 1600+900
124
+ if @bAfrique == true
125
+ s = "afrique"
126
+ else
127
+ s = "null"
128
+ end
129
+ # Asie
130
+ elsif x > 2850 && y > 750 && x < 2850+1200 && y < 750+1350
131
+ if @bAsie == true
132
+ s = "asie"
133
+ else
134
+ s = "null"
135
+ end
136
+ # Océanie
137
+ elsif x > 3375 && y > 2120 && x < 3375+950 && y < 2120+550
138
+ if @bOceanie == true
139
+ s = "oceanie"
140
+ else
141
+ s = "null"
142
+ end
143
+ # Amérique du nord
144
+ elsif x > 380 && y > 900 && x < 380+1300 && y < 900+950
145
+ s = "ameriqueNord"
146
+ # Amérique du sud
147
+ elsif x > 1150 && y > 1870 && x < 1150+700 && y < 1870+950
148
+ if @bAmeriqueSud == true
149
+ s = "ameriqueSud"
150
+ else
151
+ s = "null"
152
+ end
153
+ # Antarctique
154
+ elsif x > 1980 && y > 3000 && x < 1980+850 && y < 3000+200
155
+ if @bAntarctique == true
156
+ s = "antarctique"
157
+ else
158
+ s = "null"
159
+ end
160
+ end
161
+ if s
162
+ if s != "null"
163
+ @carte.choix(s)
164
+ end
165
+ end
166
+ end
167
+ end
@@ -0,0 +1,38 @@
1
+ require "gtk3"
2
+ require_relative "Carte"
3
+ require_relative "Etiquette"
4
+
5
+ # Widget Gtk affichant l'oceanie
6
+ class Oceanie < 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 = -3850
20
+ @dY = -2350
21
+ @factZoom = 1.3
22
+
23
+ @g = carte.grillesD
24
+
25
+ self.dessinerEtiquettes()
26
+ end
27
+
28
+ def dessinerEtiquettes()
29
+ ajouterEtiquette(Etiquette.new(3780, 2065, 90, 30, @carte.etoiles[2][0], @g[0]))
30
+ ajouterEtiquette(Etiquette.new(4090, 2220, 90, 30, @carte.etoiles[2][1], @g[1]))
31
+ ajouterEtiquette(Etiquette.new(3850, 2550, 90, 30, @carte.etoiles[2][2], @g[2]))
32
+ ajouterEtiquette(Etiquette.new(3850, 2400, 90, 30, @carte.etoiles[2][3], @g[3]))
33
+ ajouterEtiquette(Etiquette.new(3600, 2350, 90, 30, @carte.etoiles[2][4], @g[4]))
34
+ ajouterEtiquette(Etiquette.new(4140, 2600, 90, 30, @carte.etoiles[2][5], @g[5]))
35
+ ajouterEtiquette(Etiquette.new(3700, 2222, 90, 30, @carte.etoiles[2][6], @g[6]))
36
+ super()
37
+ end
38
+ end
@@ -0,0 +1,58 @@
1
+ require "gtk3"
2
+
3
+ require_relative "AfficheurGrille"
4
+ require_relative "../Grille"
5
+ require_relative "../Case"
6
+ require_relative "../Lien"
7
+
8
+ # Widget Gtk permettant d'afficher un selecteur pour une grille
9
+ class SelecteurGrille < Gtk::ScrolledWindow
10
+
11
+ # Constructeur
12
+ #
13
+ # === Paramètres
14
+ #
15
+ # * +fenetre+ - Fenetre principale
16
+ # * +dif+ - Difficulté à utiliser
17
+ def initialize(fenetre, dif)
18
+ super()
19
+ self.set_policy(Gtk::PolicyType::NEVER, Gtk::PolicyType::AUTOMATIC)
20
+ self.expand = true
21
+ @fenetre = fenetre
22
+
23
+ #à modifier
24
+ idMode = 1 # Entrainement
25
+ grilles = [GestionBase.recupGrilles(fenetre.joueur.id, dif, 1, 0, 5),
26
+ GestionBase.recupGrilles(fenetre.joueur.id, dif, 1, 10, 5),
27
+ GestionBase.recupGrilles(fenetre.joueur.id, dif, 1, 20, 5)].inject(:+)
28
+ #grilles = grilles.map() { |x| YAML.load(x.grilleSolution).grilleRes }
29
+
30
+ grid = Gtk::Grid.new()
31
+ grid.row_spacing = 40
32
+ grid.column_spacing = 40
33
+ grid.margin = 20
34
+
35
+ x = 0
36
+ y = 0
37
+
38
+ grilles.each() do |g|
39
+ vBox = Gtk::Box.new(Gtk::Orientation.new(1), 0)
40
+ f = Gtk::Frame.new()
41
+ a = AfficheurGrille.new(YAML.load(g.grilleSolution), false, nil)
42
+ a.set_size_request(1,300)
43
+ a.expand = true
44
+ f.add(a)
45
+ vBox.add(f)
46
+ vBox.add(Gtk::Label.new("Grille n°#{x+y*3+1}"))
47
+ vBox.signal_connect("button-press-event") { @fenetre.finSelection(g, "entrainement") }
48
+ grid.attach(vBox, x, y, 1, 1)
49
+ x += 1
50
+ if x > 2
51
+ x = 0
52
+ y += 1
53
+ end
54
+ end
55
+
56
+ self.add(grid)
57
+ end
58
+ end
@@ -0,0 +1,38 @@
1
+ require "gtk3"
2
+
3
+ # Widget GTK permettant de choisir une difficulté
4
+ class SelectionDifficulte < 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.spacing = 5
15
+
16
+ l = Gtk::Label.new("")
17
+ l.expand = true
18
+ self.add(l)
19
+
20
+ b = Gtk::Button.new(label: "Facile")
21
+ b.signal_connect("clicked") { fenetre.finSelection(GestionBase.recupGrilleAleatoire(fenetre.joueur.id, 1, 2), "classe") }
22
+ self.add(b)
23
+ b = Gtk::Button.new(label: "Moyen")
24
+ b.signal_connect("clicked") { fenetre.finSelection(GestionBase.recupGrilleAleatoire(fenetre.joueur.id, 2, 2), "classe") }
25
+ self.add(b)
26
+ b = Gtk::Button.new(label: "Difficile")
27
+ b.signal_connect("clicked") { fenetre.finSelection(GestionBase.recupGrilleAleatoire(fenetre.joueur.id, 3, 2), "classe") }
28
+ self.add(b)
29
+
30
+ l = Gtk::Label.new("")
31
+ l.expand = true
32
+ self.add(l)
33
+
34
+ b = Gtk::Button.new(label: "Retour")
35
+ b.signal_connect("clicked") { fenetre.finSelection(nil, nil) }
36
+ self.add(b)
37
+ end
38
+ end