hashi-ruby 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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,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
@@ -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
@@ -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