In: |
tk/lib/tk.rb
|
# File tk/lib/tk.rb, line 1817 def font_configinfo(name = nil) ret = TkFont.used_on(self.path) if ret == nil ?? ret = TkFont.init_widget_font(self.path, self.path, 'configure') end ret end
# File tk/lib/tk.rb, line 1833 def font_configure(slot) slot = _symbolkey2str(slot) if slot.key?('font') fnt = slot.delete('font') if fnt.kind_of? TkFont return fnt.call_font_configure(self.path, self.path,'configure',slot) else if fnt if (slot.key?('kanjifont') || slot.key?('latinfont') || slot.key?('asciifont')) fnt = TkFont.new(fnt) lfnt = slot.delete('latinfont') lfnt = slot.delete('asciifont') if slot.key?('asciifont') kfnt = slot.delete('kanjifont') fnt.latin_replace(lfnt) if lfnt fnt.kanji_replace(kfnt) if kfnt else slot['font'] = fnt tk_call(self.path, 'configure', *hash_kv(slot)) end end return self end end lfnt = slot.delete('latinfont') lfnt = slot.delete('asciifont') if slot.key?('asciifont') kfnt = slot.delete('kanjifont') if lfnt && kfnt return TkFont.new(lfnt, kfnt).call_font_configure(self.path, self.path, 'configure', slot) end latinfont_configure(lfnt) if lfnt kanjifont_configure(kfnt) if kfnt tk_call(self.path, 'configure', *hash_kv(slot)) if slot != {} self end
# File tk/lib/tk.rb, line 1933 def font_copy(window, tag=nil) if tag fnt = window.tagfontobj(tag).dup else fnt = window.fontobj.dup end fnt.call_font_configure(self.path, self.path, 'configure', {}) self end
# File tk/lib/tk.rb, line 1906 def kanjifont_configure(knj, keys=nil) if (fobj = TkFont.used_on(self.path)) fobj = TkFont.new(fobj) # create a new TkFont object elsif Tk::JAPANIZED_TK fobj = fontobj # create a new TkFont object else tk_call(self.path, 'configure', '-font', knj) return self end if fobj.kind_of?(TkFont) if knj.kind_of? TkFont conf = {} knj.kanji_configinfo.each{|key,val| conf[key] = val} if keys fobj.kanji_configure(conf.update(keys)) else fobj.kanji_configure(conf) end else fobj.kanji_replace(knj) end end return fobj.call_font_configure(self.path, self.path, 'configure', {}) end
# File tk/lib/tk.rb, line 1954 def kanjifont_copy(window, tag=nil) fontobj.dup.call_font_configure(self.path, self.path, 'configure', {}) if tag fontobj.kanji_replace(window.tagfontobj(tag).kanji_font_id) else fontobj.kanji_replace(window.fontobj.kanji_font_id) end self end
# File tk/lib/tk.rb, line 1878 def latinfont_configure(ltn, keys=nil) if (fobj = TkFont.used_on(self.path)) fobj = TkFont.new(fobj) # create a new TkFont object elsif Tk::JAPANIZED_TK fobj = fontobj # create a new TkFont object else tk_call(self.path, 'configure', '-font', ltn) return self end if fobj.kind_of?(TkFont) if ltn.kind_of? TkFont conf = {} ltn.latin_configinfo.each{|key,val| conf[key] = val} if keys fobj.latin_configure(conf.update(keys)) else fobj.latin_configure(conf) end else fobj.latin_replace(ltn) end end return fobj.call_font_configure(self.path, self.path, 'configure', {}) end