Class: FloatFrameWrapper

Inherits:
AbstractFrameWrapper show all
Defined in:
lib/a-commons.rb

Instance Method Summary collapse

Constructor Details

#initialize(_arcadia, _geometry = nil, _title = nil) ⇒ FloatFrameWrapper

include AbstractFrameWrapper



116
117
118
119
120
121
# File 'lib/a-commons.rb', line 116

def initialize(_arcadia, _geometry=nil, _title=nil)
  @arcadia = _arcadia
  @geometry = _geometry
  @title= _title
  float_frame_forge
end

Instance Method Details

#float_frame_forgeObject



123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# File 'lib/a-commons.rb', line 123

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.new_float_frame(args)
    @obj.title(@title) if @title
  end
end

#freeObject



171
172
173
174
# File 'lib/a-commons.rb', line 171

def free
  @obj.destroy if @obj 
  @obj = nil
end

#hideObject



166
167
168
169
# File 'lib/a-commons.rb', line 166

def hide
  float_frame_forge
  @obj.hide if @obj 
end

#hinner_frameObject



151
152
153
154
# File 'lib/a-commons.rb', line 151

def hinner_frame
  float_frame_forge
  @obj.frame if @obj
end

#showObject



161
162
163
164
# File 'lib/a-commons.rb', line 161

def show
  float_frame_forge
  @obj.show if @obj 
end

#title(_title = nil) ⇒ Object



156
157
158
159
# File 'lib/a-commons.rb', line 156

def title(_title=nil)
  float_frame_forge
  @obj.title(_title)  if @obj
end