libui_paradise 0.3.9 → 0.4.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -7,11 +7,11 @@ module LibuiParadise
7
7
  # ========================================================================= #
8
8
  # === VERSION
9
9
  # ========================================================================= #
10
- VERSION = '0.3.9'
10
+ VERSION = '0.4.13'
11
11
 
12
12
  # ========================================================================= #
13
13
  # === LAST_UPDATE
14
14
  # ========================================================================= #
15
- LAST_UPDATE = '12.12.2023'
15
+ LAST_UPDATE = '28.12.2023'
16
16
 
17
17
  end
@@ -4,6 +4,8 @@
4
4
  # =========================================================================== #
5
5
  require 'libui_paradise'
6
6
 
7
+ LibuiParadise.init
8
+
7
9
  text1 = LibuiParadise.text('Some text here.')
8
10
  text2 = LibuiParadise.text('Some text there.')
9
11
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libui_paradise
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.9
4
+ version: 0.4.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert A. Heiler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-12 00:00:00.000000000 Z
11
+ date: 2023-12-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: libui
@@ -39,11 +39,11 @@ files:
39
39
  - README.md
40
40
  - bin/libui_message
41
41
  - doc/README.gen
42
- - doc/SNIPPETS.md
43
42
  - doc/todo/todo.md
44
43
  - lib/libui_paradise.rb
45
44
  - lib/libui_paradise/autoinclude.rb
46
45
  - lib/libui_paradise/base/base.rb
46
+ - lib/libui_paradise/base_module/base_module.rb
47
47
  - lib/libui_paradise/colours/colours.rb
48
48
  - lib/libui_paradise/domain_specific_language/README.md
49
49
  - lib/libui_paradise/domain_specific_language/button.yml
@@ -81,6 +81,8 @@ files:
81
81
  - lib/libui_paradise/examples/complex/031_notification_functionality_example.rb
82
82
  - lib/libui_paradise/examples/complex/032_simple_window_example.rb
83
83
  - lib/libui_paradise/examples/complex/033_daemonize_and_exit_after_delay_example.rb
84
+ - lib/libui_paradise/examples/complex/034_bold_text_example.rb
85
+ - lib/libui_paradise/examples/complex/035_parse_into_table_example.rb
84
86
  - lib/libui_paradise/examples/simple/001_open_file_example.rb
85
87
  - lib/libui_paradise/examples/simple/002_histogram_example.rb
86
88
  - lib/libui_paradise/examples/simple/003_fancy_text_example.rb
@@ -93,24 +95,36 @@ files:
93
95
  - lib/libui_paradise/examples/simple/010_font_button.rb
94
96
  - lib/libui_paradise/examples/simple/011_simple_notepad.rb
95
97
  - lib/libui_paradise/examples/simple/012_table_example.rb
98
+ - lib/libui_paradise/examples/simple/013_scrolling_pane_example.rb
99
+ - lib/libui_paradise/examples/simple/014_simple_entry_example.rb
100
+ - lib/libui_paradise/examples/simple/015_slider_example.rb
96
101
  - lib/libui_paradise/examples/simple/README.md
97
102
  - lib/libui_paradise/experimental/dsl.rb
98
- - lib/libui_paradise/extensions/extensions.rb
99
- - lib/libui_paradise/extensions/toplevel_counters.rb
100
103
  - lib/libui_paradise/fiddle/fiddle.rb
101
104
  - lib/libui_paradise/generic_window/README.md
102
105
  - lib/libui_paradise/generic_window/generic_window.rb
103
106
  - lib/libui_paradise/images/LIBUI_PARADISE_LOGO.png
104
107
  - lib/libui_paradise/images/README.md
105
108
  - lib/libui_paradise/images/form_example.png
106
- - lib/libui_paradise/libui_classes/box.rb
109
+ - lib/libui_paradise/libui_classes/button.rb
110
+ - lib/libui_paradise/libui_classes/entry.rb
107
111
  - lib/libui_paradise/libui_classes/grid.rb
112
+ - lib/libui_paradise/libui_classes/hbox.rb
108
113
  - lib/libui_paradise/libui_classes/libui_classes.rb
114
+ - lib/libui_paradise/libui_classes/msg_box.rb
115
+ - lib/libui_paradise/libui_classes/msg_box_error.rb
116
+ - lib/libui_paradise/libui_classes/slider.rb
117
+ - lib/libui_paradise/libui_classes/spinbox.rb
118
+ - lib/libui_paradise/libui_classes/vbox.rb
109
119
  - lib/libui_paradise/project/project.rb
110
120
  - lib/libui_paradise/prototype/README.md
111
121
  - lib/libui_paradise/prototype/prototype.rb
112
122
  - lib/libui_paradise/requires/require_the_libui_classes.rb
113
123
  - lib/libui_paradise/requires/require_the_libui_paradise_project.rb
124
+ - lib/libui_paradise/toplevel_methods/add_to_the_registered_widgets.rb
125
+ - lib/libui_paradise/toplevel_methods/hash_fiddle_pointer_widgets.rb
126
+ - lib/libui_paradise/toplevel_methods/toplevel_counters.rb
127
+ - lib/libui_paradise/toplevel_methods/toplevel_methods.rb
114
128
  - lib/libui_paradise/version/version.rb
115
129
  - libui_paradise.gemspec
116
130
  - test/testing_generic_window.rb
@@ -131,9 +145,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
131
145
  requirements:
132
146
  - - ">="
133
147
  - !ruby/object:Gem::Version
134
- version: 3.4.22
148
+ version: 3.5.3
135
149
  requirements: []
136
- rubygems_version: 3.4.22
150
+ rubygems_version: 3.5.3
137
151
  signing_key:
138
152
  specification_version: 4
139
153
  summary: 'This project bundles together some custom bindings and code to the official
data/doc/SNIPPETS.md DELETED
@@ -1,65 +0,0 @@
1
- # How to add a new main window:
2
- # width, height, hasMenubar
3
- main_window = UI.new_window('hello world', 300, 200, 1)
4
-
5
- Source code:
6
-
7
- https://raw.githubusercontent.com/andlabs/libui/master/unix/window.c
8
-
9
- # How to add a libui-widget to the main window / Designate a child widget:
10
-
11
- UI.window_set_child(main_window, button)
12
-
13
- # Act on closing-event (on quit tag):
14
-
15
- UI.window_on_closing(main_window) {
16
- puts 'Bye Bye'
17
- UI.control_destroy(main_window)
18
- UI.quit
19
- 0
20
- }
21
- # Or simpler:
22
- close_properly(main_window)
23
-
24
- # Add the window to the main UI:
25
-
26
- UI.control_show(main_window)
27
- main_window.show_the_controls # Or use this one here.
28
-
29
- # And the control:
30
-
31
- UI.control_show(main_window)
32
-
33
- # Using a text-entry (ui entry tag):
34
-
35
- text_entry = UI.new_entry
36
- UI.entry_set_text(text_entry, 'Please enter your feelings')
37
- UI.entry_on_changed(text_entry, text_changed_callback, nil)
38
-
39
- # To set this on a "multiline entry", aka spanning several
40
- # rows, do use:
41
- UI.multiline_entry_set_text(entry1, 'Yo there')
42
- ui_text_view # an alias used in libui_paradise
43
-
44
- text1 = UI.entry_text(entry1) # Obtain text. You may have to call .to_s on it, to guarantee the String.
45
- UI.multiline_entry_text # Obtain the text from a multiline entry.
46
-
47
- # Create a combobox (combo tag, combobox tag):
48
-
49
- combobox_selected_callback = proc { |ptr|
50
- puts "New combobox selection: #{UI.combobox_selected(ptr)}"
51
- }
52
- cbox = UI.new_combobox
53
- UI.combobox_append(cbox, 'combobox Item 1')
54
- UI.combobox_append(cbox, 'combobox Item 2')
55
- UI.combobox_append(cbox, 'combobox Item 3')
56
- UI.box_append(inner, cbox, 0)
57
- UI.combobox_on_selected(cbox, combobox_selected_callback, nil)
58
-
59
- # Or more concise:
60
- combo_box = LibUI.combobox {
61
- ['combobox Item 1', 'combobox Item 2', 'combobox Item 3']
62
- }
63
-
64
-
65
-