libui_paradise 0.1.49

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.

Potentially problematic release.


This version of libui_paradise might be problematic. Click here for more details.

Files changed (87) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +1505 -0
  3. data/doc/README.gen +1252 -0
  4. data/doc/SNIPPETS.md +221 -0
  5. data/doc/TODO.md +14 -0
  6. data/lib/libui_paradise/autoinclude.rb +9 -0
  7. data/lib/libui_paradise/domain_specific_language/README.md +5 -0
  8. data/lib/libui_paradise/domain_specific_language/button.yml +7 -0
  9. data/lib/libui_paradise/examples/001_basic_button_example.rb +17 -0
  10. data/lib/libui_paradise/examples/002_basic_table_image.rb +92 -0
  11. data/lib/libui_paradise/examples/003_font_button.rb +34 -0
  12. data/lib/libui_paradise/examples/004_date_time_picker.rb +31 -0
  13. data/lib/libui_paradise/examples/005_msg_box_error.rb +25 -0
  14. data/lib/libui_paradise/examples/006_histogram.rb +193 -0
  15. data/lib/libui_paradise/examples/007_combo_box_example.rb +41 -0
  16. data/lib/libui_paradise/examples/008_simple_notepad_example.rb +23 -0
  17. data/lib/libui_paradise/examples/009_checkbox_example.rb +82 -0
  18. data/lib/libui_paradise/examples/010_grid_example.rb +26 -0
  19. data/lib/libui_paradise/examples/011_fancy_text_example.rb +21 -0
  20. data/lib/libui_paradise/examples/012_control_gallery.rb +180 -0
  21. data/lib/libui_paradise/examples/013_midi_player.rb +91 -0
  22. data/lib/libui_paradise/examples/014_basic_draw_text.rb +134 -0
  23. data/lib/libui_paradise/examples/015_font_example.rb +91 -0
  24. data/lib/libui_paradise/examples/016_search_entry_example.rb +16 -0
  25. data/lib/libui_paradise/examples/017_tabs_example.rb +22 -0
  26. data/lib/libui_paradise/examples/018_image_example.rb +82 -0
  27. data/lib/libui_paradise/examples/019_open_file_button_example.rb +24 -0
  28. data/lib/libui_paradise/examples/020_unicode_text_example.rb +28 -0
  29. data/lib/libui_paradise/examples/021_spinbutton_example.rb +25 -0
  30. data/lib/libui_paradise/examples/022_text_example.rb +16 -0
  31. data/lib/libui_paradise/examples/023_parse_config_file_example.config +6 -0
  32. data/lib/libui_paradise/examples/023_parse_config_file_example.rb +13 -0
  33. data/lib/libui_paradise/examples/024_text_view_example.rb +14 -0
  34. data/lib/libui_paradise/examples/025_scrolling_area.rb +16 -0
  35. data/lib/libui_paradise/examples/026_colour_button.rb +51 -0
  36. data/lib/libui_paradise/examples/027_form_example.rb +37 -0
  37. data/lib/libui_paradise/examples/028_password_entry_example.rb +17 -0
  38. data/lib/libui_paradise/examples/029_two_buttons_showing_how_to_enable_and_disable_them.rb +32 -0
  39. data/lib/libui_paradise/examples/030_table_example.rb +51 -0
  40. data/lib/libui_paradise/experimental/dsl.rb +17 -0
  41. data/lib/libui_paradise/extensions/extensions.rb +25 -0
  42. data/lib/libui_paradise/extensions/hash_fiddle_pointer_widgets.rb +129 -0
  43. data/lib/libui_paradise/extensions/misc.rb +309 -0
  44. data/lib/libui_paradise/fiddle/pointer.rb +841 -0
  45. data/lib/libui_paradise/images/LIBUI_PARADISE_LOGO.png +0 -0
  46. data/lib/libui_paradise/images/README.md +2 -0
  47. data/lib/libui_paradise/images/form_example.png +0 -0
  48. data/lib/libui_paradise/libui_classes/area_handler.rb +52 -0
  49. data/lib/libui_paradise/libui_classes/button.rb +82 -0
  50. data/lib/libui_paradise/libui_classes/checkbox.rb +37 -0
  51. data/lib/libui_paradise/libui_classes/color_button.rb +44 -0
  52. data/lib/libui_paradise/libui_classes/combobox.rb +55 -0
  53. data/lib/libui_paradise/libui_classes/editable_combobox.rb +51 -0
  54. data/lib/libui_paradise/libui_classes/entry.rb +80 -0
  55. data/lib/libui_paradise/libui_classes/font.rb +78 -0
  56. data/lib/libui_paradise/libui_classes/font_button.rb +40 -0
  57. data/lib/libui_paradise/libui_classes/grid.rb +55 -0
  58. data/lib/libui_paradise/libui_classes/hbox.rb +98 -0
  59. data/lib/libui_paradise/libui_classes/horizontal_separator.rb +41 -0
  60. data/lib/libui_paradise/libui_classes/image.rb +82 -0
  61. data/lib/libui_paradise/libui_classes/label.rb +83 -0
  62. data/lib/libui_paradise/libui_classes/menu.rb +36 -0
  63. data/lib/libui_paradise/libui_classes/msg_box.rb +97 -0
  64. data/lib/libui_paradise/libui_classes/msg_box_error.rb +49 -0
  65. data/lib/libui_paradise/libui_classes/multiline_entry.rb +59 -0
  66. data/lib/libui_paradise/libui_classes/non_wrapping_multiline_entry.rb +41 -0
  67. data/lib/libui_paradise/libui_classes/open_file.rb +42 -0
  68. data/lib/libui_paradise/libui_classes/password_entry.rb +49 -0
  69. data/lib/libui_paradise/libui_classes/progressbar.rb +41 -0
  70. data/lib/libui_paradise/libui_classes/radio_buttons.rb +36 -0
  71. data/lib/libui_paradise/libui_classes/scrolling_area.rb +85 -0
  72. data/lib/libui_paradise/libui_classes/search_entry.rb +36 -0
  73. data/lib/libui_paradise/libui_classes/spinbox.rb +55 -0
  74. data/lib/libui_paradise/libui_classes/tab.rb +39 -0
  75. data/lib/libui_paradise/libui_classes/table.rb +45 -0
  76. data/lib/libui_paradise/libui_classes/text_layout.rb +42 -0
  77. data/lib/libui_paradise/libui_classes/vbox.rb +51 -0
  78. data/lib/libui_paradise/libui_classes/window.rb +167 -0
  79. data/lib/libui_paradise/project/project.rb +26 -0
  80. data/lib/libui_paradise/prototype/README.md +3 -0
  81. data/lib/libui_paradise/prototype/prototype.rb +101 -0
  82. data/lib/libui_paradise/requires/require_the_libui_classes.rb +26 -0
  83. data/lib/libui_paradise/requires/require_the_libui_paradise_project.rb +11 -0
  84. data/lib/libui_paradise/version/version.rb +17 -0
  85. data/lib/libui_paradise.rb +1 -0
  86. data/libui_paradise.gemspec +49 -0
  87. metadata +164 -0
@@ -0,0 +1,2 @@
1
+ This directory only contains the libui_paradise logo that was
2
+ created on 27.08.2021 via cfdg, gimp, kolourpaint and pngquant.
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'libui_paradise/ui_classes/area_handler.rb
6
+ # =========================================================================== #
7
+ module LibuiParadise
8
+
9
+ module Extensions # === LibuiParadise::Extensions
10
+
11
+ # ========================================================================= #
12
+ # === LibuiParadise::Extensions.area
13
+ #
14
+ # AreaHandler defines the functionality needed for handling events
15
+ # from an Area.
16
+ #
17
+ # Upstream documentation, at the least for Go, can be found here:
18
+ #
19
+ # https://github.com/andlabs/ui/blob/master/areahandler.go
20
+ #
21
+ # ========================================================================= #
22
+ def self.area(
23
+ i = :use_new_area_handler
24
+ )
25
+ case i
26
+ when :use_new_area_handler,
27
+ :default
28
+ i = UI::FFI::AreaHandler.malloc
29
+ end
30
+ _ = UI.new_area(i)
31
+ add_to_the_registered_widgets(_, __method__)
32
+ return _
33
+ end; self.instance_eval { alias area_handler area } # === LibuiParadise::Extensions.area_handler
34
+
35
+ # ========================================================================= #
36
+ # === area
37
+ #
38
+ # AreaHandler defines the functionality needed for handling events
39
+ # from an Area.
40
+ #
41
+ # Upstream documentation, at the least for Go, can be found here:
42
+ #
43
+ # https://github.com/andlabs/ui/blob/master/areahandler.go
44
+ #
45
+ # ========================================================================= #
46
+ def area(
47
+ i = :use_new_area_handler
48
+ )
49
+ return ::LibuiParadise::Extensions.area(i)
50
+ end; alias area_handler area # === area_handler
51
+
52
+ end; end
@@ -0,0 +1,82 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # The upstream API in C can be found here:
6
+ #
7
+ # https://raw.githubusercontent.com/andlabs/libui/master/unix/button.c
8
+ #
9
+ # =========================================================================== #
10
+ # require 'libui_paradise/ui_classes/button.rb
11
+ # =========================================================================== #
12
+ module LibuiParadise
13
+
14
+ module Extensions # === LibuiParadise::Extensions
15
+
16
+ # ========================================================================= #
17
+ # === bold_button
18
+ #
19
+ # This currently does not work. We have to wait until upstream libui
20
+ # supports bold font text.
21
+ # ========================================================================= #
22
+ def bold_button(i)
23
+ button(i)
24
+ end
25
+
26
+ # ========================================================================= #
27
+ # === LibuiParadise::Extensions.button (button tag)
28
+ # ========================================================================= #
29
+ def self.button(text)
30
+ _ = UI.new_button(text)
31
+ ::LibuiParadise::Extensions.register_this_fiddle_pointer_widget(_, __method__)
32
+ return _
33
+ end; self.instance_eval { alias ui_button button } # === LibuiParadise::Extensions.ui_button
34
+
35
+ # ========================================================================= #
36
+ # === button (button tag)
37
+ # ========================================================================= #
38
+ def button(text)
39
+ text = text.to_s.dup
40
+ if text.start_with? '_'
41
+ text[0,1] = '' # Right now we do not support accelerators.
42
+ end
43
+ ::LibuiParadise::Extensions.button(text)
44
+ end; alias ui_button button # === ui_button
45
+
46
+ # ========================================================================= #
47
+ # === quit_button (quit tag)
48
+ #
49
+ # This method can be used to, by default, implement a quit button
50
+ # that, upon a click-event, will cause the application to exit
51
+ # and close/quit.
52
+ # ========================================================================= #
53
+ def quit_button(
54
+ optional_arguments = {}
55
+ )
56
+ use_this_text = 'Quit'
57
+ if optional_arguments and optional_arguments.is_a?(Hash)
58
+ # ===================================================================== #
59
+ # === :text
60
+ # ===================================================================== #
61
+ if optional_arguments.has_key? :text
62
+ use_this_text = optional_arguments.delete(:text)
63
+ end
64
+ end
65
+ quit_button = button(use_this_text)
66
+ quit_button.on_clicked {
67
+ UI.quit
68
+ 0
69
+ }
70
+ return quit_button
71
+ end; alias ui_quit_button quit_button # === ui_quit_button
72
+
73
+ end
74
+
75
+ # =========================================================================== #
76
+ # === LibuiParadise.button
77
+ # =========================================================================== #
78
+ def self.button(text)
79
+ ::LibuiParadise::Extensions.button(text)
80
+ end
81
+
82
+ end
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'libui_paradise/ui_classes/checkbox.rb
6
+ # =========================================================================== #
7
+ module LibuiParadise
8
+
9
+ module Extensions # === LibuiParadise::Extensions
10
+
11
+ # ========================================================================= #
12
+ # === LibuiParadise::Extensions.checkbox (checkbox tag)
13
+ # ========================================================================= #
14
+ def self.checkbox(i = '')
15
+ _ = UI.new_checkbox(i)
16
+ add_to_the_registered_widgets(_, __method__)
17
+ return _
18
+ end
19
+
20
+ # ========================================================================= #
21
+ # === checkbox
22
+ # ========================================================================= #
23
+ def checkbox(i = '')
24
+ ::LibuiParadise::Extensions.checkbox(i)
25
+ end; alias ui_checkbox checkbox # === ui_checkbox
26
+ alias ui_check_button checkbox # === ui_check_button
27
+
28
+ end
29
+
30
+ # =========================================================================== #
31
+ # === LibuiParadise.checkbox
32
+ # =========================================================================== #
33
+ def self.checkbox(i = '')
34
+ ::LibuiParadise::Extensions.checkbox(i)
35
+ end
36
+
37
+ end
@@ -0,0 +1,44 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # The upstream API in C can be found here:
6
+ #
7
+ # https://github.com/andlabs/libui/blob/master/unix/colorbutton.c
8
+ #
9
+ # =========================================================================== #
10
+ # require 'libui_paradise/ui_classes/color_button.rb
11
+ # =========================================================================== #
12
+ module LibuiParadise
13
+
14
+ module Extensions # === LibuiParadise::Extensions
15
+
16
+ # ========================================================================= #
17
+ # === LibuiParadise::Extensions.new_colour_button
18
+ # ========================================================================= #
19
+ def self.colour_button
20
+ _ = LibUI.new_color_button
21
+ ::LibuiParadise::Extensions.register_this_fiddle_pointer_widget(_, __method__)
22
+ return _
23
+ end; self.instance_eval { alias new_colour_button colour_button } # === LibuiParadise::Extensions.new_colour_button
24
+ self.instance_eval { alias new_color_button colour_button } # === LibuiParadise::Extensions.new_color_button
25
+ self.instance_eval { alias ui_colour_button colour_button } # === LibuiParadise::Extensions.ui_colour_button
26
+
27
+ # ========================================================================= #
28
+ # === colour_button
29
+ # ========================================================================= #
30
+ def colour_button
31
+ ::LibuiParadise::Extensions.new_colour_button
32
+ end; alias color_button colour_button # === color_button
33
+ alias ui_colour_button colour_button # === ui_color_button
34
+
35
+ end
36
+
37
+ # =========================================================================== #
38
+ # === LibuiParadise.colour_button
39
+ # =========================================================================== #
40
+ def self.colour_button
41
+ ::LibuiParadise::Extensions.new_colour_button
42
+ end; self.instance_eval { alias color_button colour_button } # === LibuiParadise.color_button
43
+
44
+ end
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'libui_paradise/ui_classes/combobox.rb
6
+ # =========================================================================== #
7
+ module LibuiParadise
8
+
9
+ module Extensions # === LibuiParadise::Extensions
10
+
11
+ # ========================================================================= #
12
+ # === LibuiParadise::Extensions.combobox
13
+ # ========================================================================= #
14
+ def self.combobox(
15
+ optional_array = nil, &block
16
+ )
17
+ combobox = UI.new_combobox
18
+ # ======================================================================= #
19
+ # Register it at once:
20
+ # ======================================================================= #
21
+ add_to_the_registered_widgets(combobox, __method__)
22
+ if block_given?
23
+ optional_array = yield
24
+ end
25
+ if optional_array and optional_array.is_a?(Array)
26
+ # append_this_array_to_that_combobox(optional_array, combobox)
27
+ combobox.append_this_array(optional_array)
28
+ end
29
+ return combobox
30
+ end; self.instance_eval { alias combo_box combobox } # === LibuiParadise::Extensions.combo_box
31
+ self.instance_eval { alias ui_combo_box combobox } # === LibuiParadise::Extensions.ui_combo_box
32
+ self.instance_eval { alias ui_combobox combobox } # === LibuiParadise::Extensions.ui_combobox
33
+
34
+ # ========================================================================= #
35
+ # === combobox
36
+ # ========================================================================= #
37
+ def combobox(
38
+ optional_array = nil, &block
39
+ )
40
+ return ::LibuiParadise::Extensions.combobox(optional_array, &block)
41
+ end; alias combo_box combobox # === combo_box
42
+ alias ui_combo_box combobox # === ui_combo_box
43
+ alias ui_combobox combobox # === ui_combobox
44
+
45
+ # ========================================================================= #
46
+ # === selected?
47
+ #
48
+ # Unsure whether this works. It appears to work, but I am not even
49
+ # certain as to why.
50
+ # ========================================================================= #
51
+ def selected?(pointer)
52
+ UI.combobox_selected(pointer).to_s
53
+ end
54
+
55
+ end; end
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'libui_paradise/ui_classes/editable_combobox.rb
6
+ # =========================================================================== #
7
+ module LibuiParadise
8
+
9
+ module Extensions # === LibuiParadise::Extensions
10
+
11
+ # ========================================================================= #
12
+ # === LibuiParadise::Extensions.editable_combobox
13
+ # ========================================================================= #
14
+ def self.editable_combobox(
15
+ optional_array = nil, &block
16
+ )
17
+ _ = UI.new_editable_combobox
18
+ if block_given?
19
+ optional_array = yield
20
+ end
21
+ if optional_array and optional_array.is_a?(Array)
22
+ append_this_array_to_that_combobox(optional_array, _)
23
+ end
24
+ add_to_the_registered_widgets(_, __method__)
25
+ return _
26
+ end; self.instance_eval { alias editable_combo_box editable_combobox } # === LibuiParadise::Extensions.editable_combo_box
27
+ self.instance_eval { alias ui_editable_combo_box editable_combobox } # === LibuiParadise::Extensions.ui_editable_combo_box
28
+
29
+ # ========================================================================= #
30
+ # === editable_combobox
31
+ # ========================================================================= #
32
+ def editable_combobox(
33
+ optional_array = nil, &block
34
+ )
35
+ return ::LibuiParadise::Extensions(optional_array, &block)
36
+ end; alias editable_combo_box editable_combobox # === editable_combo_box
37
+ alias ui_editable_combo_box editable_combobox # === ui_editable_combo_box
38
+
39
+ end
40
+
41
+ # =========================================================================== #
42
+ # === LibuiParadise::Extensions.editable_combobox
43
+ # =========================================================================== #
44
+ def self.editable_combobox(
45
+ optional_array = nil, &block
46
+ )
47
+ return ::LibuiParadise::Extensions.editable_combobox(optional_array, &block)
48
+ end; self.instance_eval { alias editable_combo_box editable_combobox } # === LibuiParadise.editable_combo_box
49
+ self.instance_eval { alias ui_editable_combo_box editable_combobox } # === LibuiParadise.ui_editable_combo_box
50
+
51
+ end
@@ -0,0 +1,80 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # The upstream C API for libui-entry can be found here:
6
+ #
7
+ # https://github.com/andlabs/libui/blob/master/unix/entry.c
8
+ #
9
+ # =========================================================================== #
10
+ # require 'libui_paradise/ui_classes/entry.rb
11
+ # =========================================================================== #
12
+ module LibuiParadise
13
+
14
+ module Extensions # === LibuiParadise::Extensions
15
+
16
+ # ========================================================================= #
17
+ # === LibuiParadise::Extensions.entry (entry tag)
18
+ #
19
+ # This method is tapping into UI.new_entry.
20
+ #
21
+ # Usage example:
22
+ #
23
+ # entry1 = UI.entry('ATG')
24
+ #
25
+ # ========================================================================= #
26
+ def self.entry(
27
+ optional_text = ''
28
+ )
29
+ optional_text = optional_text.to_s
30
+ entry = UI.new_entry
31
+ unless optional_text.empty?
32
+ UI.entry_set_text(entry, optional_text)
33
+ end
34
+ add_to_the_registered_widgets(entry, __method__)
35
+ return entry
36
+ end; self.instance_eval { alias ui_entry entry } # === LibuiParadise::Extensions.ui_entry
37
+
38
+ # ========================================================================= #
39
+ # === entry (entry tag)
40
+ #
41
+ # This method is tapping into UI.new_entry.
42
+ #
43
+ # Usage example:
44
+ #
45
+ # entry1 = ui_entry('ATG')
46
+ #
47
+ # ========================================================================= #
48
+ def entry(
49
+ optional_text = ''
50
+ )
51
+ ::LibuiParadise::Extensions.entry(optional_text)
52
+ end; alias ui_entry entry # === ui_entry
53
+
54
+ # ========================================================================= #
55
+ # === text?
56
+ #
57
+ # This method will guarantee a String to be returned.
58
+ #
59
+ # This is a bit weird, though. We may have to remove this method one
60
+ # day. I forgot why I added it to entry.rb specifically. After all
61
+ # other widgets also should respond to .text?.
62
+ # ========================================================================= #
63
+ def text?(from_this_pointer)
64
+ _ = UI.entry_text(from_this_pointer).to_s
65
+ add_to_the_registered_widgets(_, __method__)
66
+ return _
67
+ end
68
+
69
+ end
70
+
71
+ # =========================================================================== #
72
+ # === LibuiParadise.entry
73
+ # =========================================================================== #
74
+ def self.entry(
75
+ optional_text = ''
76
+ )
77
+ ::LibuiParadise::Extensions.entry(optional_text)
78
+ end; self.instance_eval { alias ui_entry entry } # === LibuiParadise.ui_entry
79
+
80
+ end
@@ -0,0 +1,78 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'libui_paradise/ui_classes/font.rb
6
+ # =========================================================================== #
7
+ module LibuiParadise
8
+
9
+ module Extensions # === LibuiParadise::Extensions
10
+
11
+ # ========================================================================= #
12
+ # === LibuiParadise::Extensions.font (font tag, fonts tag)
13
+ # ========================================================================= #
14
+ def self.font(&block)
15
+ use_this_font = UI::FFI::FontDescriptor.malloc
16
+ if block_given?
17
+ yielded = yield
18
+ if yielded.is_a? Hash
19
+ # =================================================================== #
20
+ # === :font_size
21
+ # =================================================================== #
22
+ if yielded.has_key? :font_size
23
+ use_this_font.Size = yielded.delete(:font_size)
24
+ end
25
+ # =================================================================== #
26
+ # === :font_family
27
+ # =================================================================== #
28
+ if yielded.has_key? :font_family
29
+ use_this_font.Family = yielded.delete(:font_family)
30
+ end
31
+ # =================================================================== #
32
+ # === :stretch
33
+ # =================================================================== #
34
+ if yielded.has_key? :stretch
35
+ use_this_font.Stretch = yielded.delete(:stretch)
36
+ end
37
+ # =================================================================== #
38
+ # === :weight
39
+ # =================================================================== #
40
+ if yielded.has_key? :weight
41
+ use_this_font.Weight = yielded.delete(:weight)
42
+ end
43
+ # =================================================================== #
44
+ # === :italic
45
+ # =================================================================== #
46
+ if yielded.has_key? :italic
47
+ _ = yielded.delete(:italic_family)
48
+ if _ == true
49
+ _ = 1
50
+ elsif _ == false
51
+ _ = 0
52
+ end
53
+ use_this_font.Italic = _
54
+ end
55
+ end
56
+ end
57
+ return use_this_font
58
+ end; self.instance_eval { alias ui_font font } # === LibuiParadise::Extensions.ui_font
59
+ self.instance_eval { alias font_descriptor font } # === LibuiParadise::Extensions.font_descriptor
60
+
61
+ # ========================================================================= #
62
+ # === font
63
+ # ========================================================================= #
64
+ def font(&block)
65
+ LibuiParadise::Extensions.font(&block)
66
+ end; alias ui_font font # === ui_font
67
+ alias font_descriptor font # === font_descriptor
68
+
69
+ end
70
+
71
+ # =========================================================================== #
72
+ # === LibuiParadise.font
73
+ # =========================================================================== #
74
+ def self.font(&block)
75
+ ::LibuiParadise::Extensions.font(&block)
76
+ end
77
+
78
+ end
@@ -0,0 +1,40 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'libui_paradise/ui_classes/font_button.rb
6
+ # =========================================================================== #
7
+ module LibuiParadise
8
+
9
+ module Extensions # === LibuiParadise::Extensions
10
+
11
+ # ========================================================================= #
12
+ # === LibuiParadise::Extensions.font_button
13
+ #
14
+ # Create a new font button via this method.
15
+ # ========================================================================= #
16
+ def self.font_button
17
+ _ = UI.new_font_button
18
+ add_to_the_registered_widgets(_, __method__)
19
+ return _
20
+ end; self.instance_eval { alias ui_font_button font_button } # === Libuiparadise::Extensions.ui_font_button
21
+
22
+ # ========================================================================= #
23
+ # === font_button
24
+ #
25
+ # Create a new font button via this method.
26
+ # ========================================================================= #
27
+ def font_button
28
+ return ::LibuiParadise::Extensions.font_button
29
+ end; alias ui_font_button font_button # === ui_font_button
30
+
31
+ end
32
+
33
+ # =========================================================================== #
34
+ # === LibuiParadise.font_button
35
+ # =========================================================================== #
36
+ def self.font_button
37
+ return ::LibuiParadise::Extensions.font_button
38
+ end
39
+
40
+ end
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'libui_paradise/ui_classes/grid.rb
6
+ # =========================================================================== #
7
+ module LibuiParadise
8
+
9
+ module Extensions # === LibuiParadise::Extensions
10
+
11
+ # ========================================================================= #
12
+ # === ui_padded_grid
13
+ # ========================================================================= #
14
+ def ui_padded_grid
15
+ _ = ui_grid
16
+ _.is_padded
17
+ return _
18
+ end; alias padded_grid ui_padded_grid # === padded_grid
19
+ alias default_grid ui_padded_grid # === default_grid
20
+
21
+ # ========================================================================= #
22
+ # === LibuiParadise::Extensions.grid (grid tag)
23
+ #
24
+ # To insert into a grid, try to use this API:
25
+ #
26
+ # uiGridInsertAt(
27
+ # uiGrid *g,
28
+ # uiControl *c,
29
+ # uiControl *existing,
30
+ # uiAt at,
31
+ # int xspan,
32
+ # int yspan,
33
+ # int hexpand,
34
+ # uiAlign halign, int vexpand, uiAlign valign
35
+ # )
36
+ #
37
+ # Example to add a new entry onto the grid:
38
+ #
39
+ # UI.grid_append(grid, text('Yo2'), 1, 0, 1, 1, 0, 0, 1, 0)
40
+ #
41
+ # ========================================================================= #
42
+ def self.grid
43
+ _ = UI.new_grid
44
+ add_to_the_registered_widgets(_, __method__)
45
+ return _
46
+ end; self.instance_eval { alias ui_grid grid } # === LibuiParadise::Extensions.ui_grid
47
+
48
+ # ========================================================================= #
49
+ # === grid
50
+ # ========================================================================= #
51
+ def grid
52
+ ::LibuiParadise::Extensions.grid
53
+ end; alias ui_grid grid # === ui_grid
54
+
55
+ end; end