diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-07 07:38:25 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-07 07:38:25 +0000 |
commit | 9ff1e787f915539b1980654e3d3d2013ff5c81d2 (patch) | |
tree | 8d0fc9ca5b4dbfa9885dc56862292d55091bcaac /ruby_1_8_6/ext/tk/lib/tk/itemfont.rb | |
parent | 441546edcfbb1b346c87b69c5f578d1a0e522e06 (diff) |
wrong commit; sorryv1_8_6_269
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_8_6_269@17938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby_1_8_6/ext/tk/lib/tk/itemfont.rb')
-rw-r--r-- | ruby_1_8_6/ext/tk/lib/tk/itemfont.rb | 300 |
1 files changed, 0 insertions, 300 deletions
diff --git a/ruby_1_8_6/ext/tk/lib/tk/itemfont.rb b/ruby_1_8_6/ext/tk/lib/tk/itemfont.rb deleted file mode 100644 index ab9e3ff6c9..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tk/itemfont.rb +++ /dev/null @@ -1,300 +0,0 @@ -# -# tk/itemfont.rb : control font of widget items -# -require 'tk' - -module TkItemFontOptkeys - def __item_font_optkeys(id) - # maybe need to override - ['font'] - end - private :__item_font_optkeys -end - -module TkTreatItemFont - include TkItemFontOptkeys - - def __item_pathname(id) - # maybe need to override - [self.path, id].join(';') - end - private :__item_pathname - - ################################################ - - def tagfont_configinfo(tagOrId, key = nil) - optkeys = __item_font_optkeys(tagid(tagOrId)) - if key && !optkeys.find{|opt| opt.to_s == key.to_s} - fail ArgumentError, "unknown font option name `#{key}'" - end - - win, tag = __item_pathname(tagid(tagOrId)).split(';') - - if key - pathname = [win, tag, key].join(';') - TkFont.used_on(pathname) || - TkFont.init_widget_font(pathname, - *(__item_confinfo_cmd(tagid(tagOrId)))) - elsif optkeys.size == 1 - pathname = [win, tag, optkeys[0]].join(';') - TkFont.used_on(pathname) || - TkFont.init_widget_font(pathname, - *(__item_confinfo_cmd(tagid(tagOrId)))) - else - fonts = {} - optkeys.each{|key| - key = key.to_s - pathname = [win, tag, key].join(';') - fonts[key] = - TkFont.used_on(pathname) || - TkFont.init_widget_font(pathname, - *(__item_confinfo_cmd(tagid(tagOrId)))) - } - fonts - end - end - alias tagfontobj tagfont_configinfo - - def tagfont_configure(tagOrId, slot) - pathname = __item_pathname(tagid(tagOrId)) - - slot = _symbolkey2str(slot) - - __item_font_optkeys(tagid(tagOrId)).each{|optkey| - optkey = optkey.to_s - l_optkey = 'latin' << optkey - a_optkey = 'ascii' << optkey - k_optkey = 'kanji' << optkey - - if slot.key?(optkey) - fnt = slot.delete(optkey) - if fnt.kind_of?(TkFont) - slot.delete(l_optkey) - slot.delete(a_optkey) - slot.delete(k_optkey) - - fnt.call_font_configure([pathname, optkey], - *(__item_config_cmd(tagid(tagOrId)) << {})) - next - else - if fnt - if (slot.key?(l_optkey) || - slot.key?(a_optkey) || - slot.key?(k_optkey)) - fnt = TkFont.new(fnt) - - lfnt = slot.delete(l_optkey) - lfnt = slot.delete(a_optkey) if slot.key?(a_optkey) - kfnt = slot.delete(k_optkey) - - fnt.latin_replace(lfnt) if lfnt - fnt.kanji_replace(kfnt) if kfnt - - fnt.call_font_configure([pathname, optkey], - *(__item_config_cmd(tagid(tagOrId)) << {})) - next - else - tk_call(*(__item_config_cmd(tagid(tagOrId)) << "-#{optkey}" << fnt)) - end - end - next - end - end - - lfnt = slot.delete(l_optkey) - lfnt = slot.delete(a_optkey) if slot.key?(a_optkey) - kfnt = slot.delete(k_optkey) - - if lfnt && kfnt - TkFont.new(lfnt, kfnt).call_font_configure([pathname, optkey], - *(__item_config_cmd(tagid(tagOrId)) << {})) - elsif lfnt - latintagfont_configure([lfnt, optkey]) - elsif kfnt - kanjitagfont_configure([kfnt, optkey]) - end - } - - # configure other (without font) options - tk_call(*(__item_config_cmd(tagid(tagOrId)).concat(hash_kv(slot)))) if slot != {} - self - end - - def latintagfont_configure(tagOrId, ltn, keys=nil) - if ltn.kind_of?(Array) - key = ltn[1] - ltn = ltn[0] - else - key = nil - end - - optkeys = __item_font_optkeys(tagid(tagOrId)) - if key && !optkeys.find{|opt| opt.to_s == key.to_s} - fail ArgumentError, "unknown font option name `#{key}'" - end - - win, tag = __item_pathname(tagid(tagOrId)).split(';') - - optkeys = [key] if key - - optkeys.each{|optkey| - optkey = optkey.to_s - - pathname = [win, tag, optkey].join(';') - - if (fobj = TkFont.used_on(pathname)) - fobj = TkFont.new(fobj) # create a new TkFont object - elsif Tk::JAPANIZED_TK - fobj = fontobj # create a new TkFont object - else - tk_call(*(__item_config_cmd(tagid(tagOrId)) << "-#{optkey}" << ltn)) - next - 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 - - fobj.call_font_configure([pathname, optkey], *(__item_config_cmd(tagid(tagOrId)) << {})) - } - self - end - alias asciitagfont_configure latintagfont_configure - - def kanjitagfont_configure(tagOrId, knj, keys=nil) - if knj.kind_of?(Array) - key = knj[1] - knj = knj[0] - else - key = nil - end - - optkeys = __item_font_optkeys(tagid(tagOrId)) - if key && !optkeys.find{|opt| opt.to_s == key.to_s} - fail ArgumentError, "unknown font option name `#{key}'" - end - - win, tag = __item_pathname(tagid(tagOrId)).split(';') - - optkeys = [key] if key - - optkeys.each{|optkey| - optkey = optkey.to_s - - pathname = [win, tag, optkey].join(';') - - if (fobj = TkFont.used_on(pathname)) - fobj = TkFont.new(fobj) # create a new TkFont object - elsif Tk::JAPANIZED_TK - fobj = fontobj # create a new TkFont object - else - tk_call(*(__item_config_cmd(tagid(tagOrId)) << "-#{optkey}" << knj)) - next - 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 - - fobj.call_font_configure([pathname, optkey], *(__item_config_cmd(tagid(tagOrId)) << {})) - } - self - end - - def tagfont_copy(tagOrId, win, wintag=nil, winkey=nil, targetkey=nil) - if wintag - if winkey - fnt = win.tagfontobj(wintag, winkey).dup - else - fnt = win.tagfontobj(wintag).dup - end - else - if winkey - fnt = win.fontobj(winkey).dup - else - fnt = win.fontobj.dup - end - end - - if targetkey - fnt.call_font_configure([__item_pathname(tagid(tagOrId)), targetkey], - *(__item_config_cmd(tagid(tagOrId)) << {})) - else - fnt.call_font_configure(__item_pathname(tagid(tagOrId)), - *(__item_config_cmd(tagid(tagOrId)) << {})) - end - self - end - - - def latintagfont_copy(tagOrId, win, wintag=nil, winkey=nil, targetkey=nil) - if targetkey - fontobj(targetkey).dup.call_font_configure([__item_pathname(tagid(tagOrId)), targetkey], - *(__item_config_cmd(tagid(tagOrId)) << {})) - else - fontobj.dup.call_font_configure(__item_pathname(tagid(tagOrId)), - *(__item_config_cmd(tagid(tagOrId)) << {})) - end - - if wintag - if winkey - fontobj.latin_replace(win.tagfontobj(wintag, winkey).latin_font_id) - else - fontobj.latin_replace(win.tagfontobj(wintag).latin_font_id) - end - else - if winkey - fontobj.latin_replace(win.fontobj(winkey).latin_font_id) - else - fontobj.latin_replace(win.fontobj.latin_font_id) - end - end - self - end - alias asciitagfont_copy latintagfont_copy - - def kanjifont_copy(tagOrId, win, wintag=nil, winkey=nil, targetkey=nil) - if targetkey - fontobj(targetkey).dup.call_font_configure([__item_pathname(tagid(tagOrId)), targetkey], - *(__item_config_cmd(tagid(tagOrId)) << {})) - else - fontobj.dup.call_font_configure(__item_pathname(tagid(tagOrId)), - *(__item_config_cmd(tagid(tagOrId)) << {})) - end - - if wintag - if winkey - fontobj.kanji_replace(win.tagfontobj(wintag, winkey).kanji_font_id) - else - fontobj.kanji_replace(win.tagfontobj(wintag).kanji_font_id) - end - else - if winkey - fontobj.kanji_replace(win.fontobj(winkey).kanji_font_id) - else - fontobj.kanji_replace(win.fontobj.kanji_font_id) - end - end - self - end -end |