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
@@ -288,14 +288,6 @@ class FourComponentsEntry < ::Gtk::BaseModuleBox # === Gtk::FourComponentsEntry
288
288
  return vbox
289
289
  end
290
290
 
291
- # ========================================================================= #
292
- # === run (run tag)
293
- # ========================================================================= #
294
- def run
295
- super()
296
- set_value(0) # Set a default value.
297
- end
298
-
299
291
  # ========================================================================= #
300
292
  # === connect_skeleton (connect tag)
301
293
  # ========================================================================= #
@@ -327,6 +319,14 @@ class FourComponentsEntry < ::Gtk::BaseModuleBox # === Gtk::FourComponentsEntry
327
319
  @entry.make_bold if IS_THE_MAIN_ENTRY_BOLD
328
320
  end
329
321
 
322
+ # ========================================================================= #
323
+ # === run (run tag)
324
+ # ========================================================================= #
325
+ def run
326
+ super()
327
+ set_value(0) # Set a default value.
328
+ end
329
+
330
330
  # ========================================================================= #
331
331
  # === Gtk::FourComponentsEntry.run
332
332
  # ========================================================================= #
@@ -437,7 +437,7 @@ class GidnightCommander < ::Gtk::Box # === Gtk::GidnightCommander
437
437
  def self.run(
438
438
  i = ARGV
439
439
  )
440
- require 'gtk_paradise/app/app.rb'
440
+ require 'gtk_paradise/run'
441
441
  _ = ::Gtk::GidnightCommander.new(i)
442
442
  r = ::Gtk.run
443
443
  r.set_border_width(0)
@@ -196,7 +196,7 @@ class ImageViewer < ::Gtk::Box # === Gtk::ImageViewer
196
196
  def self.run(
197
197
  i = ARGV
198
198
  )
199
- require 'gtk_paradise/app/app.rb'
199
+ require 'gtk_paradise/run'
200
200
  _ = ::Gtk::ImageViewer.new(i)
201
201
  r = ::Gtk.run
202
202
  r << _
@@ -362,7 +362,7 @@ class Keyboard < ::Gtk::Box # === Gtk::Keyboard
362
362
  def self.run(
363
363
  i = ARGV
364
364
  )
365
- require 'gtk_paradise/app/app.rb'
365
+ require 'gtk_paradise/run'
366
366
  _ = ::Gtk::Keyboard.new(i)
367
367
  r = ::Gtk.run
368
368
  r << _
@@ -24,17 +24,17 @@ class LinuxUsers < ::Gtk::BaseModuleBox
24
24
  # ========================================================================= #
25
25
  # === WIDTH
26
26
  # ========================================================================= #
27
- WIDTH = '15% or minimum 150px'
27
+ WIDTH = '12% or minimum 140px'
28
28
 
29
29
  # ========================================================================= #
30
30
  # === HEIGHT
31
31
  # ========================================================================= #
32
- HEIGHT = '60% or minimum 400px'
32
+ HEIGHT = '40% or minimum 300px'
33
33
 
34
34
  # ========================================================================= #
35
35
  # === USE_THIS_FONT
36
36
  # ========================================================================= #
37
- USE_THIS_FONT = :dejavu_condensed_19
37
+ USE_THIS_FONT = :dejavu_condensed_18
38
38
 
39
39
  # ========================================================================= #
40
40
  # === FILE_PASSWD
@@ -120,7 +120,7 @@ class LinuxUsers < ::Gtk::BaseModuleBox
120
120
  # === create_the_scrolled_window
121
121
  # ========================================================================= #
122
122
  def create_the_scrolled_window
123
- tree_view = gtk_tree_view(@list_store)
123
+ tree_view = create_tree_view(@list_store)
124
124
  tree_view.use_these_headers = %w( Users Shell )
125
125
  tree_view.the_headers_can_be_resized
126
126
  tree_view.the_columns_can_be_rearranged
@@ -134,10 +134,10 @@ class LinuxUsers < ::Gtk::BaseModuleBox
134
134
  end
135
135
  }
136
136
  @scrolled_window = gtk_scrolled_window(tree_view) { :only_up_and_down }
137
- @scrolled_window.width_height(540, 500)
137
+ @scrolled_window.width_height(480, 420)
138
138
  @scrolled_window.bblack1
139
- @scrolled_window.pad8px
140
- @scrolled_window.set_border_width(4)
139
+ @scrolled_window.pad5px
140
+ @scrolled_window.set_border_width(2)
141
141
  end
142
142
 
143
143
  # ========================================================================= #
@@ -145,7 +145,7 @@ class LinuxUsers < ::Gtk::BaseModuleBox
145
145
  # ========================================================================= #
146
146
  def add_the_first_row
147
147
  minimal(
148
- gtk_left_aligned_label('<b>Users</b> on the linux-system:')
148
+ left_aligned_label('<b>Users</b> on the linux-system:'), 0
149
149
  )
150
150
  end
151
151
 
@@ -158,7 +158,7 @@ class LinuxUsers < ::Gtk::BaseModuleBox
158
158
  populate_this_list_store_with_that_array(
159
159
  @list_store, @dataset
160
160
  )
161
- minimal(@scrolled_window, 15)
161
+ minimal(@scrolled_window, 8)
162
162
  end
163
163
 
164
164
  # ========================================================================= #
@@ -338,7 +338,7 @@ class MyCalendar < ::Gtk::Box # === Gtk::MyCalendar
338
338
  def self.run(
339
339
  i = ARGV
340
340
  )
341
- require 'gtk_paradise/app/app.rb'
341
+ require 'gtk_paradise/run'
342
342
  _ = ::Gtk::MyCalendar.new(i)
343
343
  r = ::Gtk.run
344
344
  r << _
@@ -164,7 +164,7 @@ class MyImageMenuItem < ::Gtk::Box # === Gtk::MyImageMenuItem
164
164
  def self.run(
165
165
  i = ARGV
166
166
  )
167
- require 'gtk_paradise/app/app.rb'
167
+ require 'gtk_paradise/run'
168
168
  _ = Gtk::MyImageMenuItem.new(i)
169
169
  r = ::Gtk.run
170
170
  r << _
@@ -121,7 +121,7 @@ class NonNumbersOnly < ::Gtk::Entry # === Gtk::NonNumbersOnly
121
121
  def self.run(
122
122
  i = ARGV
123
123
  )
124
- require 'gtk_paradise/app/app.rb'
124
+ require 'gtk_paradise/run'
125
125
  _ = ::Gtk::NonNumbersOnly.new
126
126
  r = ::Gtk.run
127
127
  r << _
@@ -184,7 +184,7 @@ class NoteWindow < ::Gtk::EventBox # === Gtk::NoteWindow
184
184
  def self.run(
185
185
  i = ARGV
186
186
  )
187
- require 'gtk_paradise/app/app.rb'
187
+ require 'gtk_paradise/run'
188
188
  _ = ::Gtk::NoteWindow.new(i)
189
189
  r = ::Gtk.run
190
190
  r << _
@@ -115,11 +115,10 @@ class NotebookTabWithIcon < ::Gtk::BaseModuleBox # === Gtk::NotebookTabWithIcon
115
115
  # ========================================================================= #
116
116
  def reset
117
117
  reset_the_internal_variables
118
- infer_the_namespace
119
118
  # ======================================================================= #
120
119
  # === @configuration
121
120
  # ======================================================================= #
122
- @configuration = [true, __dir__, namespace?]
121
+ @configuration = [true, __dir__, infer_the_namespace]
123
122
  # ======================================================================= #
124
123
  # === Set the title, width, height and the font in use.
125
124
  # ======================================================================= #
@@ -469,7 +468,7 @@ class NotebookTabWithIcon < ::Gtk::BaseModuleBox # === Gtk::NotebookTabWithIcon
469
468
  i = ARGV,
470
469
  &block
471
470
  )
472
- require 'gtk_paradise/app/app.rb'
471
+ require 'gtk_paradise/run'
473
472
  _ = widget(i, :tabble, &block)
474
473
  r = ::Gtk.run
475
474
  r << _
@@ -158,7 +158,7 @@ class NotebookWithStorageFunctionality < ::Gtk::BaseModuleBox # === Gtk::Noteboo
158
158
  def self.run(
159
159
  i = ARGV
160
160
  )
161
- require 'gtk_paradise/app/app.rb'
161
+ require 'gtk_paradise/run'
162
162
  _ = ::Gtk::NotebookWithStorageFunctionality.new(i)
163
163
  r = ::Gtk.run
164
164
  r << _
@@ -40,7 +40,10 @@ class NumbersOnly < ::Gtk::Entry # === Gtk::NumbersOnly
40
40
  # ========================================================================= #
41
41
  def register_the_signals
42
42
  signal_connect(:insert_text) {|wid, string|
43
- signal_emit_stop :insert_text unless is_a_valid_number?(string)
43
+ # Allow ' ' characters.
44
+ unless is_a_valid_number?(string) or string == ' '
45
+ signal_emit_stop(:insert_text)
46
+ end
44
47
  }
45
48
  end
46
49
 
@@ -64,10 +67,13 @@ end; end
64
67
 
65
68
  if __FILE__ == $PROGRAM_NAME
66
69
  require 'gtk_paradise/run'
70
+ numbers_only = Gtk::NumbersOnly.new
67
71
  r = Gtk.run(
68
- add: Gtk::NumbersOnly.new
72
+ add: numbers_only,
73
+ width: 220,
74
+ height: 80
69
75
  )
70
- r.set_border_width(25)
76
+ r.set_border_width(12)
71
77
  r.top_left_and_show_all
72
78
  r.run
73
79
  end
@@ -449,7 +449,7 @@ class RegexMatcher < ::Gtk::BaseModuleBox # === Gtk::RegexMatcher
449
449
  def self.run(
450
450
  i = ARGV
451
451
  )
452
- require 'gtk_paradise/app/app.rb'
452
+ require 'gtk_paradise/run'
453
453
  _ = ::Gtk::RegexMatcher.new(i)
454
454
  r = ::Gtk.run
455
455
  r << _
@@ -67,7 +67,7 @@ class RenameWidget < ::Gtk::Box # === Gtk::RenameWidget
67
67
  run_already = true
68
68
  )
69
69
  super(:vertical)
70
- set_title(TITLE) if respond_to? :set_title
70
+ set_my_title(TITLE) if respond_to? :set_my_title
71
71
  reset
72
72
  set_commandline_arguments(i)
73
73
  run if run_already
@@ -174,7 +174,7 @@ class ShowWhichKeyWasPressed < ::Gtk::Box # === Gtk::ShowWhichKeyWasPressed
174
174
  def self.run(
175
175
  i = ARGV
176
176
  )
177
- require 'gtk_paradise/app/app.rb'
177
+ require 'gtk_paradise/run'
178
178
  _ = Gtk::ShowWhichKeyWasPressed.new(i)
179
179
  r = ::Gtk.run
180
180
  r << _
@@ -11,10 +11,7 @@ require 'gtk_paradise/require_gtk3'
11
11
 
12
12
  module Gtk
13
13
 
14
- class Stopwatch < ::Gtk::Box # === Gtk::Stopwatch
15
-
16
- require 'gtk_paradise/requires/require_the_base_module.rb'
17
- include ::Gtk::BaseModule
14
+ class Stopwatch < ::Gtk::BaseModuleBox # === Gtk::Stopwatch
18
15
 
19
16
  # ========================================================================= #
20
17
  # === DEFAULT_LABEL_TEXT
@@ -29,7 +26,7 @@ class Stopwatch < ::Gtk::Box # === Gtk::Stopwatch
29
26
  # ========================================================================= #
30
27
  # === WIDTH
31
28
  # ========================================================================= #
32
- WIDTH = '65% or minimum 1440px'
29
+ WIDTH = '25% or minimum 240px'
33
30
 
34
31
  # ========================================================================= #
35
32
  # === HEIGHT
@@ -70,7 +67,7 @@ class Stopwatch < ::Gtk::Box # === Gtk::Stopwatch
70
67
  # === Set the title, width, height and the font in use.
71
68
  # ======================================================================= #
72
69
  title_width_height_font(TITLE, WIDTH, HEIGHT, USE_THIS_FONT)
73
- use_gtk_paradise_project_css_file # or use use_project_css_file
70
+ use_gtk_paradise_project_css_file
74
71
  infer_the_size_automatically
75
72
  # ======================================================================= #
76
73
  # === @accumulated
@@ -121,7 +118,8 @@ class Stopwatch < ::Gtk::Box # === Gtk::Stopwatch
121
118
  def populate_and_then_colourize_the_array_containing_the_buttons
122
119
  @array_all_buttons << @button_start << @button_stop << @button_reset
123
120
  @array_all_buttons.each {|this_button|
124
- this_button.lightblue
121
+ this_button.clear_background
122
+ this_button.on_hover_lightblue
125
123
  }
126
124
  end
127
125
 
@@ -132,7 +130,7 @@ class Stopwatch < ::Gtk::Box # === Gtk::Stopwatch
132
130
  # ======================================================================= #
133
131
  # The "start the count-down" button:
134
132
  # ======================================================================= #
135
- @button_start = gtk_button('_Start')
133
+ @button_start = button('_Start')
136
134
  @button_start.hint = ' <b>Start</b> the stopwatch counter '
137
135
  @button_start.on_clicked {
138
136
  do_start_the_stopwatch_counter
@@ -142,7 +140,7 @@ class Stopwatch < ::Gtk::Box # === Gtk::Stopwatch
142
140
  # ======================================================================= #
143
141
  # The stop-button:
144
142
  # ======================================================================= #
145
- @button_stop = gtk_button('S_top')
143
+ @button_stop = button('S_top')
146
144
  @button_stop.hint = ' <b>Stop</b> the stopwatch counter '
147
145
  @button_stop.on_clicked {
148
146
  do_stop_the_stopwatch_counter
@@ -154,7 +152,7 @@ class Stopwatch < ::Gtk::Box # === Gtk::Stopwatch
154
152
  # ======================================================================= #
155
153
  # The reset-button:
156
154
  # ======================================================================= #
157
- @button_reset = gtk_button('_Reset')
155
+ @button_reset = button('_Reset')
158
156
  @button_reset.hint = ' <b>Reset</b> the stopwatch to its '\
159
157
  'initial (startup) state '
160
158
  @button_reset.on_clicked {
@@ -258,7 +256,7 @@ class Stopwatch < ::Gtk::Box # === Gtk::Stopwatch
258
256
  # === create_labels (labels tag, label tag)
259
257
  # ========================================================================= #
260
258
  def create_labels
261
- @label_showing_the_time = gtk_label(DEFAULT_LABEL_TEXT)
259
+ @label_showing_the_time = create_label(DEFAULT_LABEL_TEXT)
262
260
  @label_showing_the_time.set_size_request(400, 50)
263
261
  @label_showing_the_time.align_to_the_left
264
262
  end
@@ -287,11 +285,11 @@ class Stopwatch < ::Gtk::Box # === Gtk::Stopwatch
287
285
  # ========================================================================= #
288
286
  def connect_skeleton
289
287
  abort_on_exception
290
- hbox_with_buttons = gtk_hbox
288
+ hbox_with_buttons = create_hbox
291
289
  hbox_with_buttons.minimal(@button_start)
292
290
  hbox_with_buttons.minimal(@button_stop)
293
291
  hbox_with_buttons.minimal(@button_reset)
294
- vbox = gtk_vbox
292
+ vbox = create_vbox
295
293
  vbox.add(@label_showing_the_time)
296
294
  vbox.minimal(hbox_with_buttons, 8)
297
295
  # ======================================================================= #
@@ -326,7 +324,7 @@ class Stopwatch < ::Gtk::Box # === Gtk::Stopwatch
326
324
  def self.run(
327
325
  i = ARGV
328
326
  )
329
- require 'gtk_paradise/app/app.rb'
327
+ require 'gtk_paradise/run/run.rb'
330
328
  _ = Gtk::Stopwatch.new(i)
331
329
  r = ::Gtk.run
332
330
  r << _
@@ -13,9 +13,7 @@ require 'gtk_paradise/require_gtk3'
13
13
 
14
14
  module Gtk
15
15
 
16
- class SysMessage < ::Gtk::Box # === Gtk::SysMessage
17
-
18
- include ::Gtk::BaseModule
16
+ class SysMessage < ::Gtk::BaseModuleBox # === Gtk::SysMessage
19
17
 
20
18
  begin
21
19
  require 'roebe/classes/on_screen_display.rb'
@@ -225,7 +223,7 @@ class SysMessage < ::Gtk::Box # === Gtk::SysMessage
225
223
  def self.run(
226
224
  i = ARGV
227
225
  )
228
- require 'gtk_paradise/app/app.rb'
226
+ require 'gtk_paradise/run'
229
227
  _ = Gtk::SysMessage.new(i)
230
228
  r = ::Gtk.run
231
229
  r << _
@@ -187,7 +187,7 @@ class SystemInformation < ::Gtk::Box # === Gtk::SystemInformation
187
187
  # === run (run tag)
188
188
  # ========================================================================= #
189
189
  def run
190
- create_skeleton_then_connect_skeleton
190
+ super()
191
191
  end
192
192
 
193
193
  # ========================================================================= #
@@ -196,7 +196,7 @@ class SystemInformation < ::Gtk::Box # === Gtk::SystemInformation
196
196
  def self.run(
197
197
  i = ARGV
198
198
  )
199
- require 'gtk_paradise/app/app.rb'
199
+ require 'gtk_paradise/run'
200
200
  _ = ::Gtk::SystemInformation.new(i)
201
201
  r = ::Gtk.run
202
202
  r << _
@@ -45,11 +45,19 @@ class TypeTrainer < ::Gtk::BaseModuleBox # === FoobarParadise::GUI::Gtk::TypeTra
45
45
  # ========================================================================= #
46
46
  # === RUBY_WORDS
47
47
  # ========================================================================= #
48
- RUBY_WORDS = 'In ruby you will see several '\
49
- 'commands def puts def () and there are many '\
50
- 'special tokens class String class def >> def puts '\
51
- ' << print << puts def class String. '\
52
- 'Simply try to type them def def define okay?'
48
+ RUBY_WORDS = <<-EOF
49
+
50
+ In ruby you will see several commands def puts def () and there
51
+ are many special tokens:
52
+
53
+ class String
54
+ class def >>
55
+ def puts << print << puts def class String.
56
+ end
57
+
58
+ Simply try to type them def def define okay?
59
+
60
+ EOF
53
61
 
54
62
  # ========================================================================= #
55
63
  # === initialize
@@ -166,7 +174,7 @@ class TypeTrainer < ::Gtk::BaseModuleBox # === FoobarParadise::GUI::Gtk::TypeTra
166
174
  def self.run(
167
175
  i = ARGV
168
176
  )
169
- require 'gtk_paradise/app/app.rb'
177
+ require 'gtk_paradise/run'
170
178
  _ = ::Gtk::TypeTrainer.new(i)
171
179
  r = ::Gtk.run
172
180
  r << _
@@ -11,16 +11,13 @@ require 'gtk_paradise/require_gtk3'
11
11
 
12
12
  module Gtk
13
13
 
14
- class ViewWebpage < ::Gtk::Box # === Gtk::ViewWebpage
14
+ class ViewWebpage < ::Gtk::BaseModuleBox # === Gtk::ViewWebpage
15
15
 
16
16
  require 'open-uri'
17
17
  begin
18
18
  require 'save_file'
19
19
  rescue LoadError; end
20
20
 
21
- require 'gtk_paradise/requires/require_the_base_module.rb'
22
- include ::Gtk::BaseModule
23
-
24
21
  # ========================================================================= #
25
22
  # === TITLE
26
23
  # ========================================================================= #
@@ -29,12 +26,12 @@ class ViewWebpage < ::Gtk::Box # === Gtk::ViewWebpage
29
26
  # ========================================================================= #
30
27
  # === WIDTH
31
28
  # ========================================================================= #
32
- WIDTH = '75% or minimum 1400px'
29
+ WIDTH = '55% or minimum 1000px'
33
30
 
34
31
  # ========================================================================= #
35
32
  # === HEIGHT
36
33
  # ========================================================================= #
37
- HEIGHT = '55% or minimum 600px'
34
+ HEIGHT = '35% or minimum 400px'
38
35
 
39
36
  # ========================================================================= #
40
37
  # === USE_THIS_FONT
@@ -66,19 +63,7 @@ class ViewWebpage < ::Gtk::Box # === Gtk::ViewWebpage
66
63
  # === @configuration
67
64
  # ======================================================================= #
68
65
  @configuration = [true, __dir__, namespace?]
69
- # ======================================================================= #
70
- # === @title
71
- # ======================================================================= #
72
- set_title(TITLE)
73
- # ======================================================================= #
74
- # === @width
75
- # ======================================================================= #
76
- set_width(WIDTH)
77
- # ======================================================================= #
78
- # === @height
79
- # ======================================================================= #
80
- set_height(HEIGHT)
81
- set_use_this_font(USE_THIS_FONT)
66
+ title_width_height_font(TITLE, WIDTH, HEIGHT, USE_THIS_FONT)
82
67
  use_gtk_paradise_project_css_file
83
68
  infer_the_size_automatically
84
69
  # ======================================================================= #
@@ -115,9 +100,8 @@ class ViewWebpage < ::Gtk::Box # === Gtk::ViewWebpage
115
100
  # ========================================================================= #
116
101
  def connect_skeleton
117
102
  abort_on_exception
118
- minimal(gtk_left_aligned_label('Hello world! This is a simple test.'))
119
- minimal(gtk_left_aligned_label('Enter the remote URL:'), 2)
120
- entry = gtk_entry
103
+ minimal(left_aligned_label('Enter the remote URL:'), 2)
104
+ entry = create_entry
121
105
  entry.align_to_the_center
122
106
  entry.bblack2
123
107
  entry.yellow_background
@@ -130,7 +114,7 @@ class ViewWebpage < ::Gtk::Box # === Gtk::ViewWebpage
130
114
  @text_view = gtk_text_view
131
115
  @text_view.bblack1
132
116
  @text_view.pad5px
133
- @text_view.css_class('mar5px')
117
+ @text_view.mar5px
134
118
  @text_view.use_this_font = :hack_9
135
119
  @text_view.wrap_mode_word
136
120
  scrolled_window = gtk_scrolled_window(@text_view) { :always }
@@ -143,10 +127,14 @@ class ViewWebpage < ::Gtk::Box # === Gtk::ViewWebpage
143
127
  # ========================================================================= #
144
128
  def do_download_into_a_local_page
145
129
  if @remote_URL
146
- dataset = URI.open(@remote_URL).read
147
- into = '/home/Temp/foobar.html'
148
- SaveFile.write_what_into(dataset, into)
149
- @text_view.set_text(dataset.to_s)
130
+ begin
131
+ dataset = URI.open(@remote_URL).read
132
+ into = '/home/Temp/foobar.html'
133
+ SaveFile.write_what_into(dataset, into)
134
+ @text_view.set_text(dataset.to_s)
135
+ rescue Exception => error
136
+ pp error
137
+ end
150
138
  end
151
139
  end
152
140
 
@@ -163,7 +151,7 @@ class ViewWebpage < ::Gtk::Box # === Gtk::ViewWebpage
163
151
  def self.run(
164
152
  i = ARGV
165
153
  )
166
- require 'gtk_paradise/app/app.rb'
154
+ require 'gtk_paradise/run'
167
155
  _ = ::Gtk::ViewWebpage.new(i)
168
156
  r = ::Gtk.run
169
157
  r << _
@@ -217,7 +217,7 @@ class WidgetSwitcher < ::Gtk::BaseModuleBox # === Gtk::WidgetSwitcher
217
217
  def self.run(
218
218
  i = ARGV
219
219
  )
220
- require 'gtk_paradise/app/app.rb'
220
+ require 'gtk_paradise/run'
221
221
  _ = ::Gtk::WidgetSwitcher.new(i)
222
222
  r = ::Gtk.run
223
223
  r << _
@@ -1,4 +1,3 @@
1
- This directory was created to simulate a wiki via a ruby-gtk3
2
- application. It will - at the least initially - be based on
3
- yaml files. The option to use SQL may be added at a later
4
- moment in time.
1
+ This directory was created to simulate a wiki via a ruby-gtk3 application.
2
+ It will - at the least initially - be based on yaml files. The option to
3
+ use SQL may be added at a later moment in time.
@@ -11,9 +11,7 @@ require 'gtk_paradise/require_gtk3'
11
11
 
12
12
  module Gtk
13
13
 
14
- class Wiki < ::Gtk::Box # === Gtk::Wiki
15
-
16
- include ::Gtk::BaseModule
14
+ class Wiki < ::Gtk::BaseModuleBox # === Gtk::Wiki
17
15
 
18
16
  # ========================================================================= #
19
17
  # === TITLE
@@ -364,17 +362,6 @@ class Wiki < ::Gtk::Box # === Gtk::Wiki
364
362
  @entry_name_of_the_article.do_focus
365
363
  end
366
364
 
367
- # ========================================================================= #
368
- # === do_style_this_button_in_a_uniform_manner
369
- # ========================================================================= #
370
- def do_style_this_button_in_a_uniform_manner(i)
371
- i.clear_background
372
- i.bblack2
373
- i.on_hover_colour(:lightgreen)
374
- i.pad8px
375
- i.use_this_font = smaller_font?
376
- end
377
-
378
365
  # ========================================================================= #
379
366
  # === do_save_the_current_page (save tag)
380
367
  #
@@ -404,6 +391,17 @@ class Wiki < ::Gtk::Box # === Gtk::Wiki
404
391
  @content_of_the_wiki
405
392
  end; alias main_hash? content_of_the_wiki? # === main_hash?
406
393
 
394
+ # ========================================================================= #
395
+ # === do_style_this_button_in_a_uniform_manner
396
+ # ========================================================================= #
397
+ def do_style_this_button_in_a_uniform_manner(i)
398
+ i.clear_background
399
+ i.bblack2
400
+ i.on_hover_colour(:lightgreen)
401
+ i.pad8px
402
+ i.use_this_font = smaller_font?
403
+ end
404
+
407
405
  # ========================================================================= #
408
406
  # === run (run tag)
409
407
  # ========================================================================= #
@@ -422,7 +420,7 @@ class Wiki < ::Gtk::Box # === Gtk::Wiki
422
420
  def self.run(
423
421
  i = ARGV
424
422
  )
425
- require 'gtk_paradise/app/app.rb'
423
+ require 'gtk_paradise/run/run.rb'
426
424
  _ = ::Gtk::Wiki.new(i)
427
425
  r = ::Gtk.run
428
426
  _.set_parent_widget(r)
@@ -118,7 +118,7 @@ class ShowIconTheme < ::Gtk::Box # === FoobarParadise::GUI::Gtk::ShowIconTheme
118
118
  ::Gtk.default_application('show_icon_theme') {{
119
119
  widget_to_use: ::Gtk::ShowIconTheme.new
120
120
  }}
121
- # require 'gtk_paradise/app/app.rb'
121
+ # require 'gtk_paradise/run'
122
122
  # _ = ::FoobarParadise::GUI::Gtk::ShowIconTheme.new(i)
123
123
  # r = ::Gtk.run
124
124
  # r << _
@@ -243,7 +243,7 @@ pp keycode.class
243
243
  def self.run(
244
244
  i = ARGV
245
245
  )
246
- require 'gtk_paradise/app/app.rb'
246
+ require 'gtk_paradise/run'
247
247
  _ = Gtk::SysMessage.new(i)
248
248
  r = ::Gtk.run
249
249
  r << _