libui_paradise 0.1.49

Sign up to get free protection for your applications and to get access to all the features.

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