Class: TkTitledFrameAdapter
Overview
class TkTitledMovableFrame < TkTitledFrame
attr_reader :wrapper
def initialize(root_parent=nil, parent=nil, title=nil, img=nil , keys=nil)
@root_parent = root_parent
@wrapper = TkFrameAdapter.new(@root_parent, Arcadia.style('frame'))
super(parent, title, img, keys)
@wrapper.attach_frame(@frame)
@frame=@wrapper
end
def change_wrapper(_new_wrapper)
@wrapper = _new_wrapper
@frame = _new_wrapper
end
end
Instance Attribute Summary collapse
#frame, #parent, #top
#frame, #top
Instance Method Summary
collapse
-
#__attach_action_adapter(_adapter) ⇒ Object
def __attach_adapter(_adapter) @last_attached_adapter.detach_frame if @last_attached_adapter _adapter.attach_frame(@transient_action_frame) @last_attached_adapter = _adapter end.
-
#__attach_state_adapter(_adapter) ⇒ Object
-
#add_button(_sender_name, _label, _proc = nil, _image = nil, _side = 'right') ⇒ Object
-
#add_menu_button(_sender_name, _name = 'default', _image = nil, _side = 'right', _args = nil) ⇒ Object
-
#add_panel(_sender_name, _name = 'default', _side = 'right', _args = nil) ⇒ Object
-
#add_sep(_sender_name, _width = 0) ⇒ Object
-
#add_state_button(_sender_name, _label, _proc = nil, _image = nil, _side = 'left') ⇒ Object
-
#change_adapters(_name, _adapters) ⇒ Object
-
#change_adapters_name(_name) ⇒ Object
-
#clear_transient_adapters(_name) ⇒ Object
-
#forge_transient_adapter(_name) ⇒ Object
-
#initialize(parent = nil, title = nil, img = nil, keys = nil) ⇒ TkTitledFrameAdapter
constructor
A new instance of TkTitledFrameAdapter.
#__create_left_label, #__create_right_label, #create_left_label, #create_right_label, #head_buttons, #last_caption, #last_caption_image, #maximize, #maximized?, #resize, #restore_caption, #save_caption, #shift_off, #shift_on, #title, #top_text, #top_text_bind_append, #top_text_bind_remove, #top_text_clear, #top_text_hint
#add_fixed_button, #add_fixed_menu_button, #add_fixed_panel, #add_fixed_sep, #create_frame, #head_buttons, #menu_button, #visible?
Constructor Details
#initialize(parent = nil, title = nil, img = nil, keys = nil) ⇒ TkTitledFrameAdapter
Returns a new instance of TkTitledFrameAdapter.
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
|
# File 'lib/a-tkcommons.rb', line 1256
def initialize(parent=nil, title=nil, img=nil , keys=nil)
super(parent, title, img, keys)
@transient_action_frame = TkFrame.new(@button_frame){
background Arcadia.conf('titlelabel.background')
padx 0
pady 0
pack('side'=> "right",'anchor'=> 'e','fill'=>'both', 'expand'=>true)
}
@transient_state_frame = TkFrame.new(@state_frame){
background Arcadia.conf('titlelabel.background')
padx 0
pady 0
pack('side'=> "left",'anchor'=> 'w','fill'=>'both', 'expand'=>true)
}
@transient_frame_adapter = Hash.new
@@instances = [] if !defined?(@@instances)
@@instances << self
end
|
Instance Attribute Details
#transient_frame_adapter ⇒ Object
Returns the value of attribute transient_frame_adapter.
1254
1255
1256
|
# File 'lib/a-tkcommons.rb', line 1254
def transient_frame_adapter
@transient_frame_adapter
end
|
Instance Method Details
#__attach_action_adapter(_adapter) ⇒ Object
def __attach_adapter(_adapter)
@last_attached_adapter.detach_frame if @last_attached_adapter
_adapter.attach_frame(@transient_action_frame)
@last_attached_adapter = _adapter
end
1294
1295
1296
1297
1298
|
# File 'lib/a-tkcommons.rb', line 1294
def __attach_action_adapter(_adapter)
@last_attached_action_adapter.detach_frame if @last_attached_action_adapter
_adapter.attach_frame(@transient_action_frame)
@last_attached_action_adapter = _adapter
end
|
#__attach_state_adapter(_adapter) ⇒ Object
1300
1301
1302
1303
1304
|
# File 'lib/a-tkcommons.rb', line 1300
def __attach_state_adapter(_adapter)
@last_attached_state_adapter.detach_frame if @last_attached_state_adapter
_adapter.attach_frame(@transient_state_frame)
@last_attached_state_adapter = _adapter
end
|
1351
1352
1353
1354
|
# File 'lib/a-tkcommons.rb', line 1351
def add_button(_sender_name, _label,_proc=nil,_image=nil, _side= 'right')
forge_transient_adapter(_sender_name)
__add_button(_label,_proc,_image, _side, @transient_frame_adapter[_sender_name][:action])
end
|
1356
1357
1358
1359
|
# File 'lib/a-tkcommons.rb', line 1356
def (_sender_name, _name='default',_image=nil, _side= 'right', _args=nil)
forge_transient_adapter(_sender_name)
(_name, _image, _side, _args, @transient_frame_adapter[_sender_name][:action])
end
|
#add_panel(_sender_name, _name = 'default', _side = 'right', _args = nil) ⇒ Object
1361
1362
1363
1364
|
# File 'lib/a-tkcommons.rb', line 1361
def add_panel(_sender_name, _name='default',_side= 'right', _args=nil)
forge_transient_adapter(_sender_name)
__add_panel(_name, _side, _args, @transient_frame_adapter[_sender_name][:action])
end
|
#add_sep(_sender_name, _width = 0) ⇒ Object
1366
1367
1368
1369
|
# File 'lib/a-tkcommons.rb', line 1366
def add_sep(_sender_name, _width=0)
forge_transient_adapter(_sender_name)
__add_sep(_width, @transient_frame_adapter[_sender_name][:action])
end
|
1371
1372
1373
1374
|
# File 'lib/a-tkcommons.rb', line 1371
def add_state_button(_sender_name, _label,_proc=nil,_image=nil, _side= 'left')
forge_transient_adapter(_sender_name)
__add_state_button(_label,_proc,_image, _side, @transient_frame_adapter[_sender_name][:state])
end
|
#change_adapters(_name, _adapters) ⇒ Object
def change_adapter(_name, _adapter)
@transient_frame_adapter[_name] = _adapter
@transient_frame_adapter[_name].detach_frame
__attach_adapter(@transient_frame_adapter[_name])
@transient_frame_adapter[_name].raise
end
def change_adapter_name(_name)
__attach_adapter(forge_transient_adapter(_name))
@transient_frame_adapter[_name].raise
end
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
|
# File 'lib/a-tkcommons.rb', line 1318
def change_adapters(_name, _adapters)
forge_transient_adapter(_name)
@transient_frame_adapter[_name][:action] = _adapters[:action]
@transient_frame_adapter[_name][:state] = _adapters[:state]
@transient_frame_adapter[_name][:action].detach_frame
@transient_frame_adapter[_name][:state].detach_frame
__attach_action_adapter(@transient_frame_adapter[_name][:action])
__attach_state_adapter(@transient_frame_adapter[_name][:state])
@transient_frame_adapter[_name][:action].raise
@transient_frame_adapter[_name][:state].raise
end
|
#change_adapters_name(_name) ⇒ Object
1330
1331
1332
1333
1334
1335
|
# File 'lib/a-tkcommons.rb', line 1330
def change_adapters_name(_name)
__attach_action_adapter(forge_transient_adapter(_name)[:action])
__attach_state_adapter(forge_transient_adapter(_name)[:state])
@transient_frame_adapter[_name][:action].raise
@transient_frame_adapter[_name][:state].raise
end
|
#clear_transient_adapters(_name) ⇒ Object
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
|
# File 'lib/a-tkcommons.rb', line 1337
def clear_transient_adapters(_name)
@@instances.each{|i|
if i.transient_frame_adapter[_name]
if i.transient_frame_adapter[_name][:action]
i.transient_frame_adapter[_name][:action].detach_frame
end
if i.transient_frame_adapter[_name][:state]
i.transient_frame_adapter[_name][:state].detach_frame
end
i.transient_frame_adapter.delete(_name).clear
end
}
end
|
#forge_transient_adapter(_name) ⇒ Object
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
|
# File 'lib/a-tkcommons.rb', line 1275
def forge_transient_adapter(_name)
if @transient_frame_adapter[_name].nil?
@transient_frame_adapter[_name] = Hash.new
@transient_frame_adapter[_name][:action] = TkFrameAdapter.new(Arcadia.layout.root, {'background'=> Arcadia.conf('titlelabel.background')})
@transient_frame_adapter[_name][:state] = TkFrameAdapter.new(Arcadia.layout.root, {'background'=> Arcadia.conf('titlelabel.background')})
__attach_action_adapter(@transient_frame_adapter[_name][:action])
__attach_action_adapter(@transient_frame_adapter[_name][:state])
@transient_frame_adapter[_name][:action].raise
@transient_frame_adapter[_name][:state].raise
end
@transient_frame_adapter[_name]
end
|