glimmer-dsl-libui 0.1.3 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +50 -0
  3. data/README.md +901 -104
  4. data/VERSION +1 -1
  5. data/examples/area_gallery.rb +36 -38
  6. data/examples/area_gallery2.rb +111 -0
  7. data/examples/area_gallery3.rb +52 -0
  8. data/examples/area_gallery4.rb +113 -0
  9. data/examples/basic_area2.rb +1 -1
  10. data/examples/basic_button.rb +2 -2
  11. data/examples/basic_entry.rb +2 -2
  12. data/examples/basic_table_progress_bar.rb +13 -3
  13. data/examples/basic_transform.rb +27 -0
  14. data/examples/control_gallery.rb +3 -3
  15. data/examples/dynamic_area.rb +1 -1
  16. data/examples/form.rb +2 -2
  17. data/examples/histogram.rb +118 -0
  18. data/examples/meta_example.rb +71 -20
  19. data/examples/midi_player.rb +8 -10
  20. data/glimmer-dsl-libui.gemspec +0 -0
  21. data/lib/glimmer/dsl/libui/control_expression.rb +0 -2
  22. data/lib/glimmer/dsl/libui/file_expression.rb +5 -1
  23. data/lib/glimmer/dsl/libui/shape_expression.rb +2 -4
  24. data/lib/glimmer/dsl/libui/tab_item_expression.rb +2 -2
  25. data/lib/glimmer/libui/control_proxy/area_proxy.rb +117 -0
  26. data/lib/glimmer/libui/{menu_item_proxy.rb → control_proxy/box/horizontal_box_proxy.rb} +9 -12
  27. data/lib/glimmer/libui/{horizontal_box_proxy.rb → control_proxy/box/vertical_box_proxy.rb} +10 -6
  28. data/lib/glimmer/libui/{box.rb → control_proxy/box.rb} +31 -27
  29. data/lib/glimmer/libui/{button_proxy.rb → control_proxy/button_proxy.rb} +14 -12
  30. data/lib/glimmer/libui/{checkbox_proxy.rb → control_proxy/checkbox_proxy.rb} +14 -12
  31. data/lib/glimmer/libui/control_proxy/color_button_proxy.rb +118 -0
  32. data/lib/glimmer/libui/control_proxy/column/button_column_proxy.rb +76 -0
  33. data/lib/glimmer/libui/control_proxy/column/checkbox_column_proxy.rb +46 -0
  34. data/lib/glimmer/libui/control_proxy/column/checkbox_text_column_proxy.rb +80 -0
  35. data/lib/glimmer/libui/{radio_buttons_proxy.rb → control_proxy/column/image_column_proxy.rb} +14 -13
  36. data/lib/glimmer/libui/control_proxy/column/image_text_column_proxy.rb +48 -0
  37. data/lib/glimmer/libui/control_proxy/column/progress_bar_column_proxy.rb +44 -0
  38. data/lib/glimmer/libui/{checkbox_column_proxy.rb → control_proxy/column/text_column_proxy.rb} +17 -13
  39. data/lib/glimmer/libui/control_proxy/column.rb +55 -0
  40. data/lib/glimmer/libui/control_proxy/combobox_proxy.rb +45 -0
  41. data/lib/glimmer/libui/control_proxy/date_time_picker_proxy/date_picker_proxy.rb +43 -0
  42. data/lib/glimmer/libui/control_proxy/date_time_picker_proxy/time_picker_proxy.rb +43 -0
  43. data/lib/glimmer/libui/control_proxy/date_time_picker_proxy.rb +72 -0
  44. data/lib/glimmer/libui/control_proxy/dual_column.rb +40 -0
  45. data/lib/glimmer/libui/control_proxy/editable_column.rb +46 -0
  46. data/lib/glimmer/libui/control_proxy/editable_combobox_proxy.rb +45 -0
  47. data/lib/glimmer/libui/{dual_column.rb → control_proxy/enableable_column.rb} +18 -10
  48. data/lib/glimmer/libui/control_proxy/font_button_proxy.rb +70 -0
  49. data/lib/glimmer/libui/{form_proxy.rb → control_proxy/form_proxy.rb} +26 -24
  50. data/lib/glimmer/libui/{grid_proxy.rb → control_proxy/grid_proxy.rb} +29 -27
  51. data/lib/glimmer/libui/{group_proxy.rb → control_proxy/group_proxy.rb} +24 -22
  52. data/lib/glimmer/libui/{image_part_proxy.rb → control_proxy/image_part_proxy.rb} +20 -18
  53. data/lib/glimmer/libui/{image_proxy.rb → control_proxy/image_proxy.rb} +32 -30
  54. data/lib/glimmer/libui/{combobox_proxy.rb → control_proxy/label_proxy.rb} +13 -13
  55. data/lib/glimmer/libui/control_proxy/matrix_proxy.rb +147 -0
  56. data/lib/glimmer/libui/{editable_column.rb → control_proxy/menu_item_proxy/about_menu_item_proxy.rb} +13 -16
  57. data/lib/glimmer/libui/control_proxy/menu_item_proxy/check_menu_item_proxy.rb +41 -0
  58. data/lib/glimmer/libui/{date_picker_proxy.rb → control_proxy/menu_item_proxy/preferences_menu_item_proxy.rb} +10 -10
  59. data/lib/glimmer/libui/{quit_menu_item_proxy.rb → control_proxy/menu_item_proxy/quit_menu_item_proxy.rb} +33 -29
  60. data/lib/glimmer/libui/control_proxy/menu_item_proxy/separator_menu_item_proxy.rb +41 -0
  61. data/lib/glimmer/libui/control_proxy/menu_item_proxy.rb +45 -0
  62. data/lib/glimmer/libui/{editable_combobox_proxy.rb → control_proxy/menu_proxy.rb} +13 -13
  63. data/lib/glimmer/libui/{vertical_box_proxy.rb → control_proxy/message_box/msg_box_error_proxy.rb} +9 -6
  64. data/lib/glimmer/libui/{multiline_entry_proxy.rb → control_proxy/message_box/msg_box_proxy.rb} +8 -6
  65. data/lib/glimmer/libui/{time_picker_proxy.rb → control_proxy/message_box.rb} +9 -10
  66. data/lib/glimmer/libui/{rectangle.rb → control_proxy/multiline_entry_proxy/non_wrapping_multiline_entry_proxy.rb} +6 -7
  67. data/lib/glimmer/libui/{progress_bar_column_proxy.rb → control_proxy/multiline_entry_proxy.rb} +10 -11
  68. data/lib/glimmer/libui/control_proxy/path_proxy.rb +190 -0
  69. data/lib/glimmer/libui/control_proxy/radio_buttons_proxy.rb +45 -0
  70. data/lib/glimmer/libui/{button_column_proxy.rb → control_proxy/tab_item_proxy.rb} +37 -40
  71. data/lib/glimmer/libui/control_proxy/table_proxy.rb +182 -0
  72. data/lib/glimmer/libui/control_proxy/transformable.rb +74 -0
  73. data/lib/glimmer/libui/control_proxy/window_proxy.rb +128 -0
  74. data/lib/glimmer/libui/control_proxy.rb +39 -20
  75. data/lib/glimmer/libui/{enableable_column.rb → parent.rb} +7 -15
  76. data/lib/glimmer/libui/{arc.rb → shape/arc.rb} +13 -10
  77. data/lib/glimmer/libui/shape/bezier.rb +38 -0
  78. data/lib/glimmer/libui/{figure.rb → shape/figure.rb} +23 -20
  79. data/lib/glimmer/libui/{line.rb → shape/line.rb} +9 -6
  80. data/lib/glimmer/libui/{bezier.rb → shape/rectangle.rb} +9 -6
  81. data/lib/glimmer/libui/{square.rb → shape/square.rb} +9 -6
  82. data/lib/glimmer/libui/shape.rb +30 -14
  83. data/lib/glimmer/libui.rb +92 -0
  84. data/lib/glimmer-dsl-libui.rb +2 -0
  85. metadata +79 -53
  86. data/lib/glimmer/libui/about_menu_item_proxy.rb +0 -37
  87. data/lib/glimmer/libui/area_proxy.rb +0 -105
  88. data/lib/glimmer/libui/check_menu_item_proxy.rb +0 -37
  89. data/lib/glimmer/libui/checkbox_text_column_proxy.rb +0 -76
  90. data/lib/glimmer/libui/color_button_proxy.rb +0 -64
  91. data/lib/glimmer/libui/column.rb +0 -51
  92. data/lib/glimmer/libui/date_time_picker_proxy.rb +0 -68
  93. data/lib/glimmer/libui/font_button_proxy.rb +0 -68
  94. data/lib/glimmer/libui/image_column_proxy.rb +0 -40
  95. data/lib/glimmer/libui/image_text_column_proxy.rb +0 -44
  96. data/lib/glimmer/libui/label_proxy.rb +0 -41
  97. data/lib/glimmer/libui/menu_proxy.rb +0 -41
  98. data/lib/glimmer/libui/non_wrapping_multiline_entry_proxy.rb +0 -32
  99. data/lib/glimmer/libui/path_proxy.rb +0 -169
  100. data/lib/glimmer/libui/preferences_menu_item_proxy.rb +0 -37
  101. data/lib/glimmer/libui/separator_menu_item_proxy.rb +0 -37
  102. data/lib/glimmer/libui/tab_item_proxy.rb +0 -67
  103. data/lib/glimmer/libui/table_proxy.rb +0 -180
  104. data/lib/glimmer/libui/text_column_proxy.rb +0 -42
  105. data/lib/glimmer/libui/window_proxy.rb +0 -119
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fcb53c296d806a067e4397ba0b51d6449672846fc126285f9b3ecdaf93b204a9
4
- data.tar.gz: 97dd865c4b0b45e2ba88e6c16b47196f0c6aa2151697ba33c6a9dd391873507e
3
+ metadata.gz: dc16d9ab058fc6f75617c56ba43134253caf52ff729402efa045121823687245
4
+ data.tar.gz: 3ff67efc0e34b5730818c477693f81d31cb41a7f3b928fda34038d358d26c71e
5
5
  SHA512:
6
- metadata.gz: daaff4633ae70ad0691cb4828fc1678ca2fda631d1ce23dce3ebbff889fef60f25569e84492ce121a2ff518af94b796a44c0ac54095f9b843e9ec7ce9e104902
7
- data.tar.gz: 6a633312a198a65ff053d1ad28112716e2d8a2468c3336a471786dcb2cf6cdc9b31b12af1881da98864d2ab953a38d92e39278631c92cd9d1d995c4a6ad71360
6
+ metadata.gz: 7cfe89c0e5f2f0507484c8fadddc2bd75f02e8cb6f09368679c58ebde66fb37dc8c1980b9617e578846138e92b2a6b77920e2f7b5309ddb98cfc658b7bcaabd7
7
+ data.tar.gz: 99479329a3c7917bc2768f3ca7d7514c448ce70888b807741bf18db67e45d5c139c0ffe6ac7d21595a4f33ddb0cd92e7c328f63470cedd0569c974574fb5938a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,55 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.1.7
4
+
5
+ - Support `stroke` `:dashes` and use in examples/area_gallery.rb
6
+ - Support symbol values for draw_line_cap (`:round`, `:square`, `:flat`) and draw_line_join (`:miter`, `:round`, `:bevel`) and draw_fill_mode (`:winding` and `:alternate`)
7
+
8
+ ## 0.1.6
9
+
10
+ - Update default `window` `width` to `190`
11
+ - Improve layout of examples/meta_example.rb
12
+ - Enhance examples/meta_example.rb to enable choosing versions with a spinbox instead of adding them to examples list
13
+ - Nest control proxies under `Glimmer::LibUI::ControlProxy` namespace
14
+ - Nest shapes under `Glimmer::LibUI::Shape` namespace
15
+ - Nest `vertical_box` and `horizontal_box` under `Glimmer::LibUI::ControlProxy::Box` namespace
16
+ - Nest columns under `Glimmer::LibUI::ControlProxy::Column` namespace
17
+ - Nest menu item proxies under `Glimmer::LibUI::ControlProxy::MenuItemProxy` namespace
18
+ - Nest date time picker proxies under `Glimmer::LibUI::ControlProxy::DateTimePickerProxy` namespace
19
+ - Nest multiline entry proxies under `Glimmer::LibUI::ControlProxy::MultinlineEntryProxy` namespace
20
+ - Support `time_picker` control explicitly
21
+ - Support X11 color names (via [color](https://github.com/halostatue/color) gem)
22
+ - Support passing :red, :green, :blue, :alpha keys to fill/stroke (not just :r,:g,:b,:a)
23
+ - Support 3-number hex color shorthand
24
+ - Support ability to set fill/stroke to x11/Integer/String color directly (e.g. `fill 'steelblue'` , optionally with extra hash key/value pairs e.g. `fill 0x238232, a: 0.5`)
25
+ - Support ability to set color_button.color to {color: x11/Integer/String}
26
+ - Default main_window_proxy first argument for `msg_box`/`msg_box_error` (and empty strings for following args if not passed)
27
+ - Default main_window_proxy argument for `open_file` and `save_file`
28
+
29
+ ## 0.1.5
30
+
31
+ - Support examples/histogram.rb
32
+ - Support examples/basic_transform.rb
33
+ - Support `color_button` `color=`/`set_color` setter
34
+ - Switch `color_button` `color` API to return a hash of `{:r, :g, :b, :a}` instead of an array for consistency with other libui APIs (like fill and stroke brush)
35
+ - Implement `color_button` fine-grained setters (e.g. `cg.red = 144`)
36
+ - Support hex colors in `color_button` (by passing an Integer 0xFFBBAA or String hex 'ffbbaa') and `path` `fill` and `stroke` (with `:color` key)
37
+ - Eliminate need for passing `area_draw_params` to `path` when declared underneath `area` `on_draw` listener
38
+ - Support `path` `transform` property for building `matrix` objects (either through `path { transform {operations} }` directly or through `m1 = matrix {operations}; path { transform m1 }` to reuse a matrix)
39
+ - Support `area` `transform` property for building `matrix` objects (either through `area { transform {operations} }` directly or through `m1 = matrix {operations}; area { transform m1 }` to reuse a matrix)
40
+ - Ensure `matrix` `rotate` method accepts degrees (not radians)
41
+ - Support `matrix` `multiply` method that accepts a `Glimmer::LibUI::MatrixProxy` object
42
+ - Support `matrix` `invertible?` property that returns a Boolean
43
+ - Automatically reparent an `area` that is added directly under `window` with `vertical_box`. This fixes issue with display of `area` added directly under `window` in Linux.
44
+
45
+ ## 0.1.4
46
+
47
+ - Update examples/basic_table_progress_bar.rb with a listener
48
+ - Set default values for shape parameters and support passing shape parameters as properties inside their body (e.g. `rectangle {x 2; y 3; width 400; height 800}`)
49
+ - New examples/area_gallery2.rb (utilizing properties instead of args)
50
+ - New examples/area_gallery3.rb (semi-declarative on_draw dynamic paths)
51
+ - New examples/area_gallery4.rb (utilizing properties instead of args with semi-declarative on_draw dynamic paths)
52
+
3
53
  ## 0.1.3
4
54
 
5
55
  - New examples/area_gallery.rb