shoes-swt 4.0.0.pre10 → 4.0.0.pre11
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|