libui_paradise 0.3.9 → 0.4.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +176 -155
  3. data/bin/libui_message +1 -1
  4. data/doc/README.gen +175 -85
  5. data/doc/todo/todo.md +9 -5
  6. data/lib/libui_paradise/autoinclude.rb +2 -1
  7. data/lib/libui_paradise/base/base.rb +17 -67
  8. data/lib/libui_paradise/base_module/base_module.rb +1514 -0
  9. data/lib/libui_paradise/colours/colours.rb +4 -4
  10. data/lib/libui_paradise/domain_specific_language/README.md +6 -0
  11. data/lib/libui_paradise/examples/complex/002_tabs_example.rb +1 -2
  12. data/lib/libui_paradise/examples/complex/003_open_file_button_example.rb +1 -1
  13. data/lib/libui_paradise/examples/complex/006_coloured_boxes_example.rb +2 -2
  14. data/lib/libui_paradise/examples/complex/007_slider_example.rb +10 -4
  15. data/lib/libui_paradise/examples/complex/008_radio_button_example.rb +2 -2
  16. data/lib/libui_paradise/examples/complex/009_separator_example.rb +2 -2
  17. data/lib/libui_paradise/examples/complex/010_table_example.rb +5 -9
  18. data/lib/libui_paradise/examples/complex/011_two_buttons_showing_how_to_enable_and_disable_them.rb +2 -1
  19. data/lib/libui_paradise/examples/complex/012_password_entry_example.rb +1 -1
  20. data/lib/libui_paradise/examples/complex/013_form_example.rb +1 -1
  21. data/lib/libui_paradise/examples/complex/014_text_example.rb +1 -1
  22. data/lib/libui_paradise/examples/complex/015_text_view_example.rb +4 -4
  23. data/lib/libui_paradise/examples/complex/016_grid_example.rb +20 -11
  24. data/lib/libui_paradise/examples/complex/017_unicode_text_example.rb +2 -2
  25. data/lib/libui_paradise/examples/complex/018_spinbutton_example.rb +1 -1
  26. data/lib/libui_paradise/examples/complex/019_combo_box_example.rb +1 -1
  27. data/lib/libui_paradise/examples/complex/020_checkbox_example.rb +5 -5
  28. data/lib/libui_paradise/examples/complex/021_font_example.rb +4 -3
  29. data/lib/libui_paradise/examples/complex/022_simple_notepad_example.rb +3 -3
  30. data/lib/libui_paradise/examples/complex/023_msg_box_error.rb +5 -5
  31. data/lib/libui_paradise/examples/complex/024_parse_config_file_example.rb +2 -2
  32. data/lib/libui_paradise/examples/complex/025_colour_button.rb +1 -1
  33. data/lib/libui_paradise/examples/complex/026_basic_table_image.rb +5 -8
  34. data/lib/libui_paradise/examples/complex/027_basic_button_example.rb +3 -3
  35. data/lib/libui_paradise/examples/complex/028_try_for_automatic_button_press_event_after_a_delay.rb +4 -5
  36. data/lib/libui_paradise/examples/complex/029_progressbar_example.rb +4 -5
  37. data/lib/libui_paradise/examples/complex/030_entry_responds_to_comment_as_synonymous_to_the_enter_key_pressed_example.rb +5 -6
  38. data/lib/libui_paradise/examples/complex/031_notification_functionality_example.rb +3 -2
  39. data/lib/libui_paradise/examples/complex/032_simple_window_example.rb +2 -1
  40. data/lib/libui_paradise/examples/complex/033_daemonize_and_exit_after_delay_example.rb +3 -2
  41. data/lib/libui_paradise/examples/complex/034_bold_text_example.rb +115 -0
  42. data/lib/libui_paradise/examples/complex/035_parse_into_table_example.rb +109 -0
  43. data/lib/libui_paradise/examples/simple/001_open_file_example.rb +1 -1
  44. data/lib/libui_paradise/examples/simple/002_histogram_example.rb +6 -6
  45. data/lib/libui_paradise/examples/simple/003_fancy_text_example.rb +63 -35
  46. data/lib/libui_paradise/examples/simple/005_text_drawing_example.rb +3 -3
  47. data/lib/libui_paradise/examples/simple/007_control_gallery.rb +2 -1
  48. data/lib/libui_paradise/examples/simple/009_spectrum.rb +7 -1
  49. data/lib/libui_paradise/examples/simple/012_table_example.rb +5 -5
  50. data/lib/libui_paradise/examples/simple/013_scrolling_pane_example.rb +28 -0
  51. data/lib/libui_paradise/examples/simple/014_simple_entry_example.rb +30 -0
  52. data/lib/libui_paradise/examples/simple/015_slider_example.rb +32 -0
  53. data/lib/libui_paradise/fiddle/fiddle.rb +771 -636
  54. data/lib/libui_paradise/libui_classes/button.rb +31 -0
  55. data/lib/libui_paradise/libui_classes/entry.rb +35 -0
  56. data/lib/libui_paradise/libui_classes/grid.rb +14 -26
  57. data/lib/libui_paradise/libui_classes/hbox.rb +39 -0
  58. data/lib/libui_paradise/libui_classes/libui_classes.rb +9 -1630
  59. data/lib/libui_paradise/libui_classes/msg_box.rb +121 -0
  60. data/lib/libui_paradise/libui_classes/msg_box_error.rb +41 -0
  61. data/lib/libui_paradise/libui_classes/slider.rb +28 -0
  62. data/lib/libui_paradise/libui_classes/spinbox.rb +48 -0
  63. data/lib/libui_paradise/libui_classes/vbox.rb +38 -0
  64. data/lib/libui_paradise/project/project.rb +2 -1
  65. data/lib/libui_paradise/prototype/prototype.rb +8 -8
  66. data/lib/libui_paradise/requires/require_the_libui_classes.rb +2 -2
  67. data/lib/libui_paradise/requires/require_the_libui_paradise_project.rb +4 -2
  68. data/lib/libui_paradise/toplevel_methods/add_to_the_registered_widgets.rb +70 -0
  69. data/lib/libui_paradise/toplevel_methods/hash_fiddle_pointer_widgets.rb +37 -0
  70. data/lib/libui_paradise/{extensions → toplevel_methods}/toplevel_counters.rb +26 -1
  71. data/lib/libui_paradise/toplevel_methods/toplevel_methods.rb +792 -0
  72. data/lib/libui_paradise/version/version.rb +2 -2
  73. data/test/testing_generic_window.rb +2 -0
  74. metadata +22 -8
  75. data/doc/SNIPPETS.md +0 -65
  76. data/lib/libui_paradise/extensions/extensions.rb +0 -979
  77. data/lib/libui_paradise/libui_classes/box.rb +0 -157
@@ -2,24 +2,24 @@
2
2
  # Encoding: UTF-8
3
3
  # frozen_string_literal: true
4
4
  # =========================================================================== #
5
- # require 'libui_paradise/colours/colours.rb
5
+ # require 'libui_paradise/colours/colours.rb'
6
6
  # =========================================================================== #
7
7
  module LibuiParadise
8
8
 
9
9
  # ========================================================================= #
10
- # === COLOR_BLUE
10
+ # === LibuiParadise::COLOR_BLUE
11
11
  #
12
12
  # This is actually dodgerblue.
13
13
  # ========================================================================= #
14
14
  COLOR_BLUE = 0x1E90FF
15
15
 
16
16
  # ========================================================================= #
17
- # === COLOR_MIDNIGHTBLUE
17
+ # === LibuiParadise::COLOR_MIDNIGHTBLUE
18
18
  # ========================================================================= #
19
19
  COLOR_MIDNIGHTBLUE = 0x191970
20
20
 
21
21
  # ========================================================================= #
22
- # === COLOR_LIGHTSEAGREEN
22
+ # === LibuiParadise::COLOR_LIGHTSEAGREEN
23
23
  # ========================================================================= #
24
24
  COLOR_LIGHTSEAGREEN = 0x20b2aa
25
25
 
@@ -3,3 +3,9 @@ libui_paradise even more.
3
3
 
4
4
  For instance, the user should be able to parse widgets that
5
5
  are described in pure yaml.
6
+
7
+ As of December 2023 this is probably no longer as important,
8
+ as the gem called universal_widgets uses a simplified YAML
9
+ format that is more terse. But, in the event that we may
10
+ wish to revisit this idea, the directory here will be
11
+ retained.
@@ -5,9 +5,8 @@
5
5
  # require '002_tabs_example.rb'
6
6
  # =========================================================================== #
7
7
  require 'libui_paradise/autoinclude'
8
- #require 'libui_paradise/requires/require_the_libui_paradise_project.rb'
9
8
 
10
- window = ui_main_window('A notebook with tabs example', 1200, 200, 15)
9
+ window = main_window('A notebook with tabs example', 1200, 200, 15)
11
10
 
12
11
  tab = ui_tabs
13
12
  tab.add('Page 1', hbox(text('One! 😎️')))
@@ -8,7 +8,7 @@
8
8
  # =========================================================================== #
9
9
  require 'libui_paradise/autoinclude'
10
10
 
11
- window = ui_padded_main_window('An open-file button-example', 1200, 200, 15)
11
+ window = padded_main_window('An open-file button-example', 1200, 200, 15)
12
12
 
13
13
  outer_vbox = ui_padded_vbox
14
14
  button_open_file = ui_button('Open file')
@@ -8,9 +8,9 @@ require 'libui_paradise/autoinclude'
8
8
 
9
9
  require 'colours' # Needs the colours gem.
10
10
 
11
- window = ui_main_window('Coloured boxes example', 320, 200, 1)
11
+ window = padded_main_window('Coloured boxes example', :default, 200, 1)
12
12
 
13
- outer_hbox = ui_hbox
13
+ outer_hbox = create_hbox
14
14
  outer_hbox.maximal LibuiParadise.draw_rectangle(:default, :default, Colours.random_html_colour)
15
15
  outer_hbox.maximal LibuiParadise.draw_rectangle(:default, :default, :seagreen)
16
16
  outer_hbox.maximal LibuiParadise.draw_rectangle(:default, :default, :springgreen)
@@ -6,16 +6,21 @@
6
6
  # =========================================================================== #
7
7
  require 'libui_paradise/autoinclude'
8
8
 
9
- window = ui_main_window('Slider Example', 250, 70, 1)
9
+ # =========================================================================== #
10
+ # === UPPER_RANGE
11
+ # =========================================================================== #
12
+ UPPER_RANGE = 20
10
13
 
11
- slider = ui_slider(0, 100)
14
+ window = padded_main_window('Slider Example', :default, 70, 1)
15
+
16
+ slider = create_slider(0, UPPER_RANGE)
12
17
 
13
18
  # =========================================================================== #
14
19
  # === callback_for_the_slider
15
20
  # =========================================================================== #
16
21
  def callback_for_the_slider
17
22
  proc { |pointer|
18
- puts "New Slider value: #{UI.slider_value(pointer)}"
23
+ puts "New Slider value: #{LibUI.slider_value(pointer)}"
19
24
  }
20
25
  end
21
26
  slider.on_changed { callback_for_the_slider }
@@ -27,5 +32,6 @@ slider.on_changed { callback_for_the_slider }
27
32
  #
28
33
  # =========================================================================== #
29
34
  outer_vbox = ui_padded_vbox(slider)
30
- window.add(outer_vbox)
35
+
36
+ window << outer_vbox
31
37
  window.intelligent_quit
@@ -6,7 +6,7 @@
6
6
  # =========================================================================== #
7
7
  require 'libui_paradise/autoinclude'
8
8
 
9
- window = margined_window(:filename, 320, 200, 0)
9
+ window = margined_window(:filename, :default, 200, 0)
10
10
 
11
11
  outer_vbox = padded_vbox
12
12
  array_to_use = ['Radio Button 1', 'Radio Button 2', 'Radio Button 3']
@@ -19,5 +19,5 @@ rb = ui_radio_buttons(array_to_use)
19
19
  outer_vbox.minimal(rb)
20
20
  outer_vbox.minimal(hsep, 0)
21
21
 
22
- window.child = outer_vbox
22
+ window << outer_vbox
23
23
  window.intelligent_quit
@@ -6,7 +6,7 @@
6
6
  # =========================================================================== #
7
7
  require 'libui_paradise/autoinclude'
8
8
 
9
- window = margined_window(:filename, 250, 150, 0)
9
+ window = margined_window(:filename, :default, 150, 0)
10
10
 
11
11
  outer_vbox = padded_vbox
12
12
 
@@ -21,5 +21,5 @@ outer_vbox.minimal(button_hello_world, 1)
21
21
  outer_vbox.minimal(hsep, 0)
22
22
  outer_vbox.minimal(hsep, 1)
23
23
 
24
- window.child = outer_vbox
24
+ window << outer_vbox
25
25
  window.intelligent_quit
@@ -12,7 +12,7 @@ module GUI
12
12
 
13
13
  module LibUI
14
14
 
15
- class TableExample < Base # === LibuiParadise::GUI::LibUI::TableExample
15
+ class TableExample < ::LibuiParadise::Base # === LibuiParadise::GUI::LibUI::TableExample
16
16
 
17
17
  # ========================================================================= #
18
18
  # === DATA
@@ -29,11 +29,6 @@ class TableExample < Base # === LibuiParadise::GUI::LibUI::TableExample
29
29
  %w( 7 8 9 )
30
30
  ]
31
31
 
32
- alias e puts
33
-
34
- require 'libui_paradise'
35
- include LibuiParadise::Extensions
36
-
37
32
  # ========================================================================= #
38
33
  # === TITLE
39
34
  # ========================================================================= #
@@ -63,6 +58,7 @@ class TableExample < Base # === LibuiParadise::GUI::LibUI::TableExample
63
58
  # === reset (reset tag)
64
59
  # ========================================================================= #
65
60
  def reset
61
+ reset_the_internal_hash
66
62
  title_width_height(TITLE, WIDTH, HEIGHT)
67
63
  end
68
64
 
@@ -73,7 +69,7 @@ class TableExample < Base # === LibuiParadise::GUI::LibUI::TableExample
73
69
  # ======================================================================= #
74
70
  # === @window
75
71
  # ======================================================================= #
76
- @window = ui_padded_main_window(title?, width?, height?, 0)
72
+ set_window(return_default_window)
77
73
  # ======================================================================= #
78
74
  # Protects BlockCaller objects from garbage collection.
79
75
  # ======================================================================= #
@@ -137,8 +133,8 @@ class TableExample < Base # === LibuiParadise::GUI::LibUI::TableExample
137
133
  button1
138
134
  )
139
135
  outer_vbox.minimal(quit_button)
140
- @window.add(outer_vbox)
141
- @window.intelligent_exit
136
+ main_window? << outer_vbox
137
+ main_window?.intelligent_exit
142
138
  free_table_model(model)
143
139
  end
144
140
 
@@ -19,6 +19,7 @@ button2.disable # Start-state for this button.
19
19
  outer_hbox << button1
20
20
  outer_hbox << button2
21
21
 
22
+ # The two buttons will toggle one another.
22
23
  button1.on_clicked {|widget|
23
24
  button2.enable
24
25
  button1.disable
@@ -28,5 +29,5 @@ button2.on_clicked {|widget|
28
29
  button2.disable
29
30
  }
30
31
 
31
- main_window.child = outer_hbox
32
+ main_window << outer_hbox
32
33
  main_window.intelligent_exit
@@ -25,5 +25,5 @@ button.on_clicked {
25
25
  }
26
26
  outer_vbox.minimal(button, 0)
27
27
 
28
- window.child = outer_vbox
28
+ window << outer_vbox
29
29
  window.intelligent_quit
@@ -34,5 +34,5 @@ button_display_name.on_clicked {
34
34
  outer_vbox.minimal(hsep, 0)
35
35
  outer_vbox.minimal(button_display_name, 1)
36
36
 
37
- window.child = outer_vbox
37
+ window << outer_vbox
38
38
  window.intelligent_quit
@@ -14,5 +14,5 @@ text = ui_text
14
14
  outer_vbox.minimal(text, 1)
15
15
 
16
16
  text.set_text('Hello world!')
17
- window.child = outer_vbox
17
+ window << outer_vbox
18
18
  window.intelligent_quit
@@ -2,15 +2,15 @@
2
2
  # Encoding: UTF-8
3
3
  # frozen_string_literal: true
4
4
  # =========================================================================== #
5
- # 024_text_view_example.rb
5
+ # 015_text_view_example.rb
6
6
  # =========================================================================== #
7
7
  require 'libui_paradise/autoinclude'
8
8
 
9
- window = padded_main_window('Text View Example', 500, 300, 0)
9
+ window = padded_main_window('Text View Example', :default, 300, 0)
10
10
 
11
11
  outer_vbox = padded_vbox
12
12
  text = multiline_entry('Hello world! This can be set to read only via .is_read_only().')
13
- # text.is_read_only
13
+ # text.is_read_only # This can be used to set it to read-only.
14
14
  outer_vbox.minimal(text, 1)
15
- window.child = outer_vbox
15
+ window << outer_vbox
16
16
  window.intelligent_quit
@@ -10,22 +10,31 @@ require 'libui_paradise/autoinclude'
10
10
 
11
11
  window = padded_main_window('A simple grid-example', 1200, 200, 15)
12
12
 
13
- grid = ui_padded_grid
14
- UI.grid_append(grid, text('Yo1'), 0, 0, 1, 1, 0, 0, 1, 0)
15
- UI.grid_append(grid, text('Yo2'), 1, 0, 1, 1, 0, 0, 1, 0)
16
- UI.grid_append(grid, text('Yo3'), 2, 0, 1, 1, 0, 0, 1, 0)
17
-
18
- UI.grid_append(grid, text('Yo4'), 0, 1, 1, 1, 0, 0, 1, 0)
19
- UI.grid_append(grid, text('Yo5'), 1, 1, 1, 1, 0, 0, 1, 0)
20
- UI.grid_append(grid, text('Yo6'), 2, 1, 1, 1, 0, 0, 1, 0)
13
+ grid = padded_grid
14
+ grid.grid_append(text('Yo1'))
15
+ grid.grid_append(text('Yo2'))
16
+ grid.grid_append(text('Yo3'))
17
+ LibuiParadise.new_row
18
+ # ======================================================================= #
19
+ # left, top, xspan, yspan, hexpand, halign, vexpand, valign
20
+ # 0, 0, 1, 1, 0, 0, 1, 0
21
+ # ======================================================================= #
22
+ grid.grid_append(text('Yo4'))
23
+ grid.grid_append(text('Yo5'))
24
+ grid.grid_append(text('Yo6'))
25
+ LibuiParadise.new_row
21
26
 
27
+ # ========================================================================= #
28
+ # This one will add at a specific position - it's a little more complicated
29
+ # than the prior methods, but this shows how it can be done.
30
+ # ========================================================================= #
22
31
  grid.hash_grid(
23
32
  text('Yo7'),
24
- { left: 2, top: 3, xspan: 3, yspan: 3, hexpand: 0, halign: 0, vexpand: 0, valign: 0 }
33
+ { left: 3, top: 3, xspan: 3, yspan: 3, hexpand: 1, halign: 0, vexpand: 1, valign: 0 }
25
34
  )
26
35
 
27
36
  vbox = padded_vbox
28
37
  vbox << grid
29
38
 
30
- window.child = vbox
31
- window.intelligent_exit
39
+ #window << vbox
40
+ window.intelligent_exit(vbox)
@@ -8,7 +8,7 @@
8
8
  # =========================================================================== #
9
9
  require 'libui_paradise/autoinclude'
10
10
 
11
- window = ui_margined_main_window('Unicode Text Example', 1200, 200, 15)
11
+ window = margined_main_window('Unicode Text Example', 1200, 200, 15)
12
12
 
13
13
  outer_vbox = padded_vbox
14
14
  text = text(
@@ -26,5 +26,5 @@ Let's test this next with some unicode:
26
26
 
27
27
  outer_vbox << text
28
28
 
29
- window.child = outer_vbox
29
+ window << outer_vbox
30
30
  window.intelligent_quit
@@ -29,5 +29,5 @@ LibUI.spinbox_on_changed(spinbutton, spinbox_changed_callback, nil)
29
29
 
30
30
  outer_vbox << spinbutton
31
31
 
32
- window.child = outer_vbox
32
+ window << outer_vbox
33
33
  window.intelligent_quit
@@ -46,5 +46,5 @@ button_clear_the_combo_box.on_clicked {
46
46
  }
47
47
 
48
48
  box.minimal(button_clear_the_combo_box)
49
- main_window.child = box
49
+ main_window << box
50
50
  main_window.intelligent_exit
@@ -71,11 +71,11 @@ checkbox_toggle_callback = proc { |ptr|
71
71
  UI.checkbox_on_toggled(checkbox, checkbox_toggle_callback, nil)
72
72
  inner.add(checkbox, 0)
73
73
 
74
- MAIN_WINDOW = UI.window('hello world', 600, HEIGHT, 1)
74
+ MAIN_WINDOW = UI.window('hello world', :default, HEIGHT, 1)
75
75
 
76
- UI.window_set_margined(MAIN_WINDOW, 1)
77
- UI.window_set_child(MAIN_WINDOW, vbox)
76
+ LibUI.window_set_margined(MAIN_WINDOW, 1)
77
+ MAIN_WINDOW << vbox
78
78
 
79
- UI.window_on_closing(MAIN_WINDOW, should_quit_callback, nil)
79
+ LibUI.window_on_closing(MAIN_WINDOW, should_quit_callback, nil)
80
80
  MAIN_WINDOW.control_show
81
- UI.main_then_quit
81
+ LibUI.main_then_quit
@@ -15,7 +15,7 @@
15
15
  class FontExample
16
16
 
17
17
  require 'libui_paradise'
18
- include LibuiParadise::Extensions
18
+ include LibuiParadise::BaseModule
19
19
 
20
20
  # ========================================================================= #
21
21
  # === USE_THIS_FONT
@@ -45,6 +45,7 @@ class FontExample
45
45
  def initialize(
46
46
  run_already = true
47
47
  )
48
+ reset
48
49
  run if run_already
49
50
  end
50
51
 
@@ -67,7 +68,7 @@ class FontExample
67
68
  handler_draw_event = Fiddle::Closure::BlockCaller.new(0, [1, 1, 1]) { |_, _, adp|
68
69
  area_draw_params = LibUI::FFI::AreaDrawParams.new(adp)
69
70
  default_font = font {{
70
- font_size: USE_THIS_FONT_SIZE,
71
+ font_size: USE_THIS_FONT_SIZE, # Pass in the font-size here.
71
72
  font_family: USE_THIS_FONT,
72
73
  italic: false,
73
74
  stretch: 2,
@@ -102,7 +103,7 @@ class FontExample
102
103
 
103
104
  main_window = ui_main_window(TITLE, WIDTH, 400, 1)
104
105
  LibUI.window_set_margined(main_window, 1)
105
- main_window.child = box
106
+ main_window << box
106
107
  main_window.simple_exit
107
108
  main_window.control_show
108
109
  main_window.intelligent_exit
@@ -6,9 +6,9 @@
6
6
  # =========================================================================== #
7
7
  require 'libui_paradise/autoinclude'
8
8
 
9
- window = padded_window('Notepad', 500, 300, 1)
9
+ window = padded_window('Notepad', :default, 300, 1)
10
10
 
11
- vbox = ui_vbox
11
+ vbox = create_vbox
12
12
 
13
13
  text_view = ui_text_view
14
14
  text_view.set_text(
@@ -21,5 +21,5 @@ button_show_content.on_clicked {
21
21
  }
22
22
 
23
23
  vbox << button_show_content
24
- window.child = vbox
24
+ window << vbox
25
25
  window.intelligent_exit
@@ -7,11 +7,11 @@
7
7
  require 'libui_paradise/autoinclude'
8
8
 
9
9
  TITLE = 'msg box error'
10
- main_window = ui_padded_window(TITLE, 300, 200, 1)
10
+ main_window = ui_padded_window(TITLE, 320, 240, 1)
11
11
 
12
- button1 = ui_button('Text (click me)')
12
+ button1 = create_button('Text (click me)')
13
13
  button1.on_clicked {
14
- LibuiParadise::Extensions.message_box_error(
14
+ LibuiParadise.message_box_error(
15
15
  main_window,
16
16
  'Error',
17
17
  "You clicked \nthe button"
@@ -22,6 +22,6 @@ button1.on_clicked {
22
22
  hbox = padded_hbox
23
23
  hbox << button1
24
24
  main_window.close_properly
25
- main_window.child = hbox
25
+ main_window << hbox
26
26
  main_window.control_show
27
- UI.main_then_quit
27
+ LibUI.main_then_quit
@@ -2,7 +2,7 @@
2
2
  # Encoding: UTF-8
3
3
  # frozen_string_literal: true
4
4
  # =========================================================================== #
5
- # require '022_'
5
+ # require '024_parse'
6
6
  # =========================================================================== #
7
7
  require 'libui_paradise/autoinclude'
8
8
 
@@ -11,5 +11,5 @@ window = LibuiParadise.parse_this_config_file(use_this_config_file)
11
11
  outer_vbox = padded_vbox
12
12
  text = text('The config file was '+use_this_config_file)
13
13
  outer_vbox << text
14
- window.child = outer_vbox
14
+ window << outer_vbox
15
15
  window.intelligent_quit
@@ -49,5 +49,5 @@ LibUI.color_button_on_changed(our_colour_button, xyz, nil)
49
49
  #end
50
50
 
51
51
  outer_vbox.minimal(our_colour_button, 1)
52
- window.child = outer_vbox
52
+ window << outer_vbox
53
53
  window.intelligent_quit
@@ -17,11 +17,11 @@ N_TIMES = 10
17
17
  # =========================================================================== #
18
18
  REMOTE_URL = 'https://www.ghibli.jp/gallery/thumb-redturtle%03d.png'
19
19
 
20
- main_window = ui_main_window('The Red Turtle', 310, 350, 0)
20
+ main_window = padded_main_window('The Red Turtle', 310, 350, 0)
21
21
 
22
22
  hbox = ui_padded_hbox
23
23
  main_window.simple_exit
24
- main_window.child = hbox
24
+ main_window << hbox
25
25
 
26
26
  # =========================================================================== #
27
27
  # === IMAGES
@@ -43,10 +43,8 @@ N_TIMES.times { |i|
43
43
  # Add a new image next:
44
44
  # ========================================================================= #
45
45
  image = UI.new_image(width, height)
46
- UI.image_append(image, data, width, height, width * 4)
46
+ LibUI.image_append(image, data, width, height, width * 4)
47
47
  IMAGES << image # Store all images in the following area.
48
- rescue StandardError => error
49
- warn url, error.message
50
48
  }
51
49
 
52
50
  # =========================================================================== #
@@ -84,8 +82,7 @@ hbox.maximal(table)
84
82
 
85
83
  main_window.show_the_controls
86
84
 
87
- UI.window_on_closing(main_window) {
88
- e 'Bye Bye'
85
+ LibUI.window_on_closing(main_window) {
89
86
  UI.control_destroy(main_window)
90
87
  UI.free_table_model(model)
91
88
  IMAGES.each { |i| UI.free_image(i) }
@@ -93,4 +90,4 @@ UI.window_on_closing(main_window) {
93
90
  0
94
91
  }
95
92
 
96
- UI.main_then_quit
93
+ LibUI.main_then_quit
@@ -6,14 +6,14 @@
6
6
  # =========================================================================== #
7
7
  require 'libui_paradise/autoinclude'
8
8
 
9
- main_window = main_window('hello world', 300, 200, 0)
9
+ main_window = create_window('hello world', 300, 200, 0)
10
10
 
11
11
  button = button('Button')
12
12
  button.on_clicked {|widget| # is a <Fiddle::Pointer:0x00005590774f1ca0 ptr=0x0000559077484c90 size=0 free=0x0000000000000000>
13
13
  e 'The main button was clicked.'
14
- ui_msg_box(main_window, 'Information', 'You clicked the button')
14
+ ui_msg_box(main_window, 'Information', 'The main button has been clicked.')
15
15
  0
16
16
  }
17
17
 
18
- main_window.child = button
18
+ main_window << button
19
19
  main_window.intelligent_exit
@@ -2,7 +2,7 @@
2
2
  # Encoding: UTF-8
3
3
  # frozen_string_literal: true
4
4
  # =========================================================================== #
5
- # require '020_checkbox_example'
5
+ # require '028_try_for_automatic_button_press_event_after_a_delay.rb'
6
6
  # =========================================================================== #
7
7
  require 'libui_paradise/autoinclude'
8
8
 
@@ -17,10 +17,9 @@ should_quit_callback = proc {
17
17
  0
18
18
  }
19
19
 
20
- MAIN_WINDOW = LibUI.window('Try for automatic button press event after a delay', 600, HEIGHT, 1)
21
- vbox = LibUI.vbox
22
- LibUI.box_set_padded(vbox, 1)
23
- button1 = LibUI.new_button('Testing')
20
+ MAIN_WINDOW = create_window('Try for automatic button press event after a delay', :default, HEIGHT, 1)
21
+ vbox = create_padded_vbox
22
+ button1 = create_button('Testing')
24
23
 
25
24
  LibUI.button_on_clicked(button1) do
26
25
  the_button_was_clicked
@@ -12,10 +12,8 @@ module LibUI
12
12
 
13
13
  class ProgressbarExample # === LibuiParadise::GUI::LibUI::ProgressbarExample
14
14
 
15
- alias e puts
16
-
17
15
  require 'libui_paradise'
18
- include LibuiParadise::Extensions
16
+ include LibuiParadise::BaseModule
19
17
 
20
18
  # ========================================================================= #
21
19
  # === TITLE
@@ -46,6 +44,7 @@ class ProgressbarExample # === LibuiParadise::GUI::LibUI::ProgressbarExample
46
44
  # === reset (reset tag)
47
45
  # ========================================================================= #
48
46
  def reset
47
+ reset_the_internal_hash
49
48
  title_width_height(TITLE, WIDTH, HEIGHT)
50
49
  end
51
50
 
@@ -56,7 +55,7 @@ class ProgressbarExample # === LibuiParadise::GUI::LibUI::ProgressbarExample
56
55
  # ======================================================================= #
57
56
  # === @window
58
57
  # ======================================================================= #
59
- @window = ui_padded_main_window(title?, width?, height?, 0)
58
+ @window = create_padded_main_window(title?, width?, height?, 0)
60
59
  end
61
60
 
62
61
  # ========================================================================= #
@@ -105,7 +104,7 @@ class ProgressbarExample # === LibuiParadise::GUI::LibUI::ProgressbarExample
105
104
  outer_vbox.minimal(@progress_bar)
106
105
  outer_vbox.minimal(quit_button)
107
106
  run_the_outer_thread
108
- @window.add(outer_vbox)
107
+ @window << outer_vbox
109
108
  @window.intelligent_exit
110
109
  end
111
110
 
@@ -12,10 +12,8 @@ module LibUI
12
12
 
13
13
  class EntryRespondsToCommentAsSynonymousToTheEnterKeyPressedExample # === LibuiParadise::GUI::LibUI::EntryRespondsToCommentAsSynonymousToTheEnterKeyPressedExample
14
14
 
15
- alias e puts
16
-
17
15
  require 'libui_paradise'
18
- include LibuiParadise::Extensions
16
+ include LibuiParadise::BaseModule
19
17
 
20
18
  # ========================================================================= #
21
19
  # === TITLE
@@ -46,6 +44,7 @@ class EntryRespondsToCommentAsSynonymousToTheEnterKeyPressedExample # === LibuiP
46
44
  # === reset (reset tag)
47
45
  # ========================================================================= #
48
46
  def reset
47
+ reset_the_internal_hash
49
48
  title_width_height(TITLE, WIDTH, HEIGHT)
50
49
  end
51
50
 
@@ -56,7 +55,7 @@ class EntryRespondsToCommentAsSynonymousToTheEnterKeyPressedExample # === LibuiP
56
55
  # ======================================================================= #
57
56
  # === @window
58
57
  # ======================================================================= #
59
- @window = ui_padded_main_window(title?, width?, height?, 0)
58
+ @window = create_padded_main_window(title?, width?, height?, 0)
60
59
  end
61
60
 
62
61
  # ========================================================================= #
@@ -104,7 +103,7 @@ class EntryRespondsToCommentAsSynonymousToTheEnterKeyPressedExample # === LibuiP
104
103
  }
105
104
  }
106
105
  outer_vbox.minimal(grid)
107
- @window.add(outer_vbox)
106
+ @window << outer_vbox
108
107
  @window.intelligent_exit
109
108
  end
110
109
 
@@ -128,7 +127,7 @@ class EntryRespondsToCommentAsSynonymousToTheEnterKeyPressedExample # === LibuiP
128
127
  &block
129
128
  )
130
129
  _ = entry.text?
131
- if _[-1,1] == '#'
130
+ if _.end_with?('#')
132
131
  yield if block_given?
133
132
  end
134
133
  end
@@ -15,7 +15,7 @@ class NotificationFunctionalityExample # === LibuiParadise::GUI::LibUI::Notifica
15
15
  alias e puts
16
16
 
17
17
  require 'libui_paradise'
18
- include LibuiParadise::Extensions
18
+ include LibuiParadise::BaseModule
19
19
 
20
20
  # ========================================================================= #
21
21
  # === TITLE
@@ -46,6 +46,7 @@ class NotificationFunctionalityExample # === LibuiParadise::GUI::LibUI::Notifica
46
46
  # === reset (reset tag)
47
47
  # ========================================================================= #
48
48
  def reset
49
+ reset_the_internal_hash
49
50
  title_width_height(TITLE, WIDTH, HEIGHT)
50
51
  end
51
52
 
@@ -56,7 +57,7 @@ class NotificationFunctionalityExample # === LibuiParadise::GUI::LibUI::Notifica
56
57
  # ======================================================================= #
57
58
  # === @window
58
59
  # ======================================================================= #
59
- @window = ui_padded_main_window(title?, width?, height?, 0)
60
+ @window = create_padded_main_window(title?, width?, height?, 0)
60
61
  end
61
62
 
62
63
  # ========================================================================= #