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



128
129
130
131
132
133
# File 'lib/a-commons.rb', line 128

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

Instance Method Details

#float_frame_forgeObject



135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# File 'lib/a-commons.rb', line 135

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



183
184
185
186
# File 'lib/a-commons.rb', line 183

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

#hideObject



178
179
180
181
# File 'lib/a-commons.rb', line 178

def hide
  float_frame_forge
  @obj.hide if @obj 
end

#hinner_frameObject



163
164
165
166
# File 'lib/a-commons.rb', line 163

def hinner_frame
  float_frame_forge
  @obj.frame if @obj
end

#showObject



173
174
175
176
# File 'lib/a-commons.rb', line 173

def show
  float_frame_forge
  @obj.show if @obj 
end

#title(_title = nil) ⇒ Object



168
169
170
171
# File 'lib/a-commons.rb', line 168

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