glimmer-dsl-libui 0.6.0.pre.2 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +27 -0
  3. data/LICENSE.txt +1 -1
  4. data/README.md +4 -5
  5. data/VERSION +1 -1
  6. data/bin/girb_runner.rb +1 -1
  7. data/docs/examples/GLIMMER-DSL-LIBUI-ADVANCED-EXAMPLES.md +1 -1
  8. data/docs/examples/GLIMMER-DSL-LIBUI-BASIC-EXAMPLES.md +0 -56
  9. data/examples/basic_table_checkbox.rb +13 -1
  10. data/examples/basic_table_checkbox_text.rb +13 -1
  11. data/examples/tetris/model/block.rb +1 -1
  12. data/examples/tetris/model/game.rb +1 -1
  13. data/examples/tetris/model/past_game.rb +1 -1
  14. data/examples/tetris/model/tetromino.rb +1 -1
  15. data/examples/tetris.rb +1 -1
  16. data/examples/tic_tac_toe/board.rb +1 -1
  17. data/examples/tic_tac_toe/cell.rb +1 -1
  18. data/glimmer-dsl-libui.gemspec +0 -0
  19. data/lib/glimmer/dsl/libui/bind_expression.rb +1 -1
  20. data/lib/glimmer/dsl/libui/control_expression.rb +1 -1
  21. data/lib/glimmer/dsl/libui/custom_control_expression.rb +1 -1
  22. data/lib/glimmer/dsl/libui/data_binding_expression.rb +1 -1
  23. data/lib/glimmer/dsl/libui/dsl.rb +1 -1
  24. data/lib/glimmer/dsl/libui/file_expression.rb +1 -1
  25. data/lib/glimmer/dsl/libui/listener_expression.rb +1 -1
  26. data/lib/glimmer/dsl/libui/observe_expression.rb +1 -1
  27. data/lib/glimmer/dsl/libui/open_file_expression.rb +1 -1
  28. data/lib/glimmer/dsl/libui/open_folder_expression.rb +1 -1
  29. data/lib/glimmer/dsl/libui/operation_expression.rb +1 -1
  30. data/lib/glimmer/dsl/libui/property_expression.rb +1 -1
  31. data/lib/glimmer/dsl/libui/save_file_expression.rb +1 -1
  32. data/lib/glimmer/dsl/libui/shape_expression.rb +1 -1
  33. data/lib/glimmer/dsl/libui/shine_data_binding_expression.rb +1 -1
  34. data/lib/glimmer/dsl/libui/string_expression.rb +1 -1
  35. data/lib/glimmer/dsl/libui/tab_item_expression.rb +1 -1
  36. data/lib/glimmer/fiddle_consumer.rb +1 -1
  37. data/lib/glimmer/libui/attributed_string.rb +1 -1
  38. data/lib/glimmer/libui/control_proxy/area_proxy/scrolling_area_proxy.rb +1 -1
  39. data/lib/glimmer/libui/control_proxy/area_proxy.rb +1 -1
  40. data/lib/glimmer/libui/control_proxy/box/horizontal_box_proxy.rb +1 -1
  41. data/lib/glimmer/libui/control_proxy/box/vertical_box_proxy.rb +1 -1
  42. data/lib/glimmer/libui/control_proxy/box.rb +1 -1
  43. data/lib/glimmer/libui/control_proxy/button_proxy.rb +1 -1
  44. data/lib/glimmer/libui/control_proxy/checkbox_proxy.rb +1 -1
  45. data/lib/glimmer/libui/control_proxy/color_button_proxy.rb +1 -1
  46. data/lib/glimmer/libui/control_proxy/column/background_color_column_proxy.rb +1 -1
  47. data/lib/glimmer/libui/control_proxy/column/button_column_proxy.rb +1 -1
  48. data/lib/glimmer/libui/control_proxy/column/checkbox_column_proxy.rb +1 -1
  49. data/lib/glimmer/libui/control_proxy/column/checkbox_text_color_column_proxy.rb +1 -1
  50. data/lib/glimmer/libui/control_proxy/column/checkbox_text_column_proxy.rb +1 -1
  51. data/lib/glimmer/libui/control_proxy/column/image_column_proxy.rb +1 -1
  52. data/lib/glimmer/libui/control_proxy/column/image_text_color_column_proxy.rb +1 -1
  53. data/lib/glimmer/libui/control_proxy/column/image_text_column_proxy.rb +1 -1
  54. data/lib/glimmer/libui/control_proxy/column/progress_bar_column_proxy.rb +1 -1
  55. data/lib/glimmer/libui/control_proxy/column/text_color_column_proxy.rb +1 -1
  56. data/lib/glimmer/libui/control_proxy/column/text_column_proxy.rb +1 -1
  57. data/lib/glimmer/libui/control_proxy/column.rb +1 -1
  58. data/lib/glimmer/libui/control_proxy/combobox_proxy.rb +1 -1
  59. data/lib/glimmer/libui/control_proxy/date_time_picker_proxy/date_picker_proxy.rb +1 -1
  60. data/lib/glimmer/libui/control_proxy/date_time_picker_proxy/time_picker_proxy.rb +1 -1
  61. data/lib/glimmer/libui/control_proxy/date_time_picker_proxy.rb +1 -1
  62. data/lib/glimmer/libui/control_proxy/dual_column.rb +1 -1
  63. data/lib/glimmer/libui/control_proxy/editable_column.rb +1 -1
  64. data/lib/glimmer/libui/control_proxy/editable_combobox_proxy.rb +1 -1
  65. data/lib/glimmer/libui/control_proxy/enableable_column.rb +1 -1
  66. data/lib/glimmer/libui/control_proxy/entry_proxy/password_entry_proxy.rb +1 -1
  67. data/lib/glimmer/libui/control_proxy/entry_proxy/search_entry_proxy.rb +1 -1
  68. data/lib/glimmer/libui/control_proxy/entry_proxy.rb +1 -1
  69. data/lib/glimmer/libui/control_proxy/font_button_proxy.rb +1 -1
  70. data/lib/glimmer/libui/control_proxy/form_proxy.rb +1 -1
  71. data/lib/glimmer/libui/control_proxy/grid_proxy.rb +1 -1
  72. data/lib/glimmer/libui/control_proxy/group_proxy.rb +1 -1
  73. data/lib/glimmer/libui/control_proxy/image_part_proxy.rb +1 -1
  74. data/lib/glimmer/libui/control_proxy/image_proxy.rb +1 -1
  75. data/lib/glimmer/libui/control_proxy/label_proxy.rb +1 -1
  76. data/lib/glimmer/libui/control_proxy/matrix_proxy.rb +1 -1
  77. data/lib/glimmer/libui/control_proxy/menu_item_proxy/about_menu_item_proxy.rb +1 -1
  78. data/lib/glimmer/libui/control_proxy/menu_item_proxy/check_menu_item_proxy.rb +1 -1
  79. data/lib/glimmer/libui/control_proxy/menu_item_proxy/preferences_menu_item_proxy.rb +1 -1
  80. data/lib/glimmer/libui/control_proxy/menu_item_proxy/quit_menu_item_proxy.rb +1 -1
  81. data/lib/glimmer/libui/control_proxy/menu_item_proxy/radio_menu_item_proxy.rb +1 -1
  82. data/lib/glimmer/libui/control_proxy/menu_item_proxy/separator_menu_item_proxy.rb +1 -1
  83. data/lib/glimmer/libui/control_proxy/menu_item_proxy.rb +1 -1
  84. data/lib/glimmer/libui/control_proxy/menu_proxy.rb +1 -1
  85. data/lib/glimmer/libui/control_proxy/message_box/msg_box_error_proxy.rb +1 -1
  86. data/lib/glimmer/libui/control_proxy/message_box/msg_box_proxy.rb +1 -1
  87. data/lib/glimmer/libui/control_proxy/message_box.rb +1 -1
  88. data/lib/glimmer/libui/control_proxy/multiline_entry_proxy/non_wrapping_multiline_entry_proxy.rb +1 -1
  89. data/lib/glimmer/libui/control_proxy/multiline_entry_proxy.rb +1 -1
  90. data/lib/glimmer/libui/control_proxy/open_type_features_proxy.rb +1 -1
  91. data/lib/glimmer/libui/control_proxy/open_type_tag_proxy.rb +1 -1
  92. data/lib/glimmer/libui/control_proxy/path_proxy.rb +1 -1
  93. data/lib/glimmer/libui/control_proxy/radio_buttons_proxy.rb +1 -1
  94. data/lib/glimmer/libui/control_proxy/slider_proxy.rb +1 -1
  95. data/lib/glimmer/libui/control_proxy/spinbox_proxy.rb +1 -1
  96. data/lib/glimmer/libui/control_proxy/tab_item_proxy.rb +1 -1
  97. data/lib/glimmer/libui/control_proxy/table_proxy.rb +243 -87
  98. data/lib/glimmer/libui/control_proxy/text_proxy.rb +1 -1
  99. data/lib/glimmer/libui/control_proxy/transformable.rb +1 -1
  100. data/lib/glimmer/libui/control_proxy/triple_column.rb +1 -1
  101. data/lib/glimmer/libui/control_proxy/window_proxy.rb +1 -1
  102. data/lib/glimmer/libui/control_proxy.rb +1 -1
  103. data/lib/glimmer/libui/custom_control/code_area.rb +1 -1
  104. data/lib/glimmer/libui/custom_control/refined_table.rb +4 -2
  105. data/lib/glimmer/libui/custom_control.rb +1 -1
  106. data/lib/glimmer/libui/custom_window.rb +1 -1
  107. data/lib/glimmer/libui/data_bindable.rb +1 -1
  108. data/lib/glimmer/libui/parent.rb +1 -1
  109. data/lib/glimmer/libui/shape/arc.rb +1 -1
  110. data/lib/glimmer/libui/shape/bezier.rb +1 -1
  111. data/lib/glimmer/libui/shape/circle.rb +1 -1
  112. data/lib/glimmer/libui/shape/figure.rb +1 -1
  113. data/lib/glimmer/libui/shape/line.rb +1 -1
  114. data/lib/glimmer/libui/shape/polybezier.rb +1 -1
  115. data/lib/glimmer/libui/shape/polygon.rb +1 -1
  116. data/lib/glimmer/libui/shape/polyline.rb +1 -1
  117. data/lib/glimmer/libui/shape/rectangle.rb +1 -1
  118. data/lib/glimmer/libui/shape/square.rb +1 -1
  119. data/lib/glimmer/libui/shape.rb +1 -1
  120. data/lib/glimmer/libui.rb +5 -5
  121. data/lib/glimmer-dsl-libui.rb +1 -1
  122. metadata +5 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 92740dabc6bcd24626b2f02847b37e81f7a713f787d0dda73457e57ad7c92316
4
- data.tar.gz: 92eabe4c6043527bd218ee867e564883be14d295fd00b6a6ee5d2b1fd6762e64
3
+ metadata.gz: cd6518993a36f3108798c6e510e7e8b4cf948738106d78320e3c50a0537d6046
4
+ data.tar.gz: a06bd741f0900f8311a771cd5acdabefa22e7f7d07f7a2878cc85e03a086c916
5
5
  SHA512:
6
- metadata.gz: 20469c207b97d91102f8c864449668c30ae7f34c82c0c8c4c054c1ca63e5bba12810fe437aa78e0fe67e8950b415ff59a401bb8289e267305585b53bec408977
7
- data.tar.gz: 6a56bc7b09ddaf51b2f766da5dd6066cff9db9f93a6e39cd80f2217f4b1ee1f0a7cd3e9cb78c6ae149d4f007bca2cd4b2d335858cc35621ac6048fcfae969f67
6
+ metadata.gz: b42863592aeff2f871c596bbe8e43fd74646d4a3b7b413ead62bd07f8baf1a40f3109a73e23709441eb32403edac51088211c0c373ea0fa5c29c1f97c6581ff3
7
+ data.tar.gz: cb642dc20da632413d2fc7a29900158120d9d4146401c334a8681044a048e7a925ed05d7f845ecaf6e75f05a5fbdabc055c5bac28c7713228c466ef116f9db01
data/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
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
+
24
+ ## 0.6.0.pre.3
25
+
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
27
+ - `refined_table` `pagination: false` option to disable pagination, but keep filtering.
28
+ - Fix issue with `Glimmer::LibUI::interpret_color` support for `[r, g, b, a]` `Array`-based colors, returning `[r, g, b]` only without alpha value
29
+
3
30
  ## 0.6.0.pre.2
4
31
 
5
32
  - Fix issue "Cannot add rows to a table that started empty": https://github.com/AndyObtiva/glimmer-dsl-libui/issues/36
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2021-2022 Andy Maleh
1
+ Copyright (c) 2021-2023 Andy Maleh
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
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.pre.2
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
  [![Gem Version](https://badge.fury.io/rb/glimmer-dsl-libui.svg)](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.pre.2'
545
+ gem 'glimmer-dsl-libui', '~> 0.6.0'
546
546
  ```
547
547
 
548
548
  Test that installation worked by running the [Meta-Example](#examples):
@@ -971,6 +971,7 @@ Options (passed as kwargs hash):
971
971
  - `table_editable` (Boolean) [default: `false`]: this indicates if all table columns are editable or not.
972
972
  - `per_page` (`Integer`) [default: `10`]: number of rows per page
973
973
  - `page` (`Integer`) [default: `1`]: initial page displayed
974
+ - `pagination` (Boolean) [default: `true`]: pagination is enabled (disabling still keeps the filter field)
974
975
  - `visible_page_count` (Boolean) [default: `false`]: shows "of PAGE_COUNT pages" after page `entry` field
975
976
  - `filter` (Lambda) [default: `Glimmer::LibUI::CustomControl::RefinedTable::FILTER_DEFAULT`]: enables setting custom filter that accepts `row_hash` (mapping table column names to row values) and `query` string as arguments, and it is supposed to return `true` or `false` for whether to show a row or filter it out.
976
977
 
@@ -2218,8 +2219,6 @@ Learn more from data-binding usage in [Login](/docs/examples/GLIMMER-DSL-LIBUI-A
2218
2219
  ### API Gotchas
2219
2220
 
2220
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`).
2221
- - `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).
2222
- - `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).
2223
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)
2224
2223
  - `text` `string` `background` does not work on Windows due to an [issue in libui](https://github.com/andlabs/libui/issues/347).
2225
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.
@@ -2719,7 +2718,7 @@ Note that the latest development sometimes takes place in the [development](http
2719
2718
 
2720
2719
  [MIT](LICENSE.txt)
2721
2720
 
2722
- Copyright (c) 2021-2022 Andy Maleh
2721
+ Copyright (c) 2021-2023 Andy Maleh
2723
2722
 
2724
2723
  --
2725
2724
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.0.pre.2
1
+ 0.6.0
data/bin/girb_runner.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -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-2022 Andy Maleh')
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
  ![glimmer-dsl-libui-mac-basic-table-checkbox.png](/images/glimmer-dsl-libui-mac-basic-table-checkbox.png) | ![glimmer-dsl-libui-windows-basic-table-checkbox.png](/images/glimmer-dsl-libui-windows-basic-table-checkbox.png) | ![glimmer-dsl-libui-linux-basic-table-checkbox.png](/images/glimmer-dsl-libui-linux-basic-table-checkbox.png)
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
  ![glimmer-dsl-libui-mac-basic-table-checkbox-text.png](/images/glimmer-dsl-libui-mac-basic-table-checkbox-text.png) | ![glimmer-dsl-libui-windows-basic-table-checkbox-text.png](/images/glimmer-dsl-libui-windows-basic-table-checkbox-text.png) | ![glimmer-dsl-libui-linux-basic-table-checkbox-text.png](/images/glimmer-dsl-libui-linux-basic-table-checkbox-text.png)
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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
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-2022 Andy Maleh')
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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
Binary file
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022 Andy Maleh
1
+ # Copyright (c) 2021-2023 Andy Maleh
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the