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:
         |