glimmer-dsl-libui 0.11.5 → 0.11.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4c7045c2016a37ef9423c6d3e8f2a8480b0b1590e98afc56a2587a4a7d304e30
4
- data.tar.gz: 41699750c28cb881e8c9335280c01836044e89ef31964ec149e052155662ea3c
3
+ metadata.gz: e595d6ac3d153abe32d9148d5984261d1c6673f1e501ab3f280e139e268d75ee
4
+ data.tar.gz: caf883ace7e4a19e5a7f3ee288ad4726ad84b5b79a722320855591c21421d793
5
5
  SHA512:
6
- metadata.gz: 076d9bc4874bd8328110afd687aa334da3408e9b7dd87937bb7e8eec84591b872bf09e977327de91c27f67e8d342bc4a70e764f87ad61d00fce30bd2cf4daa99
7
- data.tar.gz: 640f1392dd961fb5387d04bddada7baef42120ae75d91a6ee362be928ce89966f52688887b996986fb46ed08c5b434d863f726cf56fff5b6ade52bf2a45f087c
6
+ metadata.gz: cdfca8b76f1b14b0fa2c88bb5ef8262b946158e68ba55cc5777bb908d14c7ae0698d3438ef2bcf3c5db0767987ca64613a24344c59badf831dfec3766c8fcabf
7
+ data.tar.gz: 5dd802c7de992b79055d616431b8d43d817fc06186d1c14852d3e6e8eecdad18b16af69d89e63f33a558c907a56e7bf6d240387ec405fff58efec36cea4fa89b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.11.6
4
+
5
+ - Organize scaffolded application menus under a `menu_bar` method
6
+ - Avoid loading `facets` gem completely in scaffold and list tasks, yet load used part of facets only ('facets/string/titlecase')
7
+ - Avoid loading `perfect-shape` gem until area canvas graphics are used
8
+ - Avoid loading `color` gem until used by `Glimmer::LibUI.interpret_color` method
9
+ - Fix issue with `listener_expression.rb` failing for `TextProxy` due to not having `can_handle_listener?` method.
10
+ - Fix issue with `TextProxy.can_handle_listener?` crashing when `text` is nested under `area` `on_draw`
11
+
3
12
  ## 0.11.5
4
13
 
5
14
  - Support table explicit data-binding with a model attribute that returns an Enumerator (instead of an Array)
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.11.5
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.11.6
2
2
  ## Prerequisite-Free Ruby Desktop Development Cross-Platform Native GUI Library ([Fukuoka Award Winning](http://www.digitalfukuoka.jp/topics/187?locale=ja))
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)
@@ -433,7 +433,7 @@ gem install glimmer-dsl-libui
433
433
  Or install via Bundler `Gemfile`:
434
434
 
435
435
  ```ruby
436
- gem 'glimmer-dsl-libui', '~> 0.11.5'
436
+ gem 'glimmer-dsl-libui', '~> 0.11.6'
437
437
  ```
438
438
 
439
439
  Test that installation worked by running the [Glimmer Meta-Example](#examples):
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.11.5
1
+ 0.11.6
Binary file
@@ -34,6 +34,7 @@ module Glimmer
34
34
  parent.is_a?(Glimmer::LibUI::CustomShape)
35
35
  ) and
36
36
  block_given? and
37
+ parent.respond_to?(:can_handle_listener?) and
37
38
  parent.can_handle_listener?(keyword)
38
39
  end
39
40
 
@@ -167,6 +167,7 @@ module Glimmer
167
167
  end
168
168
 
169
169
  def perfect_shape
170
+ require 'perfect-shape'
170
171
  the_perfect_shape_dependencies = perfect_shape_dependencies
171
172
  if the_perfect_shape_dependencies != @perfect_shape_dependencies
172
173
  draw_fill_mode, _ = @perfect_shape_dependencies = the_perfect_shape_dependencies
@@ -174,7 +174,7 @@ module Glimmer
174
174
  end
175
175
 
176
176
  def can_handle_listener?(listener_name)
177
- area_proxy.can_handle_listener?(listener_name)
177
+ area_proxy&.can_handle_listener?(listener_name)
178
178
  end
179
179
 
180
180
  def handle_listener(listener_name, &listener)
@@ -184,6 +184,7 @@ module Glimmer
184
184
  end
185
185
 
186
186
  def perfect_shape
187
+ require 'perfect-shape'
187
188
  the_perfect_shape_dependencies = perfect_shape_dependencies
188
189
  if the_perfect_shape_dependencies != @perfect_shape_dependencies
189
190
  absolute_x, absolute_y, width, height = @perfect_shape_dependencies = the_perfect_shape_dependencies
@@ -51,6 +51,7 @@ module Glimmer
51
51
  end
52
52
 
53
53
  def perfect_shape
54
+ require 'perfect-shape'
54
55
  the_perfect_shape_dependencies = perfect_shape_dependencies
55
56
  if the_perfect_shape_dependencies != @perfect_shape_dependencies
56
57
  absolute_x_center, absolute_y_center, radius, start_angle, sweep, is_negative = @perfect_shape_dependencies = the_perfect_shape_dependencies
@@ -62,6 +62,7 @@ module Glimmer
62
62
  end
63
63
 
64
64
  def perfect_shape
65
+ require 'perfect-shape'
65
66
  the_perfect_shape_dependencies = perfect_shape_dependencies
66
67
  if the_perfect_shape_dependencies != @perfect_shape_dependencies
67
68
  absolute_x, absolute_y, absolute_c1_x, absolute_c1_y, absolute_c2_x, absolute_c2_y, absolute_end_x, absolute_end_y = @perfect_shape_dependencies = the_perfect_shape_dependencies
@@ -51,6 +51,7 @@ module Glimmer
51
51
  end
52
52
 
53
53
  def perfect_shape
54
+ require 'perfect-shape'
54
55
  the_perfect_shape_dependencies = perfect_shape_dependencies
55
56
  if the_perfect_shape_dependencies != @perfect_shape_dependencies
56
57
  absolute_x_center, absolute_y_center, radius = @perfect_shape_dependencies = the_perfect_shape_dependencies
@@ -87,6 +87,7 @@ module Glimmer
87
87
  end
88
88
 
89
89
  def perfect_shape
90
+ require 'perfect-shape'
90
91
  perfect_shape_dependencies = [x, y, children.map(&:perfect_shape_dependencies)]
91
92
  if perfect_shape_dependencies != @perfect_shape_dependencies
92
93
  x, y, _ = @perfect_shape_dependencies = perfect_shape_dependencies
@@ -58,6 +58,7 @@ module Glimmer
58
58
  end
59
59
 
60
60
  def perfect_shape
61
+ require 'perfect-shape'
61
62
  the_perfect_shape_dependencies = perfect_shape_dependencies
62
63
  if the_perfect_shape_dependencies != @perfect_shape_dependencies
63
64
  absolute_x, absolute_y, closed, draw_fill_mode, children = @perfect_shape_dependencies = the_perfect_shape_dependencies
@@ -61,6 +61,7 @@ module Glimmer
61
61
  end
62
62
 
63
63
  def perfect_shape
64
+ require 'perfect-shape'
64
65
  the_perfect_shape_dependencies = perfect_shape_dependencies
65
66
  if the_perfect_shape_dependencies != @perfect_shape_dependencies
66
67
  absolute_x, absolute_y, absolute_end_x, absolute_end_y = @perfect_shape_dependencies = the_perfect_shape_dependencies
@@ -45,6 +45,7 @@ module Glimmer
45
45
  end
46
46
 
47
47
  def perfect_shape
48
+ require 'perfect-shape'
48
49
  the_perfect_shape_dependencies = perfect_shape_dependencies
49
50
  if the_perfect_shape_dependencies != @perfect_shape_dependencies
50
51
  absolute_point_array = @perfect_shape_dependencies = the_perfect_shape_dependencies
@@ -46,6 +46,7 @@ module Glimmer
46
46
  end
47
47
 
48
48
  def perfect_shape
49
+ require 'perfect-shape'
49
50
  the_perfect_shape_dependencies = perfect_shape_dependencies
50
51
  if the_perfect_shape_dependencies != @perfect_shape_dependencies
51
52
  absolute_point_array = @perfect_shape_dependencies = the_perfect_shape_dependencies
@@ -45,6 +45,7 @@ module Glimmer
45
45
  end
46
46
 
47
47
  def perfect_shape
48
+ require 'perfect-shape'
48
49
  the_perfect_shape_dependencies = perfect_shape_dependencies
49
50
  if the_perfect_shape_dependencies != @perfect_shape_dependencies
50
51
  absolute_point_array = @perfect_shape_dependencies = the_perfect_shape_dependencies
@@ -39,6 +39,7 @@ module Glimmer
39
39
  end
40
40
 
41
41
  def perfect_shape
42
+ require 'perfect-shape'
42
43
  the_perfect_shape_dependencies = perfect_shape_dependencies
43
44
  if the_perfect_shape_dependencies != @perfect_shape_dependencies
44
45
  absolute_x, absolute_y, width, height = @perfect_shape_dependencies = the_perfect_shape_dependencies
@@ -41,6 +41,7 @@ module Glimmer
41
41
  end
42
42
 
43
43
  def perfect_shape
44
+ require 'perfect-shape'
44
45
  the_perfect_shape_dependencies = perfect_shape_dependencies
45
46
  if the_perfect_shape_dependencies != @perfect_shape_dependencies
46
47
  @perfect_shape_dependencies = the_perfect_shape_dependencies
@@ -182,6 +182,7 @@ module Glimmer
182
182
  return unless respond_to?(:point_array)
183
183
 
184
184
  point_array = self.point_array || []
185
+ require 'perfect-shape'
185
186
  point_array = PerfectShape::MultiPoint.normalize_point_array(point_array)
186
187
  point_array.map do |point|
187
188
  if composite_shape
data/lib/glimmer/libui.rb CHANGED
@@ -92,6 +92,7 @@ module Glimmer
92
92
  value[:a] = value.delete(:alpha) if value[:alpha]
93
93
  value
94
94
  elsif value.is_a?(String) && !value.start_with?('0x') && !value.start_with?('#') && !value.downcase.match(/^((([1-9a-f]){6})|(([1-9a-f]){3}))$/)
95
+ require 'color'
95
96
  color = Color::RGB.extract_colors(value).first
96
97
  color.nil? ? {} : {
97
98
  r: color.red,
@@ -194,6 +195,7 @@ module Glimmer
194
195
  end
195
196
 
196
197
  def x11_colors
198
+ require 'color'
197
199
  Color::RGB.constants.reject {|c| c.to_s.upcase == c.to_s}.map(&:to_s).map(&:underscore).map(&:to_sym)
198
200
  end
199
201
 
@@ -19,8 +19,8 @@
19
19
  # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
20
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
21
 
22
- require 'facets'
23
22
  require 'text-table'
23
+ require 'facets/string/titlecase'
24
24
 
25
25
  module Glimmer
26
26
  module RakeTask
@@ -21,7 +21,7 @@
21
21
 
22
22
  require 'fileutils'
23
23
  require 'os'
24
- require 'facets'
24
+ require 'facets/string/titlecase'
25
25
 
26
26
  # TODO refactor to nest under RakeTask namespace
27
27
 
@@ -578,32 +578,7 @@ require '#{window_type == :app ? current_dir_name : namespace}/model/greeting'
578
578
  custom_window_file_content += <<-MULTI_LINE_STRING
579
579
  before_body do
580
580
  @greeting = Model::Greeting.new
581
-
582
- menu('File') {
583
- menu_item('Preferences...') {
584
- on_clicked do
585
- display_preferences_dialog
586
- end
587
- }
588
-
589
- # Enables quitting with CMD+Q on Mac with Mac Quit menu item
590
- quit_menu_item if OS.mac?
591
- }
592
- menu('Help') {
593
- if OS.mac?
594
- about_menu_item {
595
- on_clicked do
596
- display_about_dialog
597
- end
598
- }
599
- end
600
-
601
- menu_item('About') {
602
- on_clicked do
603
- display_about_dialog
604
- end
605
- }
606
- }
581
+ menu_bar
607
582
  end
608
583
  MULTI_LINE_STRING
609
584
  elsif window_type == :gem
@@ -670,6 +645,39 @@ require '#{window_type == :app ? current_dir_name : namespace}/model/greeting'
670
645
  }
671
646
  MULTI_LINE_STRING
672
647
 
648
+ if %i[app].include?(window_type)
649
+ custom_window_file_content += <<-MULTI_LINE_STRING
650
+
651
+ def menu_bar
652
+ menu('File') {
653
+ menu_item('Preferences...') {
654
+ on_clicked do
655
+ display_preferences_dialog
656
+ end
657
+ }
658
+
659
+ # Enables quitting with CMD+Q on Mac with Mac Quit menu item
660
+ quit_menu_item if OS.mac?
661
+ }
662
+ menu('Help') {
663
+ if OS.mac?
664
+ about_menu_item {
665
+ on_clicked do
666
+ display_about_dialog
667
+ end
668
+ }
669
+ end
670
+
671
+ menu_item('About') {
672
+ on_clicked do
673
+ display_about_dialog
674
+ end
675
+ }
676
+ }
677
+ end
678
+ MULTI_LINE_STRING
679
+ end
680
+
673
681
  if %i[gem app].include?(window_type)
674
682
  custom_window_file_content += <<-MULTI_LINE_STRING
675
683
 
@@ -23,11 +23,9 @@ $LOAD_PATH.unshift(File.expand_path('..', __FILE__))
23
23
 
24
24
  # External requires
25
25
  require 'glimmer'
26
- require 'perfect-shape'
27
26
  # require 'logging'
28
27
  require 'puts_debuggerer' if (ENV['PD'] || ENV['pd']).to_s.downcase == 'true'
29
28
  # require 'super_module'
30
- require 'color'
31
29
  require 'os'
32
30
  require 'equalizer'
33
31
  require 'array_include_methods'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glimmer-dsl-libui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.5
4
+ version: 0.11.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Maleh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-29 00:00:00.000000000 Z
11
+ date: 2023-12-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: glimmer