glimmer-dsl-libui 0.1.4 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +55 -0
  3. data/README.md +939 -255
  4. data/VERSION +1 -1
  5. data/examples/area_gallery.rb +72 -38
  6. data/examples/area_gallery2.rb +126 -92
  7. data/examples/area_gallery3.rb +74 -40
  8. data/examples/area_gallery4.rb +132 -98
  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_transform.rb +27 -0
  13. data/examples/control_gallery.rb +3 -3
  14. data/examples/dynamic_area.rb +1 -1
  15. data/examples/form.rb +2 -2
  16. data/examples/histogram.rb +118 -0
  17. data/examples/meta_example.rb +71 -20
  18. data/examples/midi_player.rb +8 -10
  19. data/glimmer-dsl-libui.gemspec +0 -0
  20. data/lib/glimmer/dsl/libui/control_expression.rb +0 -2
  21. data/lib/glimmer/dsl/libui/file_expression.rb +5 -1
  22. data/lib/glimmer/dsl/libui/shape_expression.rb +2 -4
  23. data/lib/glimmer/dsl/libui/tab_item_expression.rb +2 -2
  24. data/lib/glimmer/libui/control_proxy/area_proxy.rb +166 -0
  25. data/lib/glimmer/libui/{menu_item_proxy.rb → control_proxy/box/horizontal_box_proxy.rb} +9 -12
  26. data/lib/glimmer/libui/{horizontal_box_proxy.rb → control_proxy/box/vertical_box_proxy.rb} +10 -6
  27. data/lib/glimmer/libui/{box.rb → control_proxy/box.rb} +31 -27
  28. data/lib/glimmer/libui/{button_proxy.rb → control_proxy/button_proxy.rb} +14 -12
  29. data/lib/glimmer/libui/{checkbox_proxy.rb → control_proxy/checkbox_proxy.rb} +14 -12
  30. data/lib/glimmer/libui/control_proxy/color_button_proxy.rb +118 -0
  31. data/lib/glimmer/libui/control_proxy/column/button_column_proxy.rb +76 -0
  32. data/lib/glimmer/libui/control_proxy/column/checkbox_column_proxy.rb +46 -0
  33. data/lib/glimmer/libui/control_proxy/column/checkbox_text_column_proxy.rb +80 -0
  34. data/lib/glimmer/libui/{radio_buttons_proxy.rb → control_proxy/column/image_column_proxy.rb} +14 -13
  35. data/lib/glimmer/libui/control_proxy/column/image_text_column_proxy.rb +48 -0
  36. data/lib/glimmer/libui/control_proxy/column/progress_bar_column_proxy.rb +44 -0
  37. data/lib/glimmer/libui/{checkbox_column_proxy.rb → control_proxy/column/text_column_proxy.rb} +17 -13
  38. data/lib/glimmer/libui/control_proxy/column.rb +55 -0
  39. data/lib/glimmer/libui/control_proxy/combobox_proxy.rb +45 -0
  40. data/lib/glimmer/libui/control_proxy/date_time_picker_proxy/date_picker_proxy.rb +43 -0
  41. data/lib/glimmer/libui/control_proxy/date_time_picker_proxy/time_picker_proxy.rb +43 -0
  42. data/lib/glimmer/libui/control_proxy/date_time_picker_proxy.rb +72 -0
  43. data/lib/glimmer/libui/control_proxy/dual_column.rb +40 -0
  44. data/lib/glimmer/libui/control_proxy/editable_column.rb +46 -0
  45. data/lib/glimmer/libui/control_proxy/editable_combobox_proxy.rb +45 -0
  46. data/lib/glimmer/libui/{dual_column.rb → control_proxy/enableable_column.rb} +18 -10
  47. data/lib/glimmer/libui/control_proxy/font_button_proxy.rb +70 -0
  48. data/lib/glimmer/libui/{form_proxy.rb → control_proxy/form_proxy.rb} +26 -24
  49. data/lib/glimmer/libui/{grid_proxy.rb → control_proxy/grid_proxy.rb} +29 -27
  50. data/lib/glimmer/libui/{group_proxy.rb → control_proxy/group_proxy.rb} +24 -22
  51. data/lib/glimmer/libui/{image_part_proxy.rb → control_proxy/image_part_proxy.rb} +20 -18
  52. data/lib/glimmer/libui/{image_proxy.rb → control_proxy/image_proxy.rb} +32 -30
  53. data/lib/glimmer/libui/{combobox_proxy.rb → control_proxy/label_proxy.rb} +13 -13
  54. data/lib/glimmer/libui/control_proxy/matrix_proxy.rb +147 -0
  55. data/lib/glimmer/libui/{editable_column.rb → control_proxy/menu_item_proxy/about_menu_item_proxy.rb} +13 -16
  56. data/lib/glimmer/libui/control_proxy/menu_item_proxy/check_menu_item_proxy.rb +41 -0
  57. data/lib/glimmer/libui/{date_picker_proxy.rb → control_proxy/menu_item_proxy/preferences_menu_item_proxy.rb} +10 -10
  58. data/lib/glimmer/libui/{quit_menu_item_proxy.rb → control_proxy/menu_item_proxy/quit_menu_item_proxy.rb} +33 -29
  59. data/lib/glimmer/libui/control_proxy/menu_item_proxy/separator_menu_item_proxy.rb +41 -0
  60. data/lib/glimmer/libui/control_proxy/menu_item_proxy.rb +45 -0
  61. data/lib/glimmer/libui/{editable_combobox_proxy.rb → control_proxy/menu_proxy.rb} +13 -13
  62. data/lib/glimmer/libui/{vertical_box_proxy.rb → control_proxy/message_box/msg_box_error_proxy.rb} +9 -6
  63. data/lib/glimmer/libui/{multiline_entry_proxy.rb → control_proxy/message_box/msg_box_proxy.rb} +8 -6
  64. data/lib/glimmer/libui/{time_picker_proxy.rb → control_proxy/message_box.rb} +9 -10
  65. data/lib/glimmer/libui/{rectangle.rb → control_proxy/multiline_entry_proxy/non_wrapping_multiline_entry_proxy.rb} +6 -8
  66. data/lib/glimmer/libui/{progress_bar_column_proxy.rb → control_proxy/multiline_entry_proxy.rb} +10 -11
  67. data/lib/glimmer/libui/control_proxy/path_proxy.rb +190 -0
  68. data/lib/glimmer/libui/control_proxy/radio_buttons_proxy.rb +45 -0
  69. data/lib/glimmer/libui/{button_column_proxy.rb → control_proxy/tab_item_proxy.rb} +37 -40
  70. data/lib/glimmer/libui/control_proxy/table_proxy.rb +182 -0
  71. data/lib/glimmer/libui/control_proxy/transformable.rb +74 -0
  72. data/lib/glimmer/libui/control_proxy/window_proxy.rb +128 -0
  73. data/lib/glimmer/libui/control_proxy.rb +72 -21
  74. data/lib/glimmer/libui/{enableable_column.rb → parent.rb} +7 -15
  75. data/lib/glimmer/libui/{arc.rb → shape/arc.rb} +13 -11
  76. data/lib/glimmer/libui/shape/bezier.rb +38 -0
  77. data/lib/glimmer/libui/{figure.rb → shape/figure.rb} +23 -21
  78. data/lib/glimmer/libui/{line.rb → shape/line.rb} +9 -7
  79. data/lib/glimmer/libui/{bezier.rb → shape/rectangle.rb} +9 -7
  80. data/lib/glimmer/libui/{square.rb → shape/square.rb} +9 -7
  81. data/lib/glimmer/libui/shape.rb +16 -15
  82. data/lib/glimmer/libui.rb +92 -0
  83. data/lib/glimmer-dsl-libui.rb +3 -0
  84. metadata +76 -53
  85. data/lib/glimmer/libui/about_menu_item_proxy.rb +0 -37
  86. data/lib/glimmer/libui/area_proxy.rb +0 -105
  87. data/lib/glimmer/libui/check_menu_item_proxy.rb +0 -37
  88. data/lib/glimmer/libui/checkbox_text_column_proxy.rb +0 -76
  89. data/lib/glimmer/libui/color_button_proxy.rb +0 -64
  90. data/lib/glimmer/libui/column.rb +0 -51
  91. data/lib/glimmer/libui/date_time_picker_proxy.rb +0 -68
  92. data/lib/glimmer/libui/font_button_proxy.rb +0 -68
  93. data/lib/glimmer/libui/image_column_proxy.rb +0 -40
  94. data/lib/glimmer/libui/image_text_column_proxy.rb +0 -44
  95. data/lib/glimmer/libui/label_proxy.rb +0 -41
  96. data/lib/glimmer/libui/menu_proxy.rb +0 -41
  97. data/lib/glimmer/libui/non_wrapping_multiline_entry_proxy.rb +0 -32
  98. data/lib/glimmer/libui/path_proxy.rb +0 -169
  99. data/lib/glimmer/libui/preferences_menu_item_proxy.rb +0 -37
  100. data/lib/glimmer/libui/separator_menu_item_proxy.rb +0 -37
  101. data/lib/glimmer/libui/tab_item_proxy.rb +0 -67
  102. data/lib/glimmer/libui/table_proxy.rb +0 -180
  103. data/lib/glimmer/libui/text_column_proxy.rb +0 -42
  104. data/lib/glimmer/libui/window_proxy.rb +0 -119
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cc9eaa2a61420e3a1d976ab3b6882bd1e34c82a945780a39ab7c22f4146f1c93
4
- data.tar.gz: 35afb04fac90b577482203540944df84138267bf3de14551e6e3cb5c836c2149
3
+ metadata.gz: ee3dcc2080c663175956845a975fb2bb0fb3a927f9b1b612f9d230d874fe8c86
4
+ data.tar.gz: 754ca74f6124c056209da9c8131cf1f3b527d67cf9a3c62a318d0c9d75f3c2ca
5
5
  SHA512:
6
- metadata.gz: 935beb60983735533a31c2a25c20bb2c817c0a184113cbafaeb2918bf9a8d485b784b86bed2273141bbf068bff005bebcb5806de82650cfeee45c14af28a0f72
7
- data.tar.gz: 4d9ae69fe974dc8a91e03577856f171f3270a4d02e8075c0796a6d9aaaa94ea2c6fd9e0d93086f1000aa4bc34c4e16db3d44b6bf3bd5038f7faf6957490eba0b
6
+ metadata.gz: 5d8f0591d1647409c2c0f5f443addabb06d668e7b3fcdfbceabb8d6cf545fd23ec8d1f87c42302a72375da1db72a2268a1c6e27deffbdd2d38399f0d038f011e
7
+ data.tar.gz: 3494b576ed3d9945e7f4675739cb5a303dcaeb8360a78ea233ae1b11dd6a6d56fda6d90458be1422af3ce3e6a453643dd6e99ce872b7410bd2f07bacab832ca4
data/CHANGELOG.md CHANGED
@@ -1,5 +1,60 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.1.8
4
+
5
+ - Support `area` listener: `on_mouse_event`
6
+ - Support `area` listener: `on_mouse_down`
7
+ - Support `area` listener: `on_mouse_up`
8
+ - Support `area` listener: `on_mouse_drag_start`
9
+ - Support `area` listener: `on_mouse_drag`
10
+ - Support `area` listener: `on_mouse_drop`
11
+ - Support `area` listener: `on_mouse_crossed`
12
+ - Support `area` listener: `on_mouse_enter`
13
+ - Support `area` listener: `on_mouse_exit`
14
+ - Support `area` listener: `on_drag_broken`
15
+
16
+ ## 0.1.7
17
+
18
+ - Support `stroke` `:dashes` and use in examples/area_gallery.rb
19
+ - Support symbol values for draw_line_cap (`:round`, `:square`, `:flat`) and draw_line_join (`:miter`, `:round`, `:bevel`) and draw_fill_mode (`:winding` and `:alternate`)
20
+
21
+ ## 0.1.6
22
+
23
+ - Update default `window` `width` to `190`
24
+ - Improve layout of examples/meta_example.rb
25
+ - Enhance examples/meta_example.rb to enable choosing versions with a spinbox instead of adding them to examples list
26
+ - Nest control proxies under `Glimmer::LibUI::ControlProxy` namespace
27
+ - Nest shapes under `Glimmer::LibUI::Shape` namespace
28
+ - Nest `vertical_box` and `horizontal_box` under `Glimmer::LibUI::ControlProxy::Box` namespace
29
+ - Nest columns under `Glimmer::LibUI::ControlProxy::Column` namespace
30
+ - Nest menu item proxies under `Glimmer::LibUI::ControlProxy::MenuItemProxy` namespace
31
+ - Nest date time picker proxies under `Glimmer::LibUI::ControlProxy::DateTimePickerProxy` namespace
32
+ - Nest multiline entry proxies under `Glimmer::LibUI::ControlProxy::MultinlineEntryProxy` namespace
33
+ - Support `time_picker` control explicitly
34
+ - Support X11 color names (via [color](https://github.com/halostatue/color) gem)
35
+ - Support passing :red, :green, :blue, :alpha keys to fill/stroke (not just :r,:g,:b,:a)
36
+ - Support 3-number hex color shorthand
37
+ - 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`)
38
+ - Support ability to set color_button.color to {color: x11/Integer/String}
39
+ - Default main_window_proxy first argument for `msg_box`/`msg_box_error` (and empty strings for following args if not passed)
40
+ - Default main_window_proxy argument for `open_file` and `save_file`
41
+
42
+ ## 0.1.5
43
+
44
+ - Support examples/histogram.rb
45
+ - Support examples/basic_transform.rb
46
+ - Support `color_button` `color=`/`set_color` setter
47
+ - 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)
48
+ - Implement `color_button` fine-grained setters (e.g. `cg.red = 144`)
49
+ - Support hex colors in `color_button` (by passing an Integer 0xFFBBAA or String hex 'ffbbaa') and `path` `fill` and `stroke` (with `:color` key)
50
+ - Eliminate need for passing `area_draw_params` to `path` when declared underneath `area` `on_draw` listener
51
+ - 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)
52
+ - 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)
53
+ - Ensure `matrix` `rotate` method accepts degrees (not radians)
54
+ - Support `matrix` `multiply` method that accepts a `Glimmer::LibUI::MatrixProxy` object
55
+ - Support `matrix` `invertible?` property that returns a Boolean
56
+ - 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.
57
+
3
58
  ## 0.1.4
4
59
 
5
60
  - Update examples/basic_table_progress_bar.rb with a listener