Class: ArcadiaExt

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(_arcadia, _name = nil) ⇒ ArcadiaExt

Returns a new instance of ArcadiaExt.



213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
# File 'lib/a-commons.rb', line 213

def initialize(_arcadia, _name=nil)
  @arcadia = _arcadia
  @arcadia.register(self)
  @name = _name
  @frames = Array.new
  @frames_points = conf_array("#{_name}.frames")
  @frames_labels = conf_array("#{_name}.frames.labels")
  @frames_names = conf_array("#{_name}.frames.names")
  @float_frames = Array.new
  @float_geometries = conf_array("#{_name}.float_frames")
  @float_labels = conf_array("#{_name}.float_labels")
  Arcadia.attach_listener(self, BuildEvent)
  Arcadia.attach_listener(self, InitializeEvent)
  Arcadia.attach_listener(self, ExitQueryEvent)
  Arcadia.attach_listener(self, FinalizeEvent)
  #ObjectSpace.define_finalizer(self, self.method(:finalize).to_proc)
end

Instance Attribute Details

#arcadiaObject (readonly)

Returns the value of attribute arcadia.



211
212
213
# File 'lib/a-commons.rb', line 211

def arcadia
  @arcadia
end

#nameObject (readonly)

Returns the value of attribute name.



212
213
214
# File 'lib/a-commons.rb', line 212

def name
  @name
end

Instance Method Details

#add_to_conf_property(_name, _value) ⇒ Object



252
253
254
255
256
257
258
# File 'lib/a-commons.rb', line 252

def add_to_conf_property(_name, _value)
  a = conf_array(_name)
  if !a.include?(_value)
    a << _value
    array_conf(_name,a)
  end
end

#array_conf(_name, _array) ⇒ Object



239
240
241
242
243
244
245
246
247
248
249
250
# File 'lib/a-commons.rb', line 239

def array_conf(_name, _array)
  value = ''
  _array.each{|e|
    if value.length > 0
      value = "#{value},#{e}"
    else
      value = "#{e}"
    end
  }
  @arcadia['conf'][_name]=value
  value
end

#conf(_property) ⇒ Object



322
323
324
# File 'lib/a-commons.rb', line 322

def conf(_property)
  @arcadia['conf'][@name+'.'+_property]
end

#conf_array(_name) ⇒ Object



232
233
234
235
236
237
# File 'lib/a-commons.rb', line 232

def conf_array(_name)
  res = []
  value = @arcadia['conf'][_name]
  res.concat(value.split(',')) if value
  res
end

#conf_default(_property) ⇒ Object



326
327
328
# File 'lib/a-commons.rb', line 326

def conf_default(_property)
  @arcadia['conf_without_local'][@name+'.'+_property]
end

#del_from_conf_property(_name, _value) ⇒ Object



260
261
262
263
264
# File 'lib/a-commons.rb', line 260

def del_from_conf_property(_name, _value)
  a = conf_array(_name)
  a.delete(_value)
  array_conf(_name,a)
end

#exec(_method, _args = nil) ⇒ Object

def conf_global(_property)

 @arcadia['conf'][_property]
end


340
341
342
343
344
# File 'lib/a-commons.rb', line 340

def exec(_method, _args=nil)
  if self.respond_to(_method)
    self.send(_method, _args)
  end
end

#float_frame(_n = 0, _args = nil) ⇒ Object



314
315
316
317
318
319
320
# File 'lib/a-commons.rb', line 314

def float_frame(_n=0, _args=nil)
  if @float_frames[_n].nil?
    (@float_labels[_n].nil?)? _label = @name : _label = @float_labels[_n]
    @float_frames[_n] =  FloatFrameWrapper.new(@arcadia, @float_geometries[_n], _label)
  end
  @float_frames[_n]
end

#frame(_n = 0, create_if_not_exist = true) ⇒ Object



275
276
277
278
279
280
281
282
283
284
285
286
# File 'lib/a-commons.rb', line 275

def frame(_n=0,create_if_not_exist=true)
  if @frames_points[_n].nil?
    @frames_points[_n] = '0.0'
    Arcadia['conf']["#{@name}.frames"]+=',0.0'
  end  
  if @frames[_n] == nil && @frames_points[_n] && create_if_not_exist
    (@frames_labels[_n].nil?)? _label = @name : _label = @frames_labels[_n]
    (@frames_names[_n].nil?)? _name = @name : _name = @frames_names[_n]
    @frames[_n] = FixedFrameWrapper.new(self, @frames_points[_n], _name, _label, _n)
  end
  return @frames[_n]
end

#frame_def_visible?(_n = 0) ⇒ Boolean

Returns:

  • (Boolean)


266
267
268
269
# File 'lib/a-commons.rb', line 266

def frame_def_visible?(_n=0)
  @arcadia.layout.domains.include?(@frames_points[_n])
  #@frames_points[_n] != '-1.-1'
end

#frame_domain(_n = 0) ⇒ Object



288
289
290
291
292
293
294
295
296
297
298
299
# File 'lib/a-commons.rb', line 288

def frame_domain(_n=0)
  if conf('frames')
    frs = conf('frames').split(',')
  else
    frs = Array.new
  end
  ret = nil
  if frs.length > _n
    ret = frs[_n]
  end
  ret
end

#frame_domain_default(_n = 0) ⇒ Object



301
302
303
304
305
306
307
308
309
310
311
312
# File 'lib/a-commons.rb', line 301

def frame_domain_default(_n=0)
  if conf_default('frames')
    frs = conf_default('frames').split(',')
  else
    frs = Array.new
  end
  ret = nil
  if frs.length > _n
    ret = frs[_n]
  end
  ret
end

#frame_visible?(_n = 0) ⇒ Boolean

Returns:

  • (Boolean)


271
272
273
# File 'lib/a-commons.rb', line 271

def frame_visible?(_n=0)
  @frames[_n] != nil && @frames[_n].hinner_frame && TkWinfo.mapped?(@frames[_n].hinner_frame)
end

#maximize(_n = 0) ⇒ Object



352
353
354
# File 'lib/a-commons.rb', line 352

def maximize(_n=0)
  @frames[_n].maximize if @frames[_n]
end

#maximized?(_n = 0) ⇒ Boolean

Returns:

  • (Boolean)


346
347
348
349
350
# File 'lib/a-commons.rb', line 346

def maximized?(_n=0)
  ret= false
  ret=@frames[_n].maximized? if @frames[_n]
  ret
end

#resize(_n = 0) ⇒ Object



356
357
358
# File 'lib/a-commons.rb', line 356

def resize(_n=0)
  @frames[_n].resize if @frames[_n]
end

#restore_default_conf(_property) ⇒ Object



330
331
332
333
334
# File 'lib/a-commons.rb', line 330

def restore_default_conf(_property)
  if  @arcadia['conf'][@name+'.'+_property] && @arcadia['conf_without_local'][@name+'.'+_property]
    @arcadia['conf'][@name+'.'+_property] = @arcadia['conf_without_local'][@name+'.'+_property]
  end
end