glimmer-dsl-libui 0.6.0.pre.3 → 0.6.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +21 -0
- data/LICENSE.txt +1 -1
- data/README.md +3 -5
- data/VERSION +1 -1
- data/bin/girb_runner.rb +1 -1
- data/docs/examples/GLIMMER-DSL-LIBUI-ADVANCED-EXAMPLES.md +1 -1
- data/docs/examples/GLIMMER-DSL-LIBUI-BASIC-EXAMPLES.md +0 -56
- data/examples/basic_table_checkbox.rb +13 -1
- data/examples/basic_table_checkbox_text.rb +13 -1
- data/examples/tetris/model/block.rb +1 -1
- data/examples/tetris/model/game.rb +1 -1
- data/examples/tetris/model/past_game.rb +1 -1
- data/examples/tetris/model/tetromino.rb +1 -1
- data/examples/tetris.rb +1 -1
- data/examples/tic_tac_toe/board.rb +1 -1
- data/examples/tic_tac_toe/cell.rb +1 -1
- data/glimmer-dsl-libui.gemspec +0 -0
- data/lib/glimmer/dsl/libui/bind_expression.rb +1 -1
- data/lib/glimmer/dsl/libui/control_expression.rb +1 -1
- data/lib/glimmer/dsl/libui/custom_control_expression.rb +1 -1
- data/lib/glimmer/dsl/libui/data_binding_expression.rb +1 -1
- data/lib/glimmer/dsl/libui/dsl.rb +1 -1
- data/lib/glimmer/dsl/libui/file_expression.rb +1 -1
- data/lib/glimmer/dsl/libui/listener_expression.rb +1 -1
- data/lib/glimmer/dsl/libui/observe_expression.rb +1 -1
- data/lib/glimmer/dsl/libui/open_file_expression.rb +1 -1
- data/lib/glimmer/dsl/libui/open_folder_expression.rb +1 -1
- data/lib/glimmer/dsl/libui/operation_expression.rb +1 -1
- data/lib/glimmer/dsl/libui/property_expression.rb +1 -1
- data/lib/glimmer/dsl/libui/save_file_expression.rb +1 -1
- data/lib/glimmer/dsl/libui/shape_expression.rb +1 -1
- data/lib/glimmer/dsl/libui/shine_data_binding_expression.rb +1 -1
- data/lib/glimmer/dsl/libui/string_expression.rb +1 -1
- data/lib/glimmer/dsl/libui/tab_item_expression.rb +1 -1
- data/lib/glimmer/fiddle_consumer.rb +1 -1
- data/lib/glimmer/libui/attributed_string.rb +1 -1
- data/lib/glimmer/libui/control_proxy/area_proxy/scrolling_area_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/area_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/box/horizontal_box_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/box/vertical_box_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/box.rb +1 -1
- data/lib/glimmer/libui/control_proxy/button_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/checkbox_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/color_button_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/column/background_color_column_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/column/button_column_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/column/checkbox_column_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/column/checkbox_text_color_column_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/column/checkbox_text_column_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/column/image_column_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/column/image_text_color_column_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/column/image_text_column_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/column/progress_bar_column_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/column/text_color_column_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/column/text_column_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/column.rb +1 -1
- data/lib/glimmer/libui/control_proxy/combobox_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/date_time_picker_proxy/date_picker_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/date_time_picker_proxy/time_picker_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/date_time_picker_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/dual_column.rb +1 -1
- data/lib/glimmer/libui/control_proxy/editable_column.rb +1 -1
- data/lib/glimmer/libui/control_proxy/editable_combobox_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/enableable_column.rb +1 -1
- data/lib/glimmer/libui/control_proxy/entry_proxy/password_entry_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/entry_proxy/search_entry_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/entry_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/font_button_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/form_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/grid_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/group_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/image_part_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/image_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/label_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/matrix_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/menu_item_proxy/about_menu_item_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/menu_item_proxy/check_menu_item_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/menu_item_proxy/preferences_menu_item_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/menu_item_proxy/quit_menu_item_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/menu_item_proxy/radio_menu_item_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/menu_item_proxy/separator_menu_item_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/menu_item_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/menu_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/message_box/msg_box_error_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/message_box/msg_box_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/message_box.rb +1 -1
- data/lib/glimmer/libui/control_proxy/multiline_entry_proxy/non_wrapping_multiline_entry_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/multiline_entry_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/open_type_features_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/open_type_tag_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/path_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/radio_buttons_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/slider_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/spinbox_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/tab_item_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/table_proxy.rb +243 -98
- data/lib/glimmer/libui/control_proxy/text_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy/transformable.rb +1 -1
- data/lib/glimmer/libui/control_proxy/triple_column.rb +1 -1
- data/lib/glimmer/libui/control_proxy/window_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy.rb +1 -1
- data/lib/glimmer/libui/custom_control/code_area.rb +1 -1
- data/lib/glimmer/libui/custom_control/refined_table.rb +2 -2
- data/lib/glimmer/libui/custom_control.rb +1 -1
- data/lib/glimmer/libui/custom_window.rb +1 -1
- data/lib/glimmer/libui/data_bindable.rb +1 -1
- data/lib/glimmer/libui/parent.rb +1 -1
- data/lib/glimmer/libui/shape/arc.rb +1 -1
- data/lib/glimmer/libui/shape/bezier.rb +1 -1
- data/lib/glimmer/libui/shape/circle.rb +1 -1
- data/lib/glimmer/libui/shape/figure.rb +1 -1
- data/lib/glimmer/libui/shape/line.rb +1 -1
- data/lib/glimmer/libui/shape/polybezier.rb +1 -1
- data/lib/glimmer/libui/shape/polygon.rb +1 -1
- data/lib/glimmer/libui/shape/polyline.rb +1 -1
- data/lib/glimmer/libui/shape/rectangle.rb +1 -1
- data/lib/glimmer/libui/shape/square.rb +1 -1
- data/lib/glimmer/libui/shape.rb +1 -1
- data/lib/glimmer/libui.rb +1 -1
- data/lib/glimmer-dsl-libui.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cd6518993a36f3108798c6e510e7e8b4cf948738106d78320e3c50a0537d6046
|
|
4
|
+
data.tar.gz: a06bd741f0900f8311a771cd5acdabefa22e7f7d07f7a2878cc85e03a086c916
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b42863592aeff2f871c596bbe8e43fd74646d4a3b7b413ead62bd07f8baf1a40f3109a73e23709441eb32403edac51088211c0c373ea0fa5c29c1f97c6581ff3
|
|
7
|
+
data.tar.gz: cb642dc20da632413d2fc7a29900158120d9d4146401c334a8681044a048e7a925ed05d7f845ecaf6e75f05a5fbdabc055c5bac28c7713228c466ef116f9db01
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 0.6.0
|
|
4
|
+
|
|
5
|
+
- Upgrade to `libui` Ruby gem version 0.1.0.pre.0, which includes a newer C libui alpha release (libui-ng Nov 13, 2022)
|
|
6
|
+
- Support table `cell_rows` `Enumerator` value to do lazy loading of data upon display of rows instead of immediate loading of all table data, thus improving performance of table initial render for very large datasets
|
|
7
|
+
- Fix issue with `table` `progress_bar_column` not getting updated successfully on Windows if there were dual or triple columns before it.
|
|
8
|
+
- Fix issue with `table` `progress_bar_column` not getting updated successfully on Windows if data-binding table to an array of models instead of an array of arrays
|
|
9
|
+
- Fix issue with `table` `checkbox_column` checkbox editing not working in Mac by including a new C libui-ng release
|
|
10
|
+
- Fix issue with `table` `checkbox_text_column` checkbox editing not working in Mac or Windows by including a new C libui-ng release
|
|
11
|
+
- Update examples/basic_table_checkbox.rb to enable editing checkbox values
|
|
12
|
+
- Update examples/basic_table_checkbox_text.rb to enable editing checkbox/text values
|
|
13
|
+
- [final] Optimize `table` scrolling performance when having many rows and columns (prevent recalculation of `expanded_cell_rows` on every cell evaluation). Resolve: https://github.com/AndyObtiva/glimmer-dsl-libui/issues/38
|
|
14
|
+
- [final] `refined_table` `pagination: false` option to disable pagination, but keep filtering.
|
|
15
|
+
- [final] Fix issue with `Glimmer::LibUI::interpret_color` support for `[r, g, b, a]` `Array`-based colors, returning `[r, g, b]` only without alpha value
|
|
16
|
+
- [final] Fix issue "Cannot add rows to a table that started empty": https://github.com/AndyObtiva/glimmer-dsl-libui/issues/36
|
|
17
|
+
- [final] `window` `#open` method as alias to `#show`
|
|
18
|
+
- [final] `window` `#focused?` read-only property
|
|
19
|
+
- [final] Document `window` `on_focus_changed` listener
|
|
20
|
+
- [final] Update `examples/basic_child_window.rb` to demo `on_focus_changed` and `focused?`
|
|
21
|
+
- [final] `open_folder` support
|
|
22
|
+
- [final] examples/control_gallery.rb now includes an "Open Folder" File menu item
|
|
23
|
+
|
|
3
24
|
## 0.6.0.pre.3
|
|
4
25
|
|
|
5
26
|
- Optimize `table` scrolling performance when having many rows and columns (prevent recalculation of `expanded_cell_rows` on every cell evaluation). Resolve: https://github.com/AndyObtiva/glimmer-dsl-libui/issues/38
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=85 />](https://github.com/AndyObtiva/glimmer) Glimmer DSL for LibUI 0.6.0
|
|
1
|
+
# [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=85 />](https://github.com/AndyObtiva/glimmer) Glimmer DSL for LibUI 0.6.0
|
|
2
2
|
## Prerequisite-Free Ruby Desktop Development GUI Library
|
|
3
3
|
### The Quickest Way From Zero To GUI
|
|
4
4
|
[](http://badge.fury.io/rb/glimmer-dsl-libui)
|
|
@@ -542,7 +542,7 @@ gem install glimmer-dsl-libui
|
|
|
542
542
|
Or install via Bundler `Gemfile`:
|
|
543
543
|
|
|
544
544
|
```ruby
|
|
545
|
-
gem 'glimmer-dsl-libui', '~> 0.6.0
|
|
545
|
+
gem 'glimmer-dsl-libui', '~> 0.6.0'
|
|
546
546
|
```
|
|
547
547
|
|
|
548
548
|
Test that installation worked by running the [Meta-Example](#examples):
|
|
@@ -2219,8 +2219,6 @@ Learn more from data-binding usage in [Login](/docs/examples/GLIMMER-DSL-LIBUI-A
|
|
|
2219
2219
|
### API Gotchas
|
|
2220
2220
|
|
|
2221
2221
|
- There is no proper way to destroy `grid` children due to [libui](https://github.com/andlabs/libui) not offering any API for deleting them from `grid` (no `grid_delete` similar to `box_delete` for `horizontal_box` and `vertical_box`).
|
|
2222
|
-
- `table` `checkbox_column` checkbox editing only works on Linux and Windows (not Mac) due to a current limitation in [libui](https://github.com/andlabs/ui/issues/357).
|
|
2223
|
-
- `table` `checkbox_text_column` checkbox editing only works on Linux (not Mac or Windows) due to a current limitation in [libui](https://github.com/andlabs/ui/issues/357).
|
|
2224
2222
|
- `text` `align` property seems not to work on the Mac ([libui](https://github.com/andlabs/libui) has an [issue](https://github.com/andlabs/libui/pull/407) about it)
|
|
2225
2223
|
- `text` `string` `background` does not work on Windows due to an [issue in libui](https://github.com/andlabs/libui/issues/347).
|
|
2226
2224
|
- `table` `progress_bar` column on Windows cannot be updated with a positive value if it started initially with `-1` (it ignores update to avoid crashing due to an issue in [libui](https://github.com/andlabs/libui) on Windows.
|
|
@@ -2720,7 +2718,7 @@ Note that the latest development sometimes takes place in the [development](http
|
|
|
2720
2718
|
|
|
2721
2719
|
[MIT](LICENSE.txt)
|
|
2722
2720
|
|
|
2723
|
-
Copyright (c) 2021-
|
|
2721
|
+
Copyright (c) 2021-2023 Andy Maleh
|
|
2724
2722
|
|
|
2725
2723
|
--
|
|
2726
2724
|
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.6.0
|
|
1
|
+
0.6.0
|
data/bin/girb_runner.rb
CHANGED
|
@@ -3068,7 +3068,7 @@ class Tetris
|
|
|
3068
3068
|
|
|
3069
3069
|
def show_about_dialog
|
|
3070
3070
|
Glimmer::LibUI.queue_main do
|
|
3071
|
-
msg_box('About', 'Glimmer Tetris - Glimmer DSL for LibUI Example - Copyright (c) 2021-
|
|
3071
|
+
msg_box('About', 'Glimmer Tetris - Glimmer DSL for LibUI Example - Copyright (c) 2021-2023 Andy Maleh')
|
|
3072
3072
|
end
|
|
3073
3073
|
end
|
|
3074
3074
|
end
|
|
@@ -1400,34 +1400,6 @@ Mac | Windows | Linux
|
|
|
1400
1400
|
----|---------|------
|
|
1401
1401
|
 |  | 
|
|
1402
1402
|
|
|
1403
|
-
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
|
1404
|
-
|
|
1405
|
-
```ruby
|
|
1406
|
-
require 'glimmer-dsl-libui'
|
|
1407
|
-
|
|
1408
|
-
include Glimmer
|
|
1409
|
-
|
|
1410
|
-
data = [
|
|
1411
|
-
['cat', 'meow', true],
|
|
1412
|
-
['dog', 'woof', true],
|
|
1413
|
-
['chicken', 'cock-a-doodle-doo', false],
|
|
1414
|
-
['horse', 'neigh', true],
|
|
1415
|
-
['cow', 'moo', true]
|
|
1416
|
-
]
|
|
1417
|
-
|
|
1418
|
-
window('Animal sounds', 300, 200) {
|
|
1419
|
-
horizontal_box {
|
|
1420
|
-
table {
|
|
1421
|
-
text_column('Animal')
|
|
1422
|
-
text_column('Description')
|
|
1423
|
-
checkbox_column('Mammal')
|
|
1424
|
-
|
|
1425
|
-
cell_rows data
|
|
1426
|
-
}
|
|
1427
|
-
}
|
|
1428
|
-
}.show
|
|
1429
|
-
```
|
|
1430
|
-
|
|
1431
1403
|
## Basic Table Checkbox Text
|
|
1432
1404
|
|
|
1433
1405
|
[examples/basic_table_checkbox_text.rb](/examples/basic_table_checkbox_text.rb)
|
|
@@ -1448,34 +1420,6 @@ Mac | Windows | Linux
|
|
|
1448
1420
|
----|---------|------
|
|
1449
1421
|
 |  | 
|
|
1450
1422
|
|
|
1451
|
-
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
|
1452
|
-
|
|
1453
|
-
```ruby
|
|
1454
|
-
require 'glimmer-dsl-libui'
|
|
1455
|
-
|
|
1456
|
-
include Glimmer
|
|
1457
|
-
|
|
1458
|
-
data = [
|
|
1459
|
-
['cat', 'meow', [true, 'mammal']],
|
|
1460
|
-
['dog', 'woof', [true, 'mammal']],
|
|
1461
|
-
['chicken', 'cock-a-doodle-doo', [false, 'mammal']],
|
|
1462
|
-
['horse', 'neigh', [true, 'mammal']],
|
|
1463
|
-
['cow', 'moo', [true, 'mammal']]
|
|
1464
|
-
]
|
|
1465
|
-
|
|
1466
|
-
window('Animal sounds', 400, 200) {
|
|
1467
|
-
horizontal_box {
|
|
1468
|
-
table {
|
|
1469
|
-
text_column('Animal')
|
|
1470
|
-
text_column('Sound')
|
|
1471
|
-
checkbox_text_column('Description')
|
|
1472
|
-
|
|
1473
|
-
cell_rows data
|
|
1474
|
-
}
|
|
1475
|
-
}
|
|
1476
|
-
}.show
|
|
1477
|
-
```
|
|
1478
|
-
|
|
1479
1423
|
## Basic Table Progress Bar
|
|
1480
1424
|
|
|
1481
1425
|
[examples/basic_table_progress_bar.rb](/examples/basic_table_progress_bar.rb)
|
|
@@ -17,9 +17,21 @@ window('Animal sounds', 400, 200) {
|
|
|
17
17
|
table {
|
|
18
18
|
text_column('Animal')
|
|
19
19
|
text_column('Description')
|
|
20
|
-
checkbox_column('Mammal')
|
|
20
|
+
checkbox_column('Mammal') {
|
|
21
|
+
editable true
|
|
22
|
+
}
|
|
21
23
|
|
|
22
24
|
cell_rows data
|
|
25
|
+
|
|
26
|
+
on_changed do |row, type, row_data| # fires on all changes (even ones happening through data array)
|
|
27
|
+
puts "Row #{row} #{type}: #{row_data}"
|
|
28
|
+
$stdout.flush
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
on_edited do |row, row_data| # only fires on direct table editing
|
|
32
|
+
puts "Row #{row} edited: #{row_data}"
|
|
33
|
+
$stdout.flush
|
|
34
|
+
end
|
|
23
35
|
}
|
|
24
36
|
}
|
|
25
37
|
}.show
|
|
@@ -17,9 +17,21 @@ window('Animal sounds', 400, 200) {
|
|
|
17
17
|
table {
|
|
18
18
|
text_column('Animal')
|
|
19
19
|
text_column('Sound')
|
|
20
|
-
checkbox_text_column('Description')
|
|
20
|
+
checkbox_text_column('Description') {
|
|
21
|
+
editable true
|
|
22
|
+
}
|
|
21
23
|
|
|
22
24
|
cell_rows data
|
|
25
|
+
|
|
26
|
+
on_changed do |row, type, row_data| # fires on all changes (even ones happening through data array)
|
|
27
|
+
puts "Row #{row} #{type}: #{row_data.map(&:to_s)}"
|
|
28
|
+
$stdout.flush
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
on_edited do |row, row_data| # only fires on direct table editing
|
|
32
|
+
puts "Row #{row} edited: #{row_data.map(&:to_s)}"
|
|
33
|
+
$stdout.flush
|
|
34
|
+
end
|
|
23
35
|
}
|
|
24
36
|
}
|
|
25
37
|
}.show
|
data/examples/tetris.rb
CHANGED
|
@@ -391,7 +391,7 @@ class Tetris
|
|
|
391
391
|
|
|
392
392
|
def show_about_dialog
|
|
393
393
|
Glimmer::LibUI.queue_main do
|
|
394
|
-
msg_box('About', 'Glimmer Tetris - Glimmer DSL for LibUI Example - Copyright (c) 2021-
|
|
394
|
+
msg_box('About', 'Glimmer Tetris - Glimmer DSL for LibUI Example - Copyright (c) 2021-2023 Andy Maleh')
|
|
395
395
|
end
|
|
396
396
|
end
|
|
397
397
|
end
|
data/glimmer-dsl-libui.gemspec
CHANGED
|
Binary file
|