class FloatFrameWrapper

Public Class Methods

new(_arcadia, _geometry=nil, _title=nil) click to toggle source

include AbstractFrameWrapper

# File lib/a-commons.rb, line 152
def initialize(_arcadia, _geometry=nil, _title=nil)
  @arcadia = _arcadia
  @geometry = _geometry
  @title= _title
  float_frame_forge
end

Public Instance Methods

float_frame_forge() click to toggle source
# File lib/a-commons.rb, line 159
def float_frame_forge
  if @obj.nil?
    a = @geometry.scan(/[+-]*\d\d*%*/)
    p_height = TkWinfo.screenheight(@arcadia.layout.root)
    p_width = TkWinfo.screenwidth(@arcadia.layout.root)
    if a[0][-1..-1]=='%'
      n = a[0][0..-2].to_i.abs
      a[0] = (p_width/100*n).to_i
    end
    if a[1][-1..-1]=='%'
      n = a[1][0..-2].to_i.abs
      a[1] = (p_height/100*n).to_i
    end
    if a[2][-1..-1]=='%'
      n = a[2][0..-2].to_i.abs
      a[2] = (p_width/100*n).to_i
    end
    if a[3][-1..-1]=='%'
      n = a[3][0..-2].to_i.abs
      a[3] = (p_height/100*n).to_i
    end

    args = {'width'=>a[0], 'height'=>a[1], 'x'=>a[2], 'y'=>a[3]}
    @obj = @arcadia.layout.add_float_frame(args)
    @obj.title(@title) if @title
  end
end
free() click to toggle source
# File lib/a-commons.rb, line 207
def free
  @obj.destroy if @obj
  @obj = nil
end
hide() click to toggle source
# File lib/a-commons.rb, line 202
def hide
  float_frame_forge
  @obj.hide if @obj
end
hinner_frame() click to toggle source
# File lib/a-commons.rb, line 187
def hinner_frame
  float_frame_forge
  @obj.frame if @obj
end
show() click to toggle source
# File lib/a-commons.rb, line 197
def show
  float_frame_forge
  @obj.show if @obj
end
title(_title=nil) click to toggle source
# File lib/a-commons.rb, line 192
def title(_title=nil)
  float_frame_forge
  @obj.title(_title)  if @obj
end