In: |
tk/lib/tk.rb
|
Parent: | TkObject |
WidgetClassName | = | ''.freeze |
# File tk/lib/tk.rb, line 2269 def initialize(parent=nil, keys=nil) if parent.kind_of? Hash keys = _symbolkey2str(parent) parent = keys.delete('parent') widgetname = keys.delete('widgetname') install_win(if parent then parent.path end, widgetname) without_creating = keys.delete('without_creating') if without_creating && !widgetname fail ArgumentError, "if set 'without_creating' to true, need to define 'widgetname'" end elsif keys keys = _symbolkey2str(keys) widgetname = keys.delete('widgetname') install_win(if parent then parent.path end, widgetname) without_creating = keys.delete('without_creating') if without_creating && !widgetname fail ArgumentError, "if set 'without_creating' to true, need to define 'widgetname'" end else install_win(if parent then parent.path end) end if self.method(:create_self).arity == 0 p 'create_self has no arg' if $DEBUG create_self unless without_creating if keys # tk_call @path, 'configure', *hash_kv(keys) configure(keys) end else p 'create_self has args' if $DEBUG fontkeys = {} if keys ['font', 'kanjifont', 'latinfont', 'asciifont'].each{|key| fontkeys[key] = keys.delete(key) if keys.key?(key) } end if without_creating && keys configure(keys) else create_self(keys) end font_configure(fontkeys) unless fontkeys.empty? end end
# File tk/lib/tk.rb, line 2771 def bindtags(taglist=nil) if taglist fail ArgumentError, "taglist must be Array" unless taglist.kind_of? Array tk_call('bindtags', path, taglist) taglist else list(tk_call('bindtags', path)).collect{|tag| if tag.kind_of?(String) if cls = WidgetClassNames[tag] cls elsif btag = TkBindTag.id2obj(tag) btag else tag end else tag end } end end
# File tk/lib/tk.rb, line 2798 def bindtags_shift taglist = bindtags tag = taglist.shift bindtags(taglist) tag end
# File tk/lib/tk.rb, line 2686 def colormodel(model=None) tk_call('tk', 'colormodel', path, model) self end
# File tk/lib/tk.rb, line 2676 def command(cmd=nil, &b) if cmd configure_cmd('command', cmd) elsif b configure_cmd('command', Proc.new(&b)) else cget('command') end end
# File tk/lib/tk.rb, line 2332 def database_class name = database_classname() if WidgetClassNames[name] WidgetClassNames[name] else TkDatabaseClass.new(name) end end
# File tk/lib/tk.rb, line 2695 def destroy super children = [] rexp = /^#{self.path}\.[^.]+$/ TkCore::INTERP.tk_windows.each{|path, obj| children << [path, obj] if path =~ rexp } if defined?(@cmdtbl) for id in @cmdtbl uninstall_cmd id end end children.each{|path, obj| if defined?(@cmdtbl) for id in @cmdtbl uninstall_cmd id end end TkCore::INTERP.tk_windows.delete(path) } begin tk_call_without_enc('destroy', epath) rescue end uninstall_win end
# File tk/lib/tk.rb, line 2623 def grab(opt = nil) unless opt tk_call_without_enc('grab', 'set', path) return self end case opt when 'global', :global #return(tk_call('grab', 'set', '-global', path)) tk_call_without_enc('grab', 'set', '-global', path) return self when 'release', :release #return tk_call('grab', 'release', path) tk_call_without_enc('grab', 'release', path) return self when 'current', :current return window(tk_call_without_enc('grab', 'current', path)) when 'status', :status return tk_call_without_enc('grab', 'status', path) else return tk_call_without_enc('grab', args[0], path) end end
# File tk/lib/tk.rb, line 2419 def grid(keys = nil) #tk_call 'grid', epath, *hash_kv(keys) if keys TkGrid.configure(self, keys) else TkGrid.configure(self) end self end
# File tk/lib/tk.rb, line 2448 def grid_bbox(*args) #list(tk_call('grid', 'bbox', epath, *args)) TkGrid.bbox(self, *args) end
# File tk/lib/tk.rb, line 2466 def grid_columnconfig(index, keys) #tk_call('grid', 'columnconfigure', epath, index, *hash_kv(keys)) TkGrid.columnconfigure(self, index, keys) end
# File tk/lib/tk.rb, line 2478 def grid_columnconfiginfo(index, slot=nil) #if slot # tk_call('grid', 'columnconfigure', epath, index, "-#{slot}").to_i #else # ilist = list(tk_call('grid', 'columnconfigure', epath, index)) # info = {} # while key = ilist.shift # info[key[1..-1]] = ilist.shift # end # info #end TkGrid.columnconfiginfo(self, index, slot) end
# File tk/lib/tk.rb, line 2453 def grid_config(slot, value=None) #if slot.kind_of? Hash # tk_call 'grid', 'configure', epath, *hash_kv(slot) #else # tk_call 'grid', 'configure', epath, "-#{slot}", value #end if slot.kind_of? Hash TkGrid.configure(self, slot) else TkGrid.configure(self, slot=>value) end end
# File tk/lib/tk.rb, line 2441 def grid_forget #tk_call('grid', 'forget', epath) TkGrid.forget(self) self end
# File tk/lib/tk.rb, line 2429 def grid_in(target, keys = nil) if keys keys = keys.dup keys['in'] = target else keys = {'in'=>target} end #tk_call 'grid', epath, *hash_kv(keys) TkGrid.configure(self, keys) self end
# File tk/lib/tk.rb, line 2506 def grid_info() #list(tk_call('grid', 'info', epath)) TkGrid.info(self) end
# File tk/lib/tk.rb, line 2511 def grid_location(x, y) #list(tk_call('grid', 'location', epath, x, y)) TkGrid.location(self, x, y) end
# File tk/lib/tk.rb, line 2516 def grid_propagate(mode=None) #if mode == None # bool(tk_call('grid', 'propagate', epath)) #else # tk_call('grid', 'propagate', epath, mode) # self #end if mode == None TkGrid.propagete(self) else TkGrid.propagete(self, mode) self end end
# File tk/lib/tk.rb, line 2531 def grid_remove() #tk_call 'grid', 'remove', epath TkGrid.remove(self) self end
# File tk/lib/tk.rb, line 2472 def grid_rowconfig(index, keys) #tk_call('grid', 'rowconfigure', epath, index, *hash_kv(keys)) TkGrid.rowconfigure(self, index, keys) end
# File tk/lib/tk.rb, line 2492 def grid_rowconfiginfo(index, slot=nil) #if slot # tk_call('grid', 'rowconfigure', epath, index, "-#{slot}").to_i #else # ilist = list(tk_call('grid', 'rowconfigure', epath, index)) # info = {} # while key = ilist.shift # info[key[1..-1]] = ilist.shift # end # info #end TkGrid.rowconfiginfo(self, index, slot) end
# File tk/lib/tk.rb, line 2537 def grid_size() #list(tk_call('grid', 'size', epath)) TkGrid.size(self) end
# File tk/lib/tk.rb, line 2542 def grid_slaves(args) #list(tk_call('grid', 'slaves', epath, *hash_kv(args))) TkGrid.slaves(self, args) end
# File tk/lib/tk.rb, line 2663 def lower(below=None) # below = below.epath if below.kind_of?(TkObject) below = _epath(below) tk_call 'lower', epath, below self end
# File tk/lib/tk.rb, line 2347 def pack(keys = nil) #tk_call_without_enc('pack', epath, *hash_kv(keys, true)) if keys TkPack.configure(self, keys) else TkPack.configure(self) end self end
# File tk/lib/tk.rb, line 2376 def pack_config(slot, value=None) #if slot.kind_of? Hash # tk_call 'pack', 'configure', epath, *hash_kv(slot) #else # tk_call 'pack', 'configure', epath, "-#{slot}", value #end if slot.kind_of? Hash TkPack.configure(self, slot) else TkPack.configure(self, slot=>value) end end
# File tk/lib/tk.rb, line 2369 def pack_forget #tk_call_without_enc('pack', 'forget', epath) TkPack.forget(self) self end
# File tk/lib/tk.rb, line 2357 def pack_in(target, keys = nil) if keys keys = keys.dup keys['in'] = target else keys = {'in'=>target} end #tk_call 'pack', epath, *hash_kv(keys) TkPack.configure(self, keys) self end
# File tk/lib/tk.rb, line 2389 def pack_info() #ilist = list(tk_call('pack', 'info', epath)) #info = {} #while key = ilist.shift # info[key[1..-1]] = ilist.shift #end #return info TkPack.info(self) end
# File tk/lib/tk.rb, line 2399 def pack_propagate(mode=None) #if mode == None # bool(tk_call('pack', 'propagate', epath)) #else # tk_call('pack', 'propagate', epath, mode) # self #end if mode == None TkPack.propagate(self) else TkPack.propagate(self, mode) self end end
# File tk/lib/tk.rb, line 2414 def pack_slaves() #list(tk_call('pack', 'slaves', epath)) TkPack.slaves(self) end
# File tk/lib/tk.rb, line 2547 def place(keys) #tk_call 'place', epath, *hash_kv(keys) TkPlace.configure(self, keys) self end
# File tk/lib/tk.rb, line 2572 def place_config(slot, value=None) #if slot.kind_of? Hash # tk_call 'place', 'configure', epath, *hash_kv(slot) #else # tk_call 'place', 'configure', epath, "-#{slot}", value #end TkPlace.configure(self, slot, value) end
# File tk/lib/tk.rb, line 2581 def place_configinfo(slot = nil) # for >= Tk8.4a2 ? #if slot # conf = tk_split_list(tk_call('place', 'configure', epath, "-#{slot}") ) # conf[0] = conf[0][1..-1] # conf #else # tk_split_simplelist(tk_call('place', # 'configure', epath)).collect{|conflist| # conf = tk_split_simplelist(conflist) # conf[0] = conf[0][1..-1] # conf # } #end TkPlace.configinfo(slot) end
# File tk/lib/tk.rb, line 2565 def place_forget #tk_call 'place', 'forget', epath TkPlace.forget(self) self end
# File tk/lib/tk.rb, line 2553 def place_in(target, keys = nil) if keys keys = keys.dup keys['in'] = target else keys = {'in'=>target} end #tk_call 'place', epath, *hash_kv(keys) TkPlace.configure(self, keys) self end
# File tk/lib/tk.rb, line 2598 def place_info() #ilist = list(tk_call('place', 'info', epath)) #info = {} #while key = ilist.shift # info[key[1..-1]] = ilist.shift #end #return info TkPlace.info(self) end
# File tk/lib/tk.rb, line 2608 def place_slaves() #list(tk_call('place', 'slaves', epath)) TkPlace.slaves(self) end
# File tk/lib/tk.rb, line 2669 def raise(above=None) #above = above.epath if above.kind_of?(TkObject) above = _epath(above) tk_call 'raise', epath, above self end
# File tk/lib/tk.rb, line 2613 def set_focus(force=false) if force tk_call_without_enc('focus', '-force', path) else tk_call_without_enc('focus', path) end self end
# File tk/lib/tk.rb, line 2750 def wait_destroy(on_thread = true) if $SAFE >= 4 fail SecurityError, "can't wait destroy at $SAFE >= 4" end on_thread &= (Thread.list.size != 1) if on_thread INTERP._thread_tkwait('window', epath) else INTERP._invoke('tkwait', 'window', epath) end end