shoes-swt 4.0.0.pre10 → 4.0.0.pre11
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/bin/shoes-swt +25 -1
- data/lib/shoes/swt/arrow_painter.rb +5 -0
- data/lib/shoes/swt/click_listener.rb +1 -1
- data/lib/shoes/swt/common/remove.rb +1 -1
- data/lib/shoes/swt/common/resource.rb +1 -1
- data/lib/shoes/swt/common/stroke.rb +1 -1
- data/lib/shoes/swt/gradient.rb +3 -3
- data/lib/shoes/swt/image_pattern.rb +2 -2
- data/lib/shoes/swt/key_listener.rb +5 -5
- data/lib/shoes/swt/link_segment.rb +1 -1
- data/lib/shoes/swt/packager.rb +5 -0
- data/lib/shoes/swt/rect_painter.rb +2 -2
- data/lib/shoes/swt/text_block/fitter.rb +2 -2
- data/lib/shoes/swt/text_block/text_segment.rb +1 -1
- data/lib/shoes/swt/text_block/text_segment_collection.rb +2 -2
- data/lib/shoes/swt/text_block/text_style_factory.rb +1 -1
- data/lib/shoes/swt/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c09977e2aa7d8d84bfc7a5c71fc8aaa3ec8c31f88616266febf0e0d9684139f1
|
4
|
+
data.tar.gz: 816a6a60e7d9a29314c2dcc532cfba105d674ff2d0c282defd2c8ef32123f527
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: da4721c20e3aaadf9a866435e8230ea1a57eb2849d8990975c3be081c251164a5e4772cd091bc1dba2e50982603a9dd0114dd4edffca112c1c35b3fa74dde0f9
|
7
|
+
data.tar.gz: a686968991a518351c2ef7b51a8e87ddf3c703e98db5f6df553fb9da451ede1b9541eb04582f43195bfde6d96bd60f290f81eb8a2fa376a455c5acfd7938140c
|
data/bin/shoes-swt
CHANGED
@@ -3,7 +3,31 @@
|
|
3
3
|
lib_directory = File.expand_path('../../lib', __FILE__)
|
4
4
|
$LOAD_PATH << lib_directory
|
5
5
|
|
6
|
-
|
6
|
+
# We want the Gemfile alongside the Shoes code that we're executing, not
|
7
|
+
# necessarily the Gemfile in our current directory. This helps in both running
|
8
|
+
# and packaging apps that have their own Gemfiles, even if we run `shoes` from
|
9
|
+
# another location.
|
10
|
+
candidates = (ARGV + ["."]).map do |candidate|
|
11
|
+
File.expand_path(File.join(File.dirname(candidate), "Gemfile"))
|
12
|
+
end
|
13
|
+
|
14
|
+
gemfile = candidates.uniq.find do |candidate|
|
15
|
+
File.exist?(candidate)
|
16
|
+
end
|
17
|
+
|
18
|
+
if gemfile
|
19
|
+
if defined?(Bundler) && gemfile != Bundler.default_gemfile.to_s
|
20
|
+
puts <<~EOS
|
21
|
+
Shoes wants to load the Gemfile from '#{gemfile}'
|
22
|
+
But you've already loaded Gemfile at '#{Bundler.default_gemfile}'
|
23
|
+
|
24
|
+
Instead of `bundle exec shoes`, try just `shoes` instead. We'll load Bundler for you.
|
25
|
+
|
26
|
+
EOS
|
27
|
+
end
|
28
|
+
|
29
|
+
# Thanks Bundler for the ENV vars! <3
|
30
|
+
ENV["BUNDLE_GEMFILE"] = gemfile
|
7
31
|
require "bundler/setup"
|
8
32
|
Bundler.require
|
9
33
|
end
|
@@ -45,7 +45,7 @@ class Shoes
|
|
45
45
|
return if handlers.nil? || handlers.empty?
|
46
46
|
|
47
47
|
handlers = handlers.to_a
|
48
|
-
.
|
48
|
+
.reject { |dsl, _| dsl.hidden? }
|
49
49
|
.select { |dsl, _| dsl.in_bounds?(event.x, event.y) }
|
50
50
|
|
51
51
|
# Take the last handler as an approximation of the "top-most" element
|
data/lib/shoes/swt/gradient.rb
CHANGED
@@ -10,8 +10,8 @@ class Shoes
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def dispose
|
13
|
-
@color1
|
14
|
-
@color2
|
13
|
+
@color1&.dispose
|
14
|
+
@color2&.dispose
|
15
15
|
|
16
16
|
@patterns.each do |pattern|
|
17
17
|
pattern.dispose unless pattern.disposed?
|
@@ -62,7 +62,7 @@ class Shoes
|
|
62
62
|
|
63
63
|
def determine_args_based_on_angle(angle, left, top, width, height)
|
64
64
|
x, y = calculate_x_and_y(angle, height, width)
|
65
|
-
if
|
65
|
+
if angle >= 0 && angle < Math::PI * 0.5
|
66
66
|
args = [left + width + x, top + height - y, left + width - x, top + height + y]
|
67
67
|
elsif Math::PI * 0.5 <= angle && angle < Math::PI
|
68
68
|
args = [left + width + y, top + height + x, left + width - y, top + height - x]
|
@@ -88,23 +88,23 @@ class Shoes
|
|
88
88
|
end
|
89
89
|
|
90
90
|
def alt?(event)
|
91
|
-
|
91
|
+
this_modifier_key?(event, ::Swt::SWT::ALT)
|
92
92
|
end
|
93
93
|
|
94
94
|
def control?(event)
|
95
|
-
|
95
|
+
this_modifier_key?(event, ::Swt::SWT::CTRL)
|
96
96
|
end
|
97
97
|
|
98
98
|
def shift?(event)
|
99
|
-
|
99
|
+
this_modifier_key?(event, ::Swt::SWT::SHIFT)
|
100
100
|
end
|
101
101
|
|
102
102
|
def super?(event)
|
103
|
-
|
103
|
+
this_modifier_key?(event, ::Swt::SWT::COMMAND)
|
104
104
|
end
|
105
105
|
|
106
106
|
# NOTE: state_mask and key_code error for me so the java version is used
|
107
|
-
def
|
107
|
+
def this_modifier_key?(event, key)
|
108
108
|
(event.stateMask & key) == key
|
109
109
|
end
|
110
110
|
|
@@ -8,7 +8,7 @@ class Shoes
|
|
8
8
|
@text_segment = text_segment
|
9
9
|
|
10
10
|
# Don't create regions for empty links!
|
11
|
-
return unless @range.count
|
11
|
+
return unless @range.count.positive?
|
12
12
|
|
13
13
|
add_regions_for_lines(lines_for_link)
|
14
14
|
offset_regions(text_segment.element_left, text_segment.element_top)
|
data/lib/shoes/swt/packager.rb
CHANGED
@@ -31,6 +31,11 @@ class Shoes
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def run(path)
|
34
|
+
if @packages.empty?
|
35
|
+
puts "You must select at least one packaging format.\n\n#{::Shoes::UI::CLI::PackageCommand.help}"
|
36
|
+
return
|
37
|
+
end
|
38
|
+
|
34
39
|
begin
|
35
40
|
require 'shoes/package'
|
36
41
|
require 'shoes/package/configuration'
|
@@ -151,7 +151,7 @@ class Shoes
|
|
151
151
|
# Try to find a parent container we fit in.
|
152
152
|
# If that doesn't work, just bail with [0,0] so we don't crash.
|
153
153
|
width = width_from_ancestor if width <= 0
|
154
|
-
return [0, 0] if width
|
154
|
+
return [0, 0] if width.negative?
|
155
155
|
end
|
156
156
|
|
157
157
|
[width, height]
|
@@ -162,7 +162,7 @@ class Shoes
|
|
162
162
|
def width_from_ancestor
|
163
163
|
width = -1
|
164
164
|
current_ancestor = @dsl.parent
|
165
|
-
until width
|
165
|
+
until width.positive? || current_ancestor.nil?
|
166
166
|
width = @dsl.desired_width(current_ancestor.width)
|
167
167
|
|
168
168
|
break unless current_ancestor.respond_to?(:parent)
|
@@ -68,7 +68,7 @@ class Shoes
|
|
68
68
|
|
69
69
|
def set_style(styles, range = (0...text.length))
|
70
70
|
# If we've been given an empty/nonsense range, just ignore it
|
71
|
-
return unless range.count
|
71
|
+
return unless range.count.positive?
|
72
72
|
|
73
73
|
font = @font_factory.create_font(styles[:font_detail])
|
74
74
|
style = @style_factory.create_style(font, styles[:fg], styles[:bg], styles)
|
@@ -88,7 +88,7 @@ class Shoes
|
|
88
88
|
end
|
89
89
|
|
90
90
|
def segment_at_text_position(index)
|
91
|
-
return @segments.last if index
|
91
|
+
return @segments.last if index.negative?
|
92
92
|
segment_ranges(index..index).first.first
|
93
93
|
end
|
94
94
|
|
@@ -149,7 +149,7 @@ class Shoes
|
|
149
149
|
end
|
150
150
|
|
151
151
|
def at_end?(index)
|
152
|
-
index
|
152
|
+
index.negative? || index > @dsl.text.length
|
153
153
|
end
|
154
154
|
|
155
155
|
def relative_end_position
|
data/lib/shoes/swt/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shoes-swt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.0.
|
4
|
+
version: 4.0.0.pre11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Team Shoes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-08-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
requirements:
|
44
44
|
- - '='
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 4.0.0.
|
46
|
+
version: 4.0.0.pre11
|
47
47
|
name: shoes-core
|
48
48
|
prerelease: false
|
49
49
|
type: :runtime
|
@@ -51,13 +51,13 @@ dependencies:
|
|
51
51
|
requirements:
|
52
52
|
- - '='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 4.0.0.
|
54
|
+
version: 4.0.0.pre11
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
requirement: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
58
|
- - '='
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: 4.0.0.
|
60
|
+
version: 4.0.0.pre11
|
61
61
|
name: shoes-package
|
62
62
|
prerelease: false
|
63
63
|
type: :runtime
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
requirements:
|
66
66
|
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 4.0.0.
|
68
|
+
version: 4.0.0.pre11
|
69
69
|
description: A JRuby and Swt backend for Shoes, the best little GUI toolkit for Ruby.
|
70
70
|
Shoes makes building for Mac, Windows, and Linux super simple.
|
71
71
|
email:
|