class Glimmer::SWT::LayoutDataProxy

Attributes

args[R]
grab_excess_horizontal_space[R]
grab_excess_vertical_space[R]
height[R]
height_hint[R]
horizontal_alignment[R]
horizontal_indent[R]
horizontal_span[R]
parent[R]
vertical_alignment[R]
vertical_indent[R]
vertical_span[R]
width[R]
width_hint[R]

Public Class Methods

new(parent, args) click to toggle source
# File lib/glimmer/swt/layout_data_proxy.rb, line 23
      def initialize(parent, args)
        @parent = parent
        @args = args
        self.horizontal_alignment = @args[0] if @args[0]
        self.vertical_alignment = @args[1] if @args[1]
        self.grab_excess_horizontal_space = @args[2] if @args[2]
        self.grab_excess_vertical_space = @args[3] if @args[3]
        # TODO spread args correctly as per SWT LayoutData API
        # TODO avoid using reapply
#         reapply
      end

Public Instance Methods

grab_excess_horizontal_space=(grab_excess_horizontal_space) click to toggle source
# File lib/glimmer/swt/layout_data_proxy.rb, line 92
      def grab_excess_horizontal_space=(grab_excess_horizontal_space)
        @grab_excess_horizontal_space = grab_excess_horizontal_space
        @parent.dom_element.css('justify-self', @horizontal_alignment) if @grab_excess_horizontal_space && @horizontal_alignment != 'fill' && width_hint.nil?
        @parent.parent.dom_element.css('justify-content', 'stretch') if @grab_excess_horizontal_space
#         reapply
      end
grab_excess_vertical_space=(grab_excess_vertical_space) click to toggle source
# File lib/glimmer/swt/layout_data_proxy.rb, line 99
      def grab_excess_vertical_space=(grab_excess_vertical_space)
        @grab_excess_vertical_space = grab_excess_vertical_space
        @parent.dom_element.css('height', "100%") if @grab_excess_vertical_space && @vertical_alignment == 'fill' && height_hint.nil?
#         reapply
      end
height=(height_hint)
Alias for: height_hint=
height_hint=(height_hint) click to toggle source
# File lib/glimmer/swt/layout_data_proxy.rb, line 42
      def height_hint=(height_hint)
        @height_hint = height_hint
        @parent.dom_element.css('height', "#{@height_hint}px")
#         reapply
      end
Also aliased as: height=
horizontal_alignment=(horizontal_alignment) click to toggle source
# File lib/glimmer/swt/layout_data_proxy.rb, line 49
      def horizontal_alignment=(horizontal_alignment)
        @horizontal_alignment = horizontal_alignment
        return if @horizontal_alignment.nil?
        if @horizontal_alignment != 'fill'
          @parent.dom_element.css('text-align', @horizontal_alignment.to_s)
          @parent.dom_element.css('place-self', @horizontal_alignment.to_s)
          @parent.dom_element.css('margin-left', 'auto') if ['right', 'center'].include?(@horizontal_alignment.to_s)
          @parent.dom_element.css('margin-right', 'auto') if ['left', 'center'].include?(@horizontal_alignment.to_s)
        end
        # TODO
#         reapply
      end
horizontal_indent=(value) click to toggle source
# File lib/glimmer/swt/layout_data_proxy.rb, line 80
      def horizontal_indent=(value)
        @horizontal_indent = value
        @parent.dom_element.css('padding-left', @horizontal_indent)
#         reapply
      end
horizontal_span=(value) click to toggle source
# File lib/glimmer/swt/layout_data_proxy.rb, line 68
      def horizontal_span=(value)
        @horizontal_span = value
        @parent.dom_element.css('grid-column-start', "span #{@horizontal_span}")
#         reapply
      end
reapply() click to toggle source
# File lib/glimmer/swt/layout_data_proxy.rb, line 105
      def reapply
        # TODO remove reapply method
#         @parent.css = <<~CSS
#         CSS
      end
vertical_alignment=(vertical_alignment) click to toggle source
# File lib/glimmer/swt/layout_data_proxy.rb, line 62
      def vertical_alignment=(vertical_alignment)
        @vertical_alignment = vertical_alignment
        # TODO
#         reapply
      end
vertical_indent=(value) click to toggle source
# File lib/glimmer/swt/layout_data_proxy.rb, line 86
      def vertical_indent=(value)
        @vertical_indent = value
        @parent.dom_element.css('padding-top', @vertical_indent)
#         reapply
      end
vertical_span=(value) click to toggle source
# File lib/glimmer/swt/layout_data_proxy.rb, line 74
      def vertical_span=(value)
        @vertical_span = value
        @parent.dom_element.css('grid-row-start', "span #{@vertical_span}")
#         reapply
      end
width=(width_hint)
Alias for: width_hint=
width_hint=(width_hint) click to toggle source
# File lib/glimmer/swt/layout_data_proxy.rb, line 35
      def width_hint=(width_hint)
        @width_hint = width_hint
        @parent.dom_element.css('width', "#{@width_hint}px")
#         reapply
      end
Also aliased as: width=