gtk_paradise 0.12.25 → 0.13.33

Sign up to get free protection for your applications and to get access to all the features.
Files changed (393) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +997 -1065
  3. data/bin/gtk_display_this_file +0 -2
  4. data/bin/run_this_widget +7 -0
  5. data/doc/README.gen +995 -1063
  6. data/doc/todo/recurring_todo_tasks.md +8 -8
  7. data/doc/todo/{TODO_FOR_THE_GTK_EDITOR.md → todo_for_the_gtk_editor.md} +4 -3
  8. data/doc/todo/{TODO_FOR_THE_GTK_PARADISE_PROJECT.md → todo_for_the_gtk_paradise_project.md} +55 -36
  9. data/gtk_paradise.gemspec +0 -7
  10. data/lib/gtk_paradise/base_module/base_module.rb +5965 -5054
  11. data/lib/gtk_paradise/base_module/internal_hash_module/internal_hash_module.rb +205 -0
  12. data/lib/gtk_paradise/{base_module_and_app_module/base_module_and_app_module.rb → base_module_and_run_module/base_module_and_run_module.rb} +5 -5
  13. data/lib/gtk_paradise/{base_module/widgets/widgets.rb → base_module_widgets/base_module_widgets.rb} +28 -5
  14. data/lib/gtk_paradise/{css_files → cascading_style_sheets}/colours.css +58 -57
  15. data/lib/gtk_paradise/{css_files → cascading_style_sheets}/css_accordion.css +2 -1
  16. data/lib/gtk_paradise/{css_files → cascading_style_sheets}/hover_effects.css +0 -1
  17. data/lib/gtk_paradise/{css_files → cascading_style_sheets}/project.css +16 -13
  18. data/lib/gtk_paradise/colours/colour_palette/material_design.rb +35 -18
  19. data/lib/gtk_paradise/colours/parse.rb +4 -2
  20. data/lib/gtk_paradise/commandline/commandline.rb +13 -7
  21. data/lib/gtk_paradise/constants/constants.rb +84 -174
  22. data/lib/gtk_paradise/{gtk_classes → core_classes}/about.rb +2 -2
  23. data/lib/gtk_paradise/{gtk_classes → core_classes}/about_dialog.rb +1 -1
  24. data/lib/gtk_paradise/{gtk_classes → core_classes}/accel_group.rb +3 -7
  25. data/lib/gtk_paradise/{gtk_classes → core_classes}/alignment.rb +1 -1
  26. data/lib/gtk_paradise/{gtk_classes → core_classes}/application.rb +2 -2
  27. data/lib/gtk_paradise/{gtk_classes → core_classes}/application_window.rb +1 -1
  28. data/lib/gtk_paradise/{gtk_classes → core_classes}/box.rb +11 -7
  29. data/lib/gtk_paradise/{gtk_classes → core_classes}/button.rb +59 -61
  30. data/lib/gtk_paradise/{gtk_classes → core_classes}/button_box.rb +1 -1
  31. data/lib/gtk_paradise/{gtk_classes → core_classes}/cairo/context.rb +2 -2
  32. data/lib/gtk_paradise/{gtk_classes → core_classes}/calendar.rb +1 -1
  33. data/lib/gtk_paradise/{gtk_classes → core_classes}/cell_renderer_text.rb +2 -2
  34. data/lib/gtk_paradise/{gtk_classes → core_classes}/check_button.rb +60 -58
  35. data/lib/gtk_paradise/{gtk_classes → core_classes}/combo_box.rb +1 -1
  36. data/lib/gtk_paradise/{gtk_classes → core_classes}/combo_box_entry.rb +5 -4
  37. data/lib/gtk_paradise/{gtk_classes → core_classes}/combo_box_text.rb +54 -18
  38. data/lib/gtk_paradise/{gtk_classes → core_classes}/dialog.rb +1 -1
  39. data/lib/gtk_paradise/{gtk_classes → core_classes}/entry.rb +17 -3
  40. data/lib/gtk_paradise/{gtk_classes → core_classes}/entry_completion.rb +5 -3
  41. data/lib/gtk_paradise/{gtk_classes → core_classes}/event_box.rb +1 -1
  42. data/lib/gtk_paradise/{gtk_classes → core_classes}/event_button.rb +6 -8
  43. data/lib/gtk_paradise/{gtk_classes → core_classes}/event_key.rb +2 -2
  44. data/lib/gtk_paradise/{gtk_classes → core_classes}/expander.rb +1 -1
  45. data/lib/gtk_paradise/{gtk_classes → core_classes}/file_chooser_dialog.rb +1 -1
  46. data/lib/gtk_paradise/{gtk_classes → core_classes}/file_filter.rb +1 -1
  47. data/lib/gtk_paradise/{gtk_classes → core_classes}/file_selection.rb +11 -7
  48. data/lib/gtk_paradise/{gtk_classes → core_classes}/frame.rb +4 -4
  49. data/lib/gtk_paradise/{gtk_classes → core_classes}/grid.rb +136 -80
  50. data/lib/gtk_paradise/{gtk_classes → core_classes}/hbox.rb +4 -2
  51. data/lib/gtk_paradise/{gtk_classes → core_classes}/header_bar.rb +1 -1
  52. data/lib/gtk_paradise/{gtk_classes → core_classes}/hscale.rb +5 -7
  53. data/lib/gtk_paradise/{gtk_classes → core_classes}/image.rb +15 -12
  54. data/lib/gtk_paradise/{gtk_classes → core_classes}/image_menu_item.rb +1 -1
  55. data/lib/gtk_paradise/{gtk_classes → core_classes}/label.rb +29 -22
  56. data/lib/gtk_paradise/{gtk_classes → core_classes}/list_store.rb +6 -1
  57. data/lib/gtk_paradise/{gtk_classes → core_classes}/menu.rb +2 -6
  58. data/lib/gtk_paradise/{gtk_classes → core_classes}/menu_bar.rb +1 -1
  59. data/lib/gtk_paradise/{gtk_classes → core_classes}/menu_item.rb +1 -1
  60. data/lib/gtk_paradise/{gtk_classes → core_classes}/notebook.rb +35 -20
  61. data/lib/gtk_paradise/{gtk_classes → core_classes}/option_menu.rb +1 -1
  62. data/lib/gtk_paradise/{gtk_classes → core_classes}/paned.rb +7 -4
  63. data/lib/gtk_paradise/{gtk_classes → core_classes}/popover.rb +1 -1
  64. data/lib/gtk_paradise/{gtk_classes → core_classes}/radio_button.rb +2 -2
  65. data/lib/gtk_paradise/{gtk_classes → core_classes}/radio_menu_item.rb +6 -14
  66. data/lib/gtk_paradise/{gtk_classes → core_classes}/scale_button.rb +1 -1
  67. data/lib/gtk_paradise/{gtk_classes → core_classes}/scrolled_window.rb +75 -48
  68. data/lib/gtk_paradise/{gtk_classes → core_classes}/search_bar.rb +1 -1
  69. data/lib/gtk_paradise/{gtk_classes → core_classes}/size_group.rb +1 -1
  70. data/lib/gtk_paradise/{gtk_classes → core_classes}/source_buffer.rb +2 -2
  71. data/lib/gtk_paradise/{gtk_classes → core_classes}/source_view.rb +1 -1
  72. data/lib/gtk_paradise/{gtk_classes → core_classes}/spin_button.rb +1 -1
  73. data/lib/gtk_paradise/{gtk_classes → core_classes}/spinner.rb +1 -1
  74. data/lib/gtk_paradise/{gtk_classes → core_classes}/status_icon.rb +2 -6
  75. data/lib/gtk_paradise/{gtk_classes → core_classes}/statusbar.rb +1 -1
  76. data/lib/gtk_paradise/{gtk_classes → core_classes}/style_context.rb +1 -1
  77. data/lib/gtk_paradise/{gtk_classes → core_classes}/text_buffer.rb +3 -7
  78. data/lib/gtk_paradise/{gtk_classes → core_classes}/text_tag.rb +1 -1
  79. data/lib/gtk_paradise/{gtk_classes → core_classes}/text_view.rb +19 -14
  80. data/lib/gtk_paradise/{gtk_classes → core_classes}/toggle_button.rb +2 -2
  81. data/lib/gtk_paradise/{gtk_classes → core_classes}/toolbar.rb +1 -1
  82. data/lib/gtk_paradise/{gtk_classes → core_classes}/tree_iter.rb +2 -2
  83. data/lib/gtk_paradise/{gtk_classes → core_classes}/tree_selection.rb +5 -3
  84. data/lib/gtk_paradise/{gtk_classes → core_classes}/tree_view.rb +28 -39
  85. data/lib/gtk_paradise/{gtk_classes → core_classes}/tree_view_column.rb +1 -1
  86. data/lib/gtk_paradise/{gtk_classes → core_classes}/vbox.rb +2 -2
  87. data/lib/gtk_paradise/{gtk_classes → core_classes}/vscale.rb +5 -7
  88. data/lib/gtk_paradise/{gtk_classes → core_classes}/vte.rb +1 -1
  89. data/lib/gtk_paradise/{gtk_classes → core_classes}/widget.rb +1086 -1111
  90. data/lib/gtk_paradise/{gtk_classes → core_classes}/window.rb +25 -12
  91. data/lib/gtk_paradise/drawing/README.md +2 -2
  92. data/lib/gtk_paradise/drawing/drawing.rb +6 -4
  93. data/lib/gtk_paradise/drawing/event.rb +7 -5
  94. data/lib/gtk_paradise/drawing/star.rb +20 -9
  95. data/lib/gtk_paradise/drawing/tool.rb +3 -1
  96. data/lib/gtk_paradise/drawing/turtle.rb +4 -2
  97. data/lib/gtk_paradise/emojis/emojis.rb +4 -676
  98. data/lib/gtk_paradise/examples/advanced/001_5x5_grid_example.rb +4 -7
  99. data/lib/gtk_paradise/examples/advanced/002_advanced_drag_and_drop_example.rb +3 -9
  100. data/lib/gtk_paradise/examples/advanced/003_html_like_support.rb +4 -11
  101. data/lib/gtk_paradise/examples/advanced/005_csv_example.rb +0 -2
  102. data/lib/gtk_paradise/examples/advanced/006_file_chooser_button_example.rb +6 -13
  103. data/lib/gtk_paradise/examples/advanced/007_label_responding_to_events_example.rb +5 -13
  104. data/lib/gtk_paradise/examples/advanced/008_options_example.rb +0 -4
  105. data/lib/gtk_paradise/examples/advanced/009_key_events.rb +3 -12
  106. data/lib/gtk_paradise/examples/advanced/010_extensive_text_view_example.rb +2 -10
  107. data/lib/gtk_paradise/examples/advanced/011_moving_blocks_example.rb +0 -7
  108. data/lib/gtk_paradise/examples/advanced/012_cell_data_sorting_example.rb +0 -4
  109. data/lib/gtk_paradise/examples/advanced/013_advanced_css_example.rb +3 -12
  110. data/lib/gtk_paradise/examples/advanced/014_popup_example.rb +3 -12
  111. data/lib/gtk_paradise/examples/advanced/015_advanced_button_example.rb +8 -13
  112. data/lib/gtk_paradise/examples/advanced/016_change_background_on_click_event.rb +0 -2
  113. data/lib/gtk_paradise/examples/advanced/017_lean_CSS_example.rb +2 -10
  114. data/lib/gtk_paradise/examples/advanced/018_coloured_text_example.rb +2 -10
  115. data/lib/gtk_paradise/examples/advanced/019_gtk_entry_showing_the_cursor_position.rb +1 -3
  116. data/lib/gtk_paradise/examples/advanced/020_scale_this_image.rb +8 -12
  117. data/lib/gtk_paradise/examples/advanced/021_scroll_events_on_gtk_entry.rb +0 -1
  118. data/lib/gtk_paradise/examples/advanced/022_autogenerated_CSS_rounded_borders.rb +15 -19
  119. data/lib/gtk_paradise/examples/advanced/023_append_image_to_buffer.rb +8 -14
  120. data/lib/gtk_paradise/examples/advanced/024_notebook_with_tab_example.rb +1 -1
  121. data/lib/gtk_paradise/examples/advanced/025_showing_a_gold_caret_on_black_background.rb +6 -5
  122. data/lib/gtk_paradise/examples/advanced/026_status_bar_example.rb +2 -5
  123. data/lib/gtk_paradise/examples/advanced/027_customized_frame_example.rb +4 -7
  124. data/lib/gtk_paradise/examples/advanced/028_widgets_described_in_a_yaml_file.rb +17 -20
  125. data/lib/gtk_paradise/examples/advanced/029_entry_completion_example.rb +4 -9
  126. data/lib/gtk_paradise/examples/advanced/030_parse_into_table_example.rb +132 -0
  127. data/lib/gtk_paradise/{widgets/gtk3/calculator/calculator.rb → examples/advanced/031_combo_box_example.rb} +77 -92
  128. data/lib/gtk_paradise/examples/cairo/three_rectangles.rb +4 -4
  129. data/lib/gtk_paradise/examples/controller/controller.rb +27 -24
  130. data/lib/gtk_paradise/examples/gir_ffi/advanced/001_advanced_treeview_example.rb +1 -1
  131. data/lib/gtk_paradise/examples/gir_ffi/gtk2/001_hello_world.rb +30 -0
  132. data/lib/gtk_paradise/examples/gir_ffi/gtk2/002_upgraded_hello_world.rb +42 -0
  133. data/lib/gtk_paradise/examples/gir_ffi/gtk2/004_treeview_example.rb +62 -0
  134. data/lib/gtk_paradise/examples/gir_ffi/gtk2/005_complex_example.rb +102 -0
  135. data/lib/gtk_paradise/examples/gir_ffi/gtk2/101_all_in_one_example.rb +23 -0
  136. data/lib/gtk_paradise/examples/gir_ffi/{005_complex_example.rb → gtk3/005_complex_example.rb} +2 -2
  137. data/lib/gtk_paradise/examples/glib/parse_glib_settings.rb +1 -1
  138. data/lib/gtk_paradise/examples/gtk2/001_tooltips_example.rb +15 -6
  139. data/lib/gtk_paradise/examples/gtk2/003_draw_rectangle.rb +1 -1
  140. data/lib/gtk_paradise/examples/gtk2/011_password_example.rb +10 -4
  141. data/lib/gtk_paradise/examples/gtk2/README.md +5 -0
  142. data/lib/gtk_paradise/examples/gtk3/001_examples_with_css.rb +320 -0
  143. data/lib/gtk_paradise/examples/gtk3/{077_button_box_example.rb → 003_button_box_example.rb} +13 -4
  144. data/lib/gtk_paradise/examples/gtk3/{056_font_chooser_dialog_example.rb → 005_font_chooser_dialog_example.rb} +3 -2
  145. data/lib/gtk_paradise/examples/gtk3/{073_image_example.rb → 007_image_example.rb} +4 -1
  146. data/lib/gtk_paradise/examples/gtk3/{051_combo_box_example.rb → 009_combo_box_example.rb} +3 -2
  147. data/lib/gtk_paradise/examples/gtk3/{033_list_box_example.rb → 010_list_box_example.rb} +1 -0
  148. data/lib/gtk_paradise/examples/gtk3/{021_tiny_button_via_css.rb → 013_tiny_button_via_css.rb} +4 -3
  149. data/lib/gtk_paradise/examples/gtk3/{025_password_example.rb → 014_password_example.rb} +3 -2
  150. data/lib/gtk_paradise/examples/gtk3/{047_draw_rectangles.rb → 016_draw_rectangles.rb} +4 -0
  151. data/lib/gtk_paradise/examples/gtk3/{005_spinner_example.rb → 017_spinner_example.rb} +1 -0
  152. data/lib/gtk_paradise/examples/gtk3/{078_tree_view_column_example.rb → 018_tree_view_column_example.rb} +1 -1
  153. data/lib/gtk_paradise/examples/gtk3/{084_recent_chooser_dialog.rb → 019_recent_chooser_dialog.rb} +1 -0
  154. data/lib/gtk_paradise/examples/gtk3/{072_text_iterator_example.rb → 021_text_iterator_example.rb} +13 -6
  155. data/lib/gtk_paradise/examples/gtk3/{067_gtk_label_example.rb → 024_gtk_label_example.rb} +3 -3
  156. data/lib/gtk_paradise/examples/gtk3/{081_vbox_with_spacing_and_border_width.rb → 032_vbox_with_spacing_and_border_width.rb} +1 -1
  157. data/lib/gtk_paradise/examples/gtk3/{006_text_view_example.rb → 034_text_view_example.rb} +2 -1
  158. data/lib/gtk_paradise/examples/gtk3/{054_ten_labels_in_a_vertical_box_example.rb → 036_ten_labels_in_a_vertical_box_example.rb} +1 -0
  159. data/lib/gtk_paradise/examples/gtk3/{029_sockets.rb → 039_sockets.rb} +2 -2
  160. data/lib/gtk_paradise/examples/gtk3/{053_revealer_example.rb → 041_revealer_example.rb} +11 -2
  161. data/lib/gtk_paradise/examples/gtk3/{034_hello_world_in_gtk3_and_bold_font.rb → 042_hello_world_in_gtk3_and_bold_font.rb} +1 -1
  162. data/lib/gtk_paradise/examples/gtk3/{052_notebook_css_example.rb → 043_notebook_css_example.rb} +6 -4
  163. data/lib/gtk_paradise/examples/gtk3/{038_radio_button_window.rb → 055_radio_button_window.rb} +1 -1
  164. data/lib/gtk_paradise/examples/gtk3/{085_showcase_the_cursors.rb → 058_showcase_the_cursors.rb} +10 -1
  165. data/lib/gtk_paradise/examples/gtk3/{024_small_paned_example.rb → 059_small_paned_example.rb} +1 -0
  166. data/lib/gtk_paradise/examples/gtk3/{039_scale_button_demo.rb → 060_scale_button_demo.rb} +2 -2
  167. data/lib/gtk_paradise/examples/gtk3/{010_switch_example.rb → 062_switch_example.rb} +2 -1
  168. data/lib/gtk_paradise/examples/gtk3/{009_simple_window.rb → 063_simple_window.rb} +1 -0
  169. data/lib/gtk_paradise/examples/gtk3/{043_hover_button_example_via_css.rb → 066_hover_button_example_via_css.rb} +1 -0
  170. data/lib/gtk_paradise/examples/gtk3/{020_stack_example.rb → 069_stack_example.rb} +1 -1
  171. data/lib/gtk_paradise/examples/gtk3/{031_icon_theme_example.rb → 072_icon_theme_example.rb} +8 -4
  172. data/lib/gtk_paradise/examples/gtk3/{041_horizontal_and_vertical_scale.rb → 073_horizontal_and_vertical_scale.rb} +2 -1
  173. data/lib/gtk_paradise/examples/gtk3/{022_font_related_information.rb → 076_font_related_information.rb} +5 -3
  174. data/lib/gtk_paradise/examples/gtk3/{004_simple_dialog_example.rb → 079_simple_dialog_example.rb} +1 -1
  175. data/lib/gtk_paradise/examples/gtk3/vte/vte3_terminal.rb +1 -1
  176. data/lib/gtk_paradise/examples/gtk4/001_examples_with_css.rb +320 -0
  177. data/lib/gtk_paradise/examples/gtk4/{076_ten_vboxes_example.rb → 023_ten_vboxes_example.rb} +10 -10
  178. data/lib/gtk_paradise/examples/gtk4/{030_notebook_example.rb → 061_notebook_example.rb} +3 -4
  179. data/lib/gtk_paradise/examples/gtk4/{007_two_windows_example.rb → 087_two_windows_example.rb} +4 -1
  180. data/lib/gtk_paradise/examples/gtk4/{100_changed_events_example.rb → 200_changed_events_example.rb} +0 -1
  181. data/lib/gtk_paradise/examples/gtk4/{102_picture_example.rb → 202_picture_example.rb} +1 -1
  182. data/lib/gtk_paradise/examples/pango/pango_power.rb +11 -6
  183. data/lib/gtk_paradise/experimental/experimental.rb +2 -2
  184. data/lib/gtk_paradise/gdk/event_crossing.rb +1 -1
  185. data/lib/gtk_paradise/gdk/gdk.rb +3 -29
  186. data/lib/gtk_paradise/gdk/screen.rb +29 -0
  187. data/lib/gtk_paradise/gnome/README.md +3 -0
  188. data/lib/gtk_paradise/hello_world/README.md +7 -7
  189. data/lib/gtk_paradise/hello_world/hello_world_gtk4.rb +1 -1
  190. data/lib/gtk_paradise/images/misc/investigate.png +0 -0
  191. data/lib/gtk_paradise/pango/fonts.rb +1 -3
  192. data/lib/gtk_paradise/pango/pango_renderer.rb +2 -0
  193. data/lib/gtk_paradise/project/project.rb +2 -1
  194. data/lib/gtk_paradise/prototypes/gtk3_standalone.rb +7 -7
  195. data/lib/gtk_paradise/prototypes/gtk4_standalone.rb +1 -1
  196. data/lib/gtk_paradise/prototypes/unified_gtk_prototype.rb +1 -1
  197. data/lib/gtk_paradise/requires/{base_module_and_app_module.rb → base_module_and_run_module.rb} +1 -1
  198. data/lib/gtk_paradise/requires/do_require_the_files_under_the_gtk_classes_subdirectory.rb +2 -2
  199. data/lib/gtk_paradise/requires/require_files_irrespective_of_the_gtk_version_at_hand.rb +2 -2
  200. data/lib/gtk_paradise/requires/require_gtk2.rb +16 -3
  201. data/lib/gtk_paradise/requires/require_gtk3.rb +7 -3
  202. data/lib/gtk_paradise/requires/{require_gtk2_or_gtk3_or_gtk4.rb → require_gtk3_or_gtk4.rb} +1 -3
  203. data/lib/gtk_paradise/requires/require_gtk4.rb +7 -4
  204. data/lib/gtk_paradise/requires/require_the_base_module_and_gtk_run.rb +1 -1
  205. data/lib/gtk_paradise/requires/{require_the_base_module_the_app_module_and_the_toplevel_methods.rb → require_the_base_module_the_run_module_and_the_toplevel_methods.rb} +2 -2
  206. data/lib/gtk_paradise/requires/require_the_base_module_widgets.rb +9 -0
  207. data/lib/gtk_paradise/requires/require_the_default_gtk_version.rb +1 -1
  208. data/lib/gtk_paradise/requires/run_this_widget.rb +1 -1
  209. data/lib/gtk_paradise/run/run.rb +410 -0
  210. data/lib/gtk_paradise/run.rb +5 -29
  211. data/lib/gtk_paradise/{app/app_module/app_module.rb → run_module/run_module.rb} +946 -1016
  212. data/lib/gtk_paradise/toplevel_methods/css.rb +18 -15
  213. data/lib/gtk_paradise/toplevel_methods/cursor.rb +5 -4
  214. data/lib/gtk_paradise/toplevel_methods/determine_which_gtk_version_is_in_use.rb +1 -1
  215. data/lib/gtk_paradise/toplevel_methods/e.rb +12 -0
  216. data/lib/gtk_paradise/toplevel_methods/keys.rb +1 -1
  217. data/lib/gtk_paradise/toplevel_methods/screen_resolution.rb +7 -6
  218. data/lib/gtk_paradise/toplevel_methods/{text_buffer_tags.rb → tokenizer_and_text_buffer_tags.rb} +115 -0
  219. data/lib/gtk_paradise/toplevel_methods/toplevel_methods.rb +667 -673
  220. data/lib/gtk_paradise/utility_scripts/commandline_to_automatic_gui.rb +8 -8
  221. data/lib/gtk_paradise/utility_scripts/generate_gtk_prototype.rb +5 -31
  222. data/lib/gtk_paradise/version/upstream_gtk_version.rb +3 -25
  223. data/lib/gtk_paradise/version/version.rb +4 -3
  224. data/lib/gtk_paradise/widgets/gtk2/README.md +5 -0
  225. data/lib/gtk_paradise/widgets/gtk2/pdfwalker/imgview.rb +1 -2
  226. data/lib/gtk_paradise/widgets/gtk2/table_example.rb +0 -1
  227. data/lib/gtk_paradise/widgets/gtk3/audio_button/audio_button.rb +13 -7
  228. data/lib/gtk_paradise/widgets/gtk3/burn_this_iso_file/burn_this_iso_file.rb +5 -21
  229. data/lib/gtk_paradise/widgets/gtk3/button_open_remote_webpage/button_open_remote_webpage.rb +1 -1
  230. data/lib/gtk_paradise/widgets/gtk3/button_with_border/button_with_border.rb +1 -1
  231. data/lib/gtk_paradise/widgets/gtk3/button_xorg_buffer/button_xorg_buffer.rb +6 -20
  232. data/lib/gtk_paradise/widgets/gtk3/checkbox_image/checkbox_image.rb +4 -20
  233. data/lib/gtk_paradise/widgets/gtk3/coloured_button/coloured_button.rb +3 -6
  234. data/lib/gtk_paradise/widgets/gtk3/coloured_unit/coloured_unit.rb +1 -1
  235. data/lib/gtk_paradise/widgets/gtk3/cpu_widget/cpu_widget.rb +3 -15
  236. data/lib/gtk_paradise/widgets/gtk3/directory_content_widget/directory_content_widget.rb +1 -1
  237. data/lib/gtk_paradise/widgets/gtk3/editor/editor.rb +1 -1
  238. data/lib/gtk_paradise/widgets/gtk3/editor/internal_widgets/goto_line_widget.rb +1 -1
  239. data/lib/gtk_paradise/widgets/gtk3/files_in_directory/files_in_directory.rb +1 -13
  240. data/lib/gtk_paradise/widgets/gtk3/font_size_widget/action_button.rb +2 -4
  241. data/lib/gtk_paradise/widgets/gtk3/font_size_widget/font_size_widget.rb +6 -27
  242. data/lib/gtk_paradise/widgets/gtk3/four_components_entry/four_components_entry.rb +8 -8
  243. data/lib/gtk_paradise/widgets/gtk3/gidnight_commander/gidnight_commander.rb +1 -1
  244. data/lib/gtk_paradise/widgets/gtk3/image_viewer/image_viewer.rb +1 -1
  245. data/lib/gtk_paradise/widgets/gtk3/keyboard/keyboard.rb +1 -1
  246. data/lib/gtk_paradise/widgets/gtk3/linux_users/linux_users.rb +9 -9
  247. data/lib/gtk_paradise/widgets/gtk3/my_calendar/my_calendar.rb +1 -1
  248. data/lib/gtk_paradise/widgets/gtk3/my_image_menu_item/my_image_menu_item.rb +1 -1
  249. data/lib/gtk_paradise/widgets/gtk3/non_numbers_only/non_numbers_only.rb +1 -1
  250. data/lib/gtk_paradise/widgets/gtk3/note_window/note_window.rb +1 -1
  251. data/lib/gtk_paradise/widgets/gtk3/notebook_tab_with_icon/notebook_tab_with_icon.rb +2 -3
  252. data/lib/gtk_paradise/widgets/gtk3/notebook_with_storage_functionality/notebook_with_storage_functionality.rb +1 -1
  253. data/lib/gtk_paradise/widgets/gtk3/numbers_only/numbers_only.rb +9 -3
  254. data/lib/gtk_paradise/widgets/gtk3/regex_matcher/regex_matcher.rb +1 -1
  255. data/lib/gtk_paradise/widgets/gtk3/rename_widget/rename_widget.rb +1 -1
  256. data/lib/gtk_paradise/widgets/gtk3/show_which_key_was_pressed/show_which_key_was_pressed.rb +1 -1
  257. data/lib/gtk_paradise/widgets/gtk3/stopwatch/stopwatch.rb +12 -14
  258. data/lib/gtk_paradise/widgets/gtk3/sys_message/sys_message.rb +2 -4
  259. data/lib/gtk_paradise/widgets/gtk3/system_information/system_information.rb +2 -2
  260. data/lib/gtk_paradise/widgets/gtk3/type_trainer/type_trainer.rb +14 -6
  261. data/lib/gtk_paradise/widgets/gtk3/view_webpage/view_webpage.rb +16 -28
  262. data/lib/gtk_paradise/widgets/gtk3/widget_switcher/widget_switcher.rb +1 -1
  263. data/lib/gtk_paradise/widgets/gtk3/wiki/README.md +3 -4
  264. data/lib/gtk_paradise/widgets/gtk3/wiki/wiki.rb +13 -15
  265. data/lib/gtk_paradise/widgets/gtk4/show_icon_theme/show_icon_theme.rb +1 -1
  266. data/lib/gtk_paradise/widgets/gtk4/sys_message/sys_message.rb +1 -1
  267. data/lib/gtk_paradise/widgets/shared_code/browser/browser_module.rb +5 -8
  268. data/lib/gtk_paradise/widgets/shared_code/burning_widget/burning_widget_module.rb +3 -20
  269. data/lib/gtk_paradise/widgets/shared_code/cdripper/cdripper_module.rb +2 -18
  270. data/lib/gtk_paradise/widgets/shared_code/colour_filled_widget/colour_filled_widget_module.rb +2 -3
  271. data/lib/gtk_paradise/widgets/shared_code/colour_palette/colour_palette_module.rb +4 -20
  272. data/lib/gtk_paradise/widgets/shared_code/conky/conky_module.rb +18 -29
  273. data/lib/gtk_paradise/widgets/shared_code/customizable_dialog/customizable_dialog.rb +1 -6
  274. data/lib/gtk_paradise/widgets/shared_code/emoji_toggle_widget/emoji_toggle_widget_module.rb +2 -14
  275. data/lib/gtk_paradise/widgets/shared_code/emoji_widget/emoji_widget_module.rb +3 -12
  276. data/lib/gtk_paradise/widgets/shared_code/error_widget/error_widget_module.rb +4 -8
  277. data/lib/gtk_paradise/widgets/shared_code/file_path_widget/file_path_widget_module.rb +5 -3
  278. data/lib/gtk_paradise/widgets/shared_code/file_viewer/file_viewer_module.rb +2 -34
  279. data/lib/gtk_paradise/widgets/shared_code/lsmod/lsmod_module.rb +1 -1
  280. data/lib/gtk_paradise/widgets/shared_code/lspci/lspci_module.rb +2 -5
  281. data/lib/gtk_paradise/widgets/shared_code/mini_clock/mini_clock_module.rb +1 -3
  282. data/lib/gtk_paradise/widgets/shared_code/pid_displayer/pid_displayer_module.rb +7 -18
  283. data/lib/gtk_paradise/widgets/shared_code/random_image/random_image_module.rb +6 -18
  284. data/lib/gtk_paradise/widgets/shared_code/select_file/select_file_module.rb +2 -18
  285. data/lib/gtk_paradise/widgets/shared_code/user/user_module.rb +43 -32
  286. data/lib/gtk_paradise/widgets/shared_code/wget_wrapper/wget_wrapper_module.rb +10 -27
  287. data/lib/gtk_paradise/www/index.cgi +4 -4
  288. data/lib/gtk_paradise/xbm_icons/xbm_icons.rb +118 -0
  289. data/lib/gtk_paradise/yaml/browser_URLs.yml +4 -4
  290. data/lib/gtk_paradise/yaml/notebook_controller.yml +0 -2
  291. data/lib/gtk_paradise.rb +0 -0
  292. data/test/gir_ffi_gtk/testing_gir_ffi_gtk2.rb +55 -0
  293. data/test/gir_ffi_gtk/testing_gir_ffi_gtk3.rb +55 -0
  294. data/test/gtk3/testing_app.rb +1 -1
  295. data/test/gtk3/testing_base_module.rb +13 -7
  296. data/test/misc/testing_a_gtk_frame.rb +3 -2
  297. data/test/misc/testing_gtk4_simplifications.rb +2 -4
  298. data/test/misc/testing_gtk_paradise_runner.rb +3 -4
  299. data/test/misc/testing_numbered_lines.rb +2 -0
  300. data/test/misc/testing_the_gtk_classes.rb +1 -1
  301. metadata +234 -236
  302. data/lib/gtk_paradise/app/app.rb +0 -239
  303. data/lib/gtk_paradise/base_module/class_methods/class_methods.rb +0 -0
  304. data/lib/gtk_paradise/base_module/colours.rb +0 -125
  305. data/lib/gtk_paradise/base_module/css.rb +0 -487
  306. data/lib/gtk_paradise/base_module/html_support.rb +0 -255
  307. data/lib/gtk_paradise/base_module/these_methods_work_for_gtk3_and_gtk4.rb +0 -171
  308. data/lib/gtk_paradise/examples/gtk3/063_examples_with_css.rb +0 -261
  309. data/lib/gtk_paradise/examples/gtk4/009_text_view_example.rb +0 -30
  310. data/lib/gtk_paradise/requires/require_base_module.rb +0 -7
  311. data/lib/gtk_paradise/run_this_widget/run_this_widget.rb +0 -129
  312. data/lib/gtk_paradise/toplevel_methods/tokenizer.rb +0 -118
  313. data/lib/gtk_paradise/widgets/gtk3/ping_widget/ping_widget.rb +0 -513
  314. data/lib/gtk_paradise/widgets/shared_code/calculator/calculator_module.rb +0 -581
  315. data/lib/gtk_paradise/widgets/shared_code/simple_clock/simple_clock_module.rb +0 -255
  316. /data/lib/gtk_paradise/{css_files → cascading_style_sheets}/borders.css +0 -0
  317. /data/lib/gtk_paradise/{css_files → cascading_style_sheets}/themes/README.md +0 -0
  318. /data/lib/gtk_paradise/{css_files → cascading_style_sheets}/themes/rainbow_theme.css +0 -0
  319. /data/lib/gtk_paradise/examples/gdk/{001_gdk_screen_properties.rb → gdk_screen_properties.rb} +0 -0
  320. /data/lib/gtk_paradise/examples/gir_ffi/{001_hello_world.rb → gtk3/001_hello_world.rb} +0 -0
  321. /data/lib/gtk_paradise/examples/gir_ffi/{002_upgraded_hello_world.rb → gtk3/002_upgraded_hello_world.rb} +0 -0
  322. /data/lib/gtk_paradise/examples/gir_ffi/{003_gtk_application_example.rb → gtk3/003_gtk_application_example.rb} +0 -0
  323. /data/lib/gtk_paradise/examples/gir_ffi/{004_treeview_example.rb → gtk3/004_treeview_example.rb} +0 -0
  324. /data/lib/gtk_paradise/examples/gtk3/{001_gtk_entry.rb → 002_gtk_entry.rb} +0 -0
  325. /data/lib/gtk_paradise/examples/gtk3/{075_gtk_expander.rb → 004_gtk_expander.rb} +0 -0
  326. /data/lib/gtk_paradise/examples/gtk3/{036_buttons_showcasing_the_relief.rb → 006_buttons_showcasing_the_relief.rb} +0 -0
  327. /data/lib/gtk_paradise/examples/gtk3/{050_cell_renderer_pixbuf_example.rb → 008_cell_renderer_pixbuf_example.rb} +0 -0
  328. /data/lib/gtk_paradise/examples/gtk3/{044_spin_button_example.rb → 011_spin_button_example.rb} +0 -0
  329. /data/lib/gtk_paradise/examples/gtk3/{064_accel_group_example.rb → 012_accel_group_example.rb} +0 -0
  330. /data/lib/gtk_paradise/examples/gtk3/{048_colour_choose_button.rb → 015_colour_choose_button.rb} +0 -0
  331. /data/lib/gtk_paradise/examples/gtk3/{086_app_chooser_button_example.rb → 020_app_chooser_button_example.rb} +0 -0
  332. /data/lib/gtk_paradise/examples/gtk3/{018_message_dialog_example.rb → 022_message_dialog_example.rb} +0 -0
  333. /data/lib/gtk_paradise/examples/gtk3/{076_ten_vboxes_example.rb → 023_ten_vboxes_example.rb} +0 -0
  334. /data/lib/gtk_paradise/examples/gtk3/{071_button_demo.rb → 025_button_demo.rb} +0 -0
  335. /data/lib/gtk_paradise/examples/gtk3/{074_frame_example.rb → 026_frame_example.rb} +0 -0
  336. /data/lib/gtk_paradise/examples/gtk3/{080_vertical_boxes.rb → 027_vertical_boxes.rb} +0 -0
  337. /data/lib/gtk_paradise/examples/gtk3/{032_switcher_window.rb → 028_switcher_window.rb} +0 -0
  338. /data/lib/gtk_paradise/examples/gtk3/{057_flowbox.rb → 029_flowbox.rb} +0 -0
  339. /data/lib/gtk_paradise/examples/gtk3/{066_header_bar_example.rb → 030_header_bar_example.rb} +0 -0
  340. /data/lib/gtk_paradise/examples/gtk3/{049_drag_and_drop_example.rb → 031_drag_and_drop_example.rb} +0 -0
  341. /data/lib/gtk_paradise/examples/gtk3/{055_threads_example.rb → 033_threads_example.rb} +0 -0
  342. /data/lib/gtk_paradise/examples/gtk3/{079_tooltips_example.rb → 035_tooltips_example.rb} +0 -0
  343. /data/lib/gtk_paradise/examples/gtk3/{087_calendar_example.rb → 037_calendar_example.rb} +0 -0
  344. /data/lib/gtk_paradise/examples/gtk3/{060_check_button.rb → 038_check_button.rb} +0 -0
  345. /data/lib/gtk_paradise/examples/gtk3/{062_event_box_example.rb → 040_event_box_example.rb} +0 -0
  346. /data/lib/gtk_paradise/examples/gtk3/{042_installation_assistant.rb → 044_installation_assistant.rb} +0 -0
  347. /data/lib/gtk_paradise/examples/gtk3/{053_css_example_of_a_button_changing_the_background_colour_on_click_event.rb → 045_css_example_of_a_button_changing_the_background_colour_on_click_event.rb} +0 -0
  348. /data/lib/gtk_paradise/examples/gtk3/{017_extensive_markup_example.rb → 046_extensive_markup_example.rb} +0 -0
  349. /data/lib/gtk_paradise/examples/gtk3/{059_form_example.rb → 047_form_example.rb} +0 -0
  350. /data/lib/gtk_paradise/examples/gtk3/{068_popover_example.rb → 048_popover_example.rb} +0 -0
  351. /data/lib/gtk_paradise/examples/gtk3/{012_show_the_xid_example.rb → 049_show_the_xid_example.rb} +0 -0
  352. /data/lib/gtk_paradise/examples/gtk3/{016_scrolling_example.rb → 050_scrolling_example.rb} +0 -0
  353. /data/lib/gtk_paradise/examples/gtk3/{065_change_the_application_theme.rb → 051_change_the_application_theme.rb} +0 -0
  354. /data/lib/gtk_paradise/examples/gtk3/{058_colourized_button_example.rb → 052_colourized_button_example.rb} +0 -0
  355. /data/lib/gtk_paradise/examples/gtk3/{035_grid_example.rb → 053_grid_example.rb} +0 -0
  356. /data/lib/gtk_paradise/examples/gtk3/{027_menubar_example.rb → 054_menubar_example.rb} +0 -0
  357. /data/lib/gtk_paradise/examples/gtk3/{040_popup_example.rb → 056_popup_example.rb} +0 -0
  358. /data/lib/gtk_paradise/examples/gtk3/{069_entry_completion.rb → 057_entry_completion.rb} +0 -0
  359. /data/lib/gtk_paradise/examples/gtk3/{030_notebook_example.rb → 061_notebook_example.rb} +0 -0
  360. /data/lib/gtk_paradise/examples/gtk3/{014_undecorated_window_example.rb → 064_undecorated_window_example.rb} +0 -0
  361. /data/lib/gtk_paradise/examples/gtk3/{026_progress_bar_example.rb → 065_progress_bar_example.rb} +0 -0
  362. /data/lib/gtk_paradise/examples/gtk3/{028_paned_widget_example.rb → 067_paned_widget_example.rb} +0 -0
  363. /data/lib/gtk_paradise/examples/gtk3/{082_file_chooser_dialog.rb → 068_file_chooser_dialog.rb} +0 -0
  364. /data/lib/gtk_paradise/examples/gtk3/{037_text_buffer_example.rb → 070_text_buffer_example.rb} +0 -0
  365. /data/lib/gtk_paradise/examples/gtk3/{013_grab_pointer_forcefully.rb → 071_grab_pointer_forcefully.rb} +0 -0
  366. /data/lib/gtk_paradise/examples/gtk3/{008_search_bar_example.rb → 074_search_bar_example.rb} +0 -0
  367. /data/lib/gtk_paradise/examples/gtk3/{061_fixed_example.rb → 075_fixed_example.rb} +0 -0
  368. /data/lib/gtk_paradise/examples/gtk3/{011_colour_chooser_example.rb → 077_colour_chooser_example.rb} +0 -0
  369. /data/lib/gtk_paradise/examples/gtk3/{015_bottom_left_placement.rb → 078_bottom_left_placement.rb} +0 -0
  370. /data/lib/gtk_paradise/examples/gtk3/{045_radio_menu_item_example.rb → 080_radio_menu_item_example.rb} +0 -0
  371. /data/lib/gtk_paradise/examples/gtk3/{046_gtk_dialog_sample.rb → 081_gtk_dialog_sample.rb} +0 -0
  372. /data/lib/gtk_paradise/examples/gtk3/{003_toggle_button_example.rb → 082_toggle_button_example.rb} +0 -0
  373. /data/lib/gtk_paradise/examples/gtk3/{019_status_icon_example.rb → 083_status_icon_example.rb} +0 -0
  374. /data/lib/gtk_paradise/examples/gtk3/{023_sorted_tree.rb → 084_sorted_tree.rb} +0 -0
  375. /data/lib/gtk_paradise/examples/gtk3/{083_bindings.rb → 085_bindings.rb} +0 -0
  376. /data/lib/gtk_paradise/examples/gtk3/{002_scrolled_window_example.rb → 086_scrolled_window_example.rb} +0 -0
  377. /data/lib/gtk_paradise/examples/gtk3/{007_two_windows_example.rb → 087_two_windows_example.rb} +0 -0
  378. /data/lib/gtk_paradise/examples/gtk3/{070_svg_viewer.rb → 088_svg_viewer.rb} +0 -0
  379. /data/lib/gtk_paradise/examples/gtk4/{001_gtk_entry.rb → 002_gtk_entry.rb} +0 -0
  380. /data/lib/gtk_paradise/examples/gtk4/{005_spinner_example.rb → 017_spinner_example.rb} +0 -0
  381. /data/lib/gtk_paradise/examples/gtk4/{074_frame_example.rb → 026_frame_example.rb} +0 -0
  382. /data/lib/gtk_paradise/examples/gtk4/{006_text_view_example.rb → 034_text_view_example.rb} +0 -0
  383. /data/lib/gtk_paradise/examples/gtk4/{087_calendar_example.rb → 037_calendar_example.rb} +0 -0
  384. /data/lib/gtk_paradise/examples/gtk4/{027_menubar_example.rb → 054_menubar_example.rb} +0 -0
  385. /data/lib/gtk_paradise/examples/gtk4/{010_switch_example.rb → 062_switch_example.rb} +0 -0
  386. /data/lib/gtk_paradise/examples/gtk4/{008_search_bar_example.rb → 074_search_bar_example.rb} +0 -0
  387. /data/lib/gtk_paradise/examples/gtk4/{004_simple_dialog_example.rb → 079_simple_dialog_example.rb} +0 -0
  388. /data/lib/gtk_paradise/examples/gtk4/{003_toggle_button_example.rb → 082_toggle_button_example.rb} +0 -0
  389. /data/lib/gtk_paradise/examples/gtk4/{002_scrolled_window_example.rb → 086_scrolled_window_example.rb} +0 -0
  390. /data/lib/gtk_paradise/examples/gtk4/{101_actionbar_example.rb → 201_actionbar_example.rb} +0 -0
  391. /data/lib/gtk_paradise/examples/gtk4/{103_drawing_example.rb → 203_drawing_example.rb} +0 -0
  392. /data/lib/gtk_paradise/examples/gtk4/{104_quit_on_keypress_event.rb → 204_quit_on_keypress_event.rb} +0 -0
  393. /data/lib/gtk_paradise/widgets/gtk2/{status_icon_example.rb → status_icon_example/status_icon_example.rb} +0 -0
@@ -4,7 +4,7 @@
4
4
  # =========================================================================== #
5
5
  # === Gtk::Window
6
6
  # =========================================================================== #
7
- # require 'gtk_paradise/gtk_classes/window.rb'
7
+ # require 'gtk_paradise/core_classes/window.rb'
8
8
  # Gtk.popup_window
9
9
  # =========================================================================== #
10
10
  module Gtk
@@ -12,11 +12,13 @@ module Gtk
12
12
  class Window # === Gtk::Window
13
13
 
14
14
  require 'gtk_paradise/toplevel_methods/determine_which_gtk_version_is_in_use.rb'
15
+
15
16
  # ========================================================================= #
16
- # Not sure if the next require is good here. Ideally we should not
17
- # require it here.
17
+ # === automatically_determine_the_title
18
18
  # ========================================================================= #
19
- # require 'gtk_paradise/gtk_classes/widget.rb'
19
+ def automatically_determine_the_title(i = nil)
20
+ set_title(i)
21
+ end
20
22
 
21
23
  # ========================================================================= #
22
24
  # === xid_value?
@@ -74,12 +76,23 @@ end
74
76
  # Easier toplevel-method to instantiate a new ::Gtk::Window object.
75
77
  # ========================================================================= #
76
78
  def self.window(
77
- i = :toplevel
79
+ i = :toplevel,
80
+ optional_height = nil
78
81
  )
79
- if use_gtk2?
80
- i = ::Gtk::Window::TOPLEVEL
82
+ if optional_height.nil? and i.is_a?(Hash) and i.has_key?(:height)
83
+ optional_height = i.delete(:height)
81
84
  end
82
- ::Gtk::Window.new(i)
85
+ if optional_height
86
+ window = ::Gtk::Window.new(:toplevel)
87
+ if i.is_a? Hash # Support syntax such as: (width: @width, height: @height)
88
+ optional_height = i.delete(:height) if i.has_key?(:height)
89
+ i = i.delete(:width)
90
+ end
91
+ window.set_size_request(i, optional_height) # We assume width and height were passed in this case.
92
+ else # This is the default entry point for this method.
93
+ window = ::Gtk::Window.new(i)
94
+ end
95
+ return window # And return it here.
83
96
  end
84
97
 
85
98
  # ========================================================================= #
@@ -92,11 +105,11 @@ end
92
105
  # ::Gtk::Window::POPUP.
93
106
  # ========================================================================= #
94
107
  def self.popup_window
95
- if are_we_using_gtk2?
96
- ::Gtk::Window.new(::Gtk::Window::POPUP).show_all
97
- else
108
+ # if are_we_using_gtk2?
109
+ # ::Gtk::Window.new(::Gtk::Window::POPUP).show_all
110
+ # else
98
111
  ::Gtk::Window.new(:popup).show_all
99
- end
112
+ # end
100
113
  end
101
114
 
102
115
  end
@@ -1,3 +1,3 @@
1
- This directory (and the code in this directory) is experimental
2
- as of August 2022. We may have to relocate the code into other
1
+ This directory (and the code in this directory) is experimental as
2
+ of August 2022. We may have to relocate the code into other
3
3
  directories at a later time.
@@ -6,11 +6,13 @@
6
6
  # =========================================================================== #
7
7
  # require 'gtk_paradise/drawing/drawing.rb'
8
8
  # =========================================================================== #
9
+ module Gtk
10
+
9
11
  module Drawing
10
12
 
11
13
  require 'matrix'
12
- require 'gtk2'
13
- require 'gtk_paradise/gtk_classes/window.rb'
14
+ # require 'gtk2'
15
+ require 'gtk_paradise/core_classes/window.rb'
14
16
 
15
17
  # ========================================================================= #
16
18
  # Load up the rest of the Drawing-related code:
@@ -30,7 +32,7 @@ module Drawing
30
32
  W = ::Gtk::Window.new
31
33
 
32
34
  # ========================================================================= #
33
- # === Drawing.app
35
+ # === Gtk::Drawing.app
34
36
  #
35
37
  # This will instantiate a new gtk-application.
36
38
  #
@@ -65,4 +67,4 @@ module Drawing
65
67
  Gtk.main
66
68
  end
67
69
 
68
- end
70
+ end; end
@@ -2,15 +2,17 @@
2
2
  # Encoding: UTF-8
3
3
  # frozen_string_literal: true
4
4
  # =========================================================================== #
5
- # === Drawing::Event
5
+ # === Gtk::Drawing::Event
6
6
  # =========================================================================== #
7
7
  # require 'gtk_paradise/drawing/event.rb'
8
8
  # =========================================================================== #
9
- require 'gtk_paradise/drawing/tool.rb'
9
+ module Gtk
10
10
 
11
11
  module Drawing
12
-
13
- class Event < Tool # === Drawing::Event
12
+
13
+ require 'gtk_paradise/drawing/tool.rb'
14
+
15
+ class Event < Tool # === Gtk::Drawing::Event
14
16
 
15
17
  # ========================================================================= #
16
18
  # === initialize
@@ -70,4 +72,4 @@ class Event < Tool # === Drawing::Event
70
72
  }
71
73
  end
72
74
 
73
- end; end
75
+ end; end; end
@@ -2,15 +2,17 @@
2
2
  # Encoding: UTF-8
3
3
  # frozen_string_literal: true
4
4
  # =========================================================================== #
5
- # === Drawing::Star
5
+ # === Gtk::Drawing::Star
6
6
  # =========================================================================== #
7
7
  # require 'gtk_paradise/drawing/star.rb'
8
8
  # =========================================================================== #
9
- require 'gtk_paradise/drawing/tool.rb'
9
+ module Gtk
10
10
 
11
11
  module Drawing
12
12
 
13
- class Star < Tool # === Drawing::Star
13
+ require 'gtk_paradise/drawing/tool.rb'
14
+
15
+ class Star < Tool # === Gtk::Drawing::Star
14
16
 
15
17
  require 'matrix'
16
18
  include Math
@@ -37,20 +39,20 @@ class Star < Tool # === Drawing::Star
37
39
  y2,
38
40
  color
39
41
  )
42
+ reset
40
43
  @fill = fill
41
- @o = []
42
- @a = []
43
- @b = []
44
44
  @o[0] = x1
45
45
  @o[1] = y1
46
46
  @a[0] = Vector[x2 - x1, y1 - y2]
47
47
  θ = PI / 5
48
48
  rt1 = Matrix[
49
49
  [
50
- cos(θ), -sin(θ)
50
+ cos(θ),
51
+ -sin(θ)
51
52
  ],
52
53
  [
53
- sin(θ), cos(θ)
54
+ sin(θ),
55
+ cos(θ)
54
56
  ]
55
57
  ]
56
58
  rt2 = rt1 * rt1
@@ -62,6 +64,15 @@ class Star < Tool # === Drawing::Star
62
64
  @color = color
63
65
  end
64
66
 
67
+ # ========================================================================= #
68
+ # === reset (reset tag)
69
+ # ========================================================================= #
70
+ def reset
71
+ @o = []
72
+ @a = []
73
+ @b = []
74
+ end
75
+
65
76
  # ========================================================================= #
66
77
  # === draw_triangle
67
78
  # ========================================================================= #
@@ -93,4 +104,4 @@ class Star < Tool # === Drawing::Star
93
104
  end
94
105
  end
95
106
 
96
- end; end
107
+ end; end; end
@@ -6,6 +6,8 @@
6
6
  # =========================================================================== #
7
7
  # require 'gtk_paradise/drawing/tool.rb'
8
8
  # =========================================================================== #
9
+ module Gtk
10
+
9
11
  module Drawing
10
12
 
11
13
  class Tool # === Drawing::Tool
@@ -265,4 +267,4 @@ class Tool # === Drawing::Tool
265
267
  @height = i
266
268
  end; alias height= set_height # === height=
267
269
 
268
- end; end
270
+ end; end; end
@@ -2,10 +2,12 @@
2
2
  # Encoding: UTF-8
3
3
  # frozen_string_literal: true
4
4
  # =========================================================================== #
5
- # === Drawing::Turtle
5
+ # === Gtk::Drawing::Turtle
6
6
  # =========================================================================== #
7
7
  # require 'gtk_paradise/drawing/turtle.rb'
8
8
  # =========================================================================== #
9
+ module Gtk
10
+
9
11
  module Drawing
10
12
 
11
13
  require 'gtk_paradise/drawing/tool.rb'
@@ -135,4 +137,4 @@ class Turtle < Tool
135
137
  @pen_po = Vector[x, y]
136
138
  end
137
139
 
138
- end; end
140
+ end; end; end