diff options
Diffstat (limited to 'ruby_1_8_6/ext/tk/lib/tkextlib/tile')
21 files changed, 0 insertions, 2157 deletions
diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/dialog.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/dialog.rb deleted file mode 100644 index b10378d7de..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/dialog.rb +++ /dev/null @@ -1,84 +0,0 @@ -# -# ttk::dialog (tile-0.7+) -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -require 'tk' -require 'tkextlib/tile.rb' - -module Tk - module Tile - class Dialog < TkWindow - end - end -end - -class Tk::Tile::Dialog - TkCommandNames = ['::ttk::dialog'.freeze].freeze - - def self.show(*args) - dialog = self.new(*args) - dialog.show - [dialog.status, dialog.value] - end - def self.display(*args) - self.show(*args) - end - - def self.define_dialog_type(name, keys) - Tk.tk_call('::ttk::dialog::define', name, keys) - name - end - - def self.style(*args) - ['Dialog', *(args.map!{|a| _get_eval_string(a)})].join('.') - end - - ######################### - - def initialize(keys={}) - @keys = _symbolkey2str(keys) - super(*args) - end - - def create_self(keys) - # dummy - end - private :create_self - - def show - tk_call(self.class::TkCommandNames[0], @path, *hash_kv(@keys)) - end - alias display show - - def client_frame - window(tk_call_without_enc('::ttk::dialog::clientframe', @path)) - end - - def cget(slot) - @keys[slot] - end - - def configure(slot, value=None) - if slot.kind_of?(Hash) - slot.each{|k, v| configure(k, v)} - else - slot = slot.to_s - value = _symbolkey2str(value) if value.kind_of?(Hash) - if value && value != None - @keys[slot] = value - else - @keys.delete(slot) - end - end - self - end - - def configinfo(slot = nil) - if slot - slot = slot.to_s - [ slot, nil, nil, nil, @keys[slot] ] - else - @keys.collect{|k, v| [ k, nil, nil, nil, v ] } - end - end -end diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/setup.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/setup.rb deleted file mode 100644 index ce0f0bd4d4..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/setup.rb +++ /dev/null @@ -1,8 +0,0 @@ -# -# setup.rb -- setup script before calling TkPackage.require() -# -# If you need some setup operations (for example, add a library path -# to the library search path) before using Tcl/Tk library packages -# wrapped by Ruby scripts in this directory, please write the setup -# operations in this file. -# diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/sizegrip.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/sizegrip.rb deleted file mode 100644 index ea796583b0..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/sizegrip.rb +++ /dev/null @@ -1,25 +0,0 @@ -# -# ttk::sizegrip widget -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -require 'tk' -require 'tkextlib/tile.rb' - -module Tk - module Tile - class SizeGrip < TkWindow - end - end -end - -class Tk::Tile::SizeGrip < TkWindow - include Tk::Tile::TileWidget - - TkCommandNames = ['::ttk::sizegrip'.freeze].freeze - WidgetClassName = 'TSizegrip'.freeze - WidgetClassNames[WidgetClassName] = self - - def self.style(*args) - [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') - end -end diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/style.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/style.rb deleted file mode 100644 index 59bc4b0d78..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/style.rb +++ /dev/null @@ -1,107 +0,0 @@ -# -# style commands -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -require 'tk' -require 'tkextlib/tile.rb' - -module Tk - module Tile - module Style - end - end -end - -module Tk::Tile::Style - extend TkCore -end - -class << Tk::Tile::Style - def configure(style=nil, keys=nil) - if style.kind_of?(Hash) - keys = style - style = nil - end - style = '.' unless style - - if Tk::Tile::TILE_SPEC_VERSION_ID < 7 - sub_cmd = 'default' - else - sub_cmd = 'configure' - end - - if keys && keys != None - tk_call('style', sub_cmd, style, *hash_kv(keys)) - else - tk_call('style', sub_cmd, style) - end - end - alias default configure - - def map(style=nil, keys=nil) - if style.kind_of?(Hash) - keys = style - style = nil - end - style = '.' unless style - - if keys && keys != None - tk_call('style', 'map', style, *hash_kv(keys)) - else - tk_call('style', 'map', style) - end - end - - def lookup(style, opt, state=None, fallback_value=None) - tk_call('style', 'lookup', style, '-' << opt.to_s, state, fallback_value) - end - - include Tk::Tile::ParseStyleLayout - - def layout(style=nil, spec=nil) - if style.kind_of?(Hash) - spec = style - style = nil - end - style = '.' unless style - - if spec - tk_call('style', 'layout', style, spec) - else - _style_layout(list(tk_call('style', 'layout', style))) - end - end - - def element_create(name, type, *args) - tk_call('style', 'element', 'create', name, type, *args) - end - - def element_names() - list(tk_call('style', 'element', 'names')) - end - - def element_options(elem) - simplelist(tk_call('style', 'element', 'options', elem)) - end - - def theme_create(name, keys=nil) - if keys && keys != None - tk_call('style', 'theme', 'create', name, *hash_kv(keys)) - else - tk_call('style', 'theme', 'create', name) - end - end - - def theme_settings(name, cmd=nil, &b) - cmd = Proc.new(&b) if !cmd && b - tk_call('style', 'theme', 'settings', name, cmd) - end - - def theme_names() - list(tk_call('style', 'theme', 'names')) - end - - def theme_use(name) - tk_call('style', 'theme', 'use', name) - end -end diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tbutton.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tbutton.rb deleted file mode 100644 index 1142a27100..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tbutton.rb +++ /dev/null @@ -1,30 +0,0 @@ -# -# tbutton widget -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -require 'tk' -require 'tkextlib/tile.rb' - -module Tk - module Tile - class TButton < TkButton - end - Button = TButton - end -end - -class Tk::Tile::TButton < TkButton - include Tk::Tile::TileWidget - - if Tk::Tile::USE_TTK_NAMESPACE - TkCommandNames = ['::ttk::button'.freeze].freeze - else - TkCommandNames = ['::tbutton'.freeze].freeze - end - WidgetClassName = 'TButton'.freeze - WidgetClassNames[WidgetClassName] = self - - def self.style(*args) - [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') - end -end diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tcheckbutton.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tcheckbutton.rb deleted file mode 100644 index fce799683d..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tcheckbutton.rb +++ /dev/null @@ -1,32 +0,0 @@ -# -# tcheckbutton widget -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -require 'tk' -require 'tkextlib/tile.rb' - -module Tk - module Tile - class TCheckButton < TkCheckButton - end - TCheckbutton = TCheckButton - CheckButton = TCheckButton - Checkbutton = TCheckButton - end -end - -class Tk::Tile::TCheckButton < TkCheckButton - include Tk::Tile::TileWidget - - if Tk::Tile::USE_TTK_NAMESPACE - TkCommandNames = ['::ttk::checkbutton'.freeze].freeze - else - TkCommandNames = ['::tcheckbutton'.freeze].freeze - end - WidgetClassName = 'TCheckbutton'.freeze - WidgetClassNames[WidgetClassName] = self - - def self.style(*args) - [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') - end -end diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tcombobox.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tcombobox.rb deleted file mode 100644 index e8e042fbd9..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tcombobox.rb +++ /dev/null @@ -1,51 +0,0 @@ -# -# tcombobox widget -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -require 'tk' -require 'tkextlib/tile.rb' - -module Tk - module Tile - class TCombobox < Tk::Tile::TEntry - end - Combobox = TCombobox - end -end - -class Tk::Tile::TCombobox < Tk::Tile::TEntry - include Tk::Tile::TileWidget - - if Tk::Tile::USE_TTK_NAMESPACE - TkCommandNames = ['::ttk::combobox'.freeze].freeze - else - TkCommandNames = ['::tcombobox'.freeze].freeze - end - WidgetClassName = 'TCombobox'.freeze - WidgetClassNames[WidgetClassName] = self - - def __boolval_optkeys - super() << 'exportselection' - end - private :__boolval_optkeys - - def __listval_optkeys - super() << 'values' - end - private :__listval_optkeys - - def self.style(*args) - [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') - end - - def current - number(tk_send_without_enc('current')) - end - def current=(idx) - tk_send_without_enc('current', idx) - end - - def set(val) - tk_send('set', val) - end -end diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tentry.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tentry.rb deleted file mode 100644 index 4d57ce7756..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tentry.rb +++ /dev/null @@ -1,40 +0,0 @@ -# -# tentry widget -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -require 'tk' -require 'tkextlib/tile.rb' - -module Tk - module Tile - class TEntry < TkEntry - end - Entry = TEntry - end -end - -class Tk::Tile::TEntry < TkEntry - include Tk::Tile::TileWidget - - if Tk::Tile::USE_TTK_NAMESPACE - TkCommandNames = ['::ttk::entry'.freeze].freeze - else - TkCommandNames = ['::tentry'.freeze].freeze - end - WidgetClassName = 'TEntry'.freeze - WidgetClassNames[WidgetClassName] = self - - def __boolval_optkeys - super() << 'exportselection' - end - private :__boolval_optkeys - - def __strval_optkeys - super() << 'show' - end - private :__strval_optkeys - - def self.style(*args) - [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') - end -end diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tframe.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tframe.rb deleted file mode 100644 index 691c9c42af..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tframe.rb +++ /dev/null @@ -1,30 +0,0 @@ -# -# tframe widget -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -require 'tk' -require 'tkextlib/tile.rb' - -module Tk - module Tile - class TFrame < TkFrame - end - Frame = TFrame - end -end - -class Tk::Tile::TFrame < TkFrame - include Tk::Tile::TileWidget - - if Tk::Tile::USE_TTK_NAMESPACE - TkCommandNames = ['::ttk::frame'.freeze].freeze - else - TkCommandNames = ['::tframe'.freeze].freeze - end - WidgetClassName = 'TFrame'.freeze - WidgetClassNames[WidgetClassName] = self - - def self.style(*args) - [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') - end -end diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tlabel.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tlabel.rb deleted file mode 100644 index 4111d1906a..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tlabel.rb +++ /dev/null @@ -1,30 +0,0 @@ -# -# tlabel widget -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -require 'tk' -require 'tkextlib/tile.rb' - -module Tk - module Tile - class TLabel < TkLabel - end - Label = TLabel - end -end - -class Tk::Tile::TLabel < TkLabel - include Tk::Tile::TileWidget - - if Tk::Tile::USE_TTK_NAMESPACE - TkCommandNames = ['::ttk::label'.freeze].freeze - else - TkCommandNames = ['::tlabel'.freeze].freeze - end - WidgetClassName = 'TLabel'.freeze - WidgetClassNames[WidgetClassName] = self - - def self.style(*args) - [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') - end -end diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tlabelframe.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tlabelframe.rb deleted file mode 100644 index 8981232b25..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tlabelframe.rb +++ /dev/null @@ -1,30 +0,0 @@ -# -# tlabelframe widget -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -require 'tk' -require 'tkextlib/tile.rb' - -module Tk - module Tile - class TLabelframe < Tk::Tile::TFrame - end - Labelframe = TLabelframe - end -end - -class Tk::Tile::TLabelframe < Tk::Tile::TFrame - include Tk::Tile::TileWidget - - if Tk::Tile::USE_TTK_NAMESPACE - TkCommandNames = ['::ttk::labelframe'.freeze].freeze - else - TkCommandNames = ['::tlabelframe'.freeze].freeze - end - WidgetClassName = 'TLabelframe'.freeze - WidgetClassNames[WidgetClassName] = self - - def self.style(*args) - [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') - end -end diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tmenubutton.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tmenubutton.rb deleted file mode 100644 index 4b81fa1c81..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tmenubutton.rb +++ /dev/null @@ -1,30 +0,0 @@ -# -# tmenubutton widget -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -require 'tk' -require 'tkextlib/tile.rb' - -module Tk - module Tile - class TMenubutton < TkMenubutton - end - Menubutton = TMenubutton - end -end - -class Tk::Tile::TMenubutton < TkMenubutton - include Tk::Tile::TileWidget - - if Tk::Tile::USE_TTK_NAMESPACE - TkCommandNames = ['::ttk::menubutton'.freeze].freeze - else - TkCommandNames = ['::tmenubutton'.freeze].freeze - end - WidgetClassName = 'TMenubutton'.freeze - WidgetClassNames[WidgetClassName] = self - - def self.style(*args) - [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') - end -end diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tnotebook.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tnotebook.rb deleted file mode 100644 index a928e64b61..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tnotebook.rb +++ /dev/null @@ -1,114 +0,0 @@ -# -# tnotebook widget -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -require 'tk' -require 'tkextlib/tile.rb' - -module Tk - module Tile - class TNotebook < TkWindow - end - Notebook = TNotebook - end -end - -class Tk::Tile::TNotebook < TkWindow - ################################ - include TkItemConfigMethod - - def __item_cget_cmd(id) - [self.path, 'tab', id] - end - private :__item_cget_cmd - - def __item_config_cmd(id) - [self.path, 'tab', id] - end - private :__item_config_cmd - - def __item_listval_optkeys(id) - [] - end - private :__item_listval_optkeys - - def __item_methodcall_optkeys(id) # { key=>method, ... } - {} - end - private :__item_methodcall_optkeys - - #alias tabcget itemcget - alias tabconfigure itemconfigure - alias tabconfiginfo itemconfiginfo - alias current_tabconfiginfo current_itemconfiginfo - - def tabcget(tagOrId, option) - tabconfigure(tagOrId, option)[-1] - end - ################################ - - include Tk::Tile::TileWidget - - if Tk::Tile::USE_TTK_NAMESPACE - TkCommandNames = ['::ttk::notebook'.freeze].freeze - else - TkCommandNames = ['::tnotebook'.freeze].freeze - end - WidgetClassName = 'TNotebook'.freeze - WidgetClassNames[WidgetClassName] = self - - def self.style(*args) - [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') - end - - def enable_traversal() - if Tk::Tile::TILE_SPEC_VERSION_ID < 5 - tk_call_without_enc('::tile::enableNotebookTraversal', @path) - elsif Tk::Tile::TILE_SPEC_VERSION_ID < 7 - tk_call_without_enc('::tile::notebook::enableTraversal', @path) - else - tk_call_without_enc('::ttk::notebook::enableTraversal', @path) - end - self - end - - def add(child, keys=nil) - if keys && keys != None - tk_send_without_enc('add', _epath(child), *hash_kv(keys)) - else - tk_send_without_enc('add', _epath(child)) - end - self - end - - def forget(idx) - tk_send('forget', idx) - self - end - - def index(idx) - number(tk_send('index', idx)) - end - - def insert(idx, subwin, keys=nil) - if keys && keys != None - tk_send('insert', idx, subwin, *hash_kv(keys)) - else - tk_send('insert', idx, subwin) - end - self - end - - def select(idx) - tk_send('select', idx) - self - end - - def selected - window(tk_send_without_enc('select')) - end - - def tabs - list(tk_send('tabs')) - end -end diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tpaned.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tpaned.rb deleted file mode 100644 index 11178b19d3..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tpaned.rb +++ /dev/null @@ -1,188 +0,0 @@ -# -# tpaned widget -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -require 'tk' -require 'tkextlib/tile.rb' - -module Tk - module Tile - class TPaned < TkWindow - end - Paned = TPaned - end -end - -class Tk::Tile::TPaned < TkWindow - include Tk::Tile::TileWidget - - if Tk::Tile::USE_TTK_NAMESPACE - TkCommandNames = ['::ttk::paned'.freeze].freeze - else - TkCommandNames = ['::tpaned'.freeze].freeze - end - WidgetClassName = 'TPaned'.freeze - WidgetClassNames[WidgetClassName] = self - - def self.style(*args) - [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') - end - - def add(win, keys) - win = _epath(win) - tk_send_without_enc('add', win, *hash_kv(keys)) - self - end - - def forget(pane) - pane = _epath(pane) - tk_send_without_enc('forget', pane) - self - end - - def insert(pos, win, keys) - win = _epath(win) - tk_send_without_enc('insert', pos, win, *hash_kv(keys)) - self - end - - def panecget(pane, slot) - pane = _epath(pane) - tk_tcl2ruby(tk_send_without_enc('pane', pane, "-#{slot}")) - end - alias pane_cget panecget - - def paneconfigure(pane, key, value=nil) - pane = _epath(pane) - if key.kind_of? Hash - params = [] - key.each{|k, v| - params.push("-#{k}") - # params.push((v.kind_of?(TkObject))? v.epath: v) - params.push(_epath(v)) - } - tk_send_without_enc('pane', pane, *params) - else - # value = value.epath if value.kind_of?(TkObject) - value = _epath(value) - tk_send_without_enc('pane', pane, "-#{key}", value) - end - self - end - alias pane_config paneconfigure - alias pane_configure paneconfigure - - def paneconfiginfo(win) - if TkComm::GET_CONFIGINFO_AS_ARRAY - win = _epath(win) - if key - conf = tk_split_list(tk_send_without_enc('pane', win, "-#{key}")) - conf[0] = conf[0][1..-1] - if conf[0] == 'hide' - conf[3] = bool(conf[3]) unless conf[3].empty? - conf[4] = bool(conf[4]) unless conf[4].empty? - end - conf - else - tk_split_simplelist(tk_send_without_enc('pane', - win)).collect{|conflist| - conf = tk_split_simplelist(conflist) - conf[0] = conf[0][1..-1] - if conf[3] - if conf[0] == 'hide' - conf[3] = bool(conf[3]) unless conf[3].empty? - elsif conf[3].index('{') - conf[3] = tk_split_list(conf[3]) - else - conf[3] = tk_tcl2ruby(conf[3]) - end - end - if conf[4] - if conf[0] == 'hide' - conf[4] = bool(conf[4]) unless conf[4].empty? - elsif conf[4].index('{') - conf[4] = tk_split_list(conf[4]) - else - conf[4] = tk_tcl2ruby(conf[4]) - end - end - conf[1] = conf[1][1..-1] if conf.size == 2 # alias info - conf - } - end - else # ! TkComm::GET_CONFIGINFO_AS_ARRAY - win = _epath(win) - if key - conf = tk_split_list(tk_send_without_enc('pane', win, "-#{key}")) - key = conf.shift[1..-1] - if key == 'hide' - conf[2] = bool(conf[2]) unless conf[2].empty? - conf[3] = bool(conf[3]) unless conf[3].empty? - end - { key => conf } - else - ret = {} - tk_split_simplelist(tk_send_without_enc('pane', - win)).each{|conflist| - conf = tk_split_simplelist(conflist) - key = conf.shift[1..-1] - if key - if key == 'hide' - conf[2] = bool(conf[2]) unless conf[2].empty? - elsif conf[2].index('{') - conf[2] = tk_split_list(conf[2]) - else - conf[2] = tk_tcl2ruby(conf[2]) - end - end - if conf[3] - if key == 'hide' - conf[3] = bool(conf[3]) unless conf[3].empty? - elsif conf[3].index('{') - conf[3] = tk_split_list(conf[3]) - else - conf[3] = tk_tcl2ruby(conf[3]) - end - end - if conf.size == 1 - ret[key] = conf[0][1..-1] # alias info - else - ret[key] = conf - end - } - ret - end - end - end - alias pane_configinfo paneconfiginfo - - def current_paneconfiginfo(win, key=nil) - if TkComm::GET_CONFIGINFO_AS_ARRAY - if key - conf = paneconfiginfo(win, key) - {conf[0] => conf[4]} - else - ret = {} - paneconfiginfo(win).each{|conf| - ret[conf[0]] = conf[4] if conf.size > 2 - } - ret - end - else # ! TkComm::GET_CONFIGINFO_AS_ARRAY - ret = {} - paneconfiginfo(win, key).each{|k, conf| - ret[k] = conf[-1] if conf.kind_of?(Array) - } - ret - end - end - alias current_pane_configinfo current_paneconfiginfo - - def identify(x, y) - list(tk_send_without_enc('identify', x, y)) - end - - def sashpos(idx, newpos=None) - num_or_str(tk_send_without_enc('sashpos', idx, newpos)) - end -end diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tprogressbar.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tprogressbar.rb deleted file mode 100644 index 36c1c75c23..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tprogressbar.rb +++ /dev/null @@ -1,53 +0,0 @@ -# -# tprogressbar widget -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -require 'tk' -require 'tkextlib/tile.rb' - -module Tk - module Tile - class TProgressbar < TkWindow - end - Progressbar = TProgressbar - end -end - -class Tk::Tile::TProgressbar - include Tk::Tile::TileWidget - - if Tk::Tile::USE_TTK_NAMESPACE - TkCommandNames = ['::ttk::progressbar'.freeze].freeze - else - TkCommandNames = ['::tprogressbar'.freeze].freeze - end - WidgetClassName = 'TProgressbar'.freeze - WidgetClassNames[WidgetClassName] = self - - def self.style(*args) - [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') - end - - def step(amount=None) - tk_send_without_enc('step', amount).to_f - end - #def step=(amount) - # tk_send_without_enc('step', amount) - #end - - def start(interval=None) - if Tk::Tile::TILE_SPEC_VERSION_ID < 5 - tk_call_without_enc('::tile::progressbar::start', @path, interval) - else - tk_send_without_enc('start', interval) - end - end - - def stop(amount=None) - if Tk::Tile::TILE_SPEC_VERSION_ID < 5 - tk_call_without_enc('::tile::progressbar::stop', @path) - else - tk_send_without_enc('stop', amount) - end - end -end diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tradiobutton.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tradiobutton.rb deleted file mode 100644 index e2f614cb97..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tradiobutton.rb +++ /dev/null @@ -1,32 +0,0 @@ -# -# tradiobutton widget -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -require 'tk' -require 'tkextlib/tile.rb' - -module Tk - module Tile - class TRadioButton < TkRadioButton - end - TRadiobutton = TRadioButton - RadioButton = TRadioButton - Radiobutton = TRadioButton - end -end - -class Tk::Tile::TRadioButton < TkRadioButton - include Tk::Tile::TileWidget - - if Tk::Tile::USE_TTK_NAMESPACE - TkCommandNames = ['::ttk::radiobutton'.freeze].freeze - else - TkCommandNames = ['::tradiobutton'.freeze].freeze - end - WidgetClassName = 'TRadiobutton'.freeze - WidgetClassNames[WidgetClassName] = self - - def self.style(*args) - [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') - end -end diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/treeview.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/treeview.rb deleted file mode 100644 index 68e478896c..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/treeview.rb +++ /dev/null @@ -1,1133 +0,0 @@ -# -# treeview widget -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -require 'tk' -require 'tkextlib/tile.rb' - -module Tk - module Tile - class Treeview < TkWindow - end - end -end - -module Tk::Tile::TreeviewConfig - include TkItemConfigMethod - - def __item_configinfo_struct(id) - # maybe need to override - {:key=>0, :alias=>nil, :db_name=>nil, :db_class=>nil, - :default_value=>nil, :current_value=>1} - end - private :__item_configinfo_struct - - def __itemconfiginfo_core(tagOrId, slot = nil) - if TkComm::GET_CONFIGINFO_AS_ARRAY - if (slot && slot.to_s =~ /^(|latin|ascii|kanji)(#{__item_font_optkeys(tagid(tagOrId)).join('|')})$/) - fontkey = $2 - return [slot.to_s, tagfontobj(tagid(tagOrId), fontkey)] - else - if slot - slot = slot.to_s - case slot - when /^(#{__tile_specific_item_optkeys(tagid(tagOrId)).join('|')})$/ - begin - # On tile-0.7.{2-8}, 'state' options has no '-' at its head. - val = tk_call(*(__item_confinfo_cmd(tagid(tagOrId)) << slot)) - rescue - # Maybe, 'state' option has '-' in future. - val = tk_call(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")) - end - return [slot, val] - - when /^(#{__item_val2ruby_optkeys(tagid(tagOrId)).keys.join('|')})$/ - method = _symbolkey2str(__item_val2ruby_optkeys(tagid(tagOrId)))[slot] - optval = tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")) - begin - val = method.call(tagOrId, optval) - rescue => e - warn("Warning:: #{e.message} (when #{method}lcall(#{tagOrId.inspect}, #{optval.inspect})") if $DEBUG - val = optval - end - return [slot, val] - - when /^(#{__item_methodcall_optkeys(tagid(tagOrId)).keys.join('|')})$/ - method = _symbolkey2str(__item_methodcall_optkeys(tagid(tagOrId)))[slot] - return [slot, self.__send__(method, tagOrId)] - - when /^(#{__item_numval_optkeys(tagid(tagOrId)).join('|')})$/ - begin - val = number(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}"))) - rescue - val = nil - end - return [slot, val] - - when /^(#{__item_numstrval_optkeys(tagid(tagOrId)).join('|')})$/ - val = num_or_str(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}"))) - return [slot, val] - - when /^(#{__item_boolval_optkeys(tagid(tagOrId)).join('|')})$/ - begin - val = bool(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}"))) - rescue - val = nil - end - return [slot, val] - - when /^(#{__item_listval_optkeys(tagid(tagOrId)).join('|')})$/ - val = simplelist(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}"))) - return [slot, val] - - when /^(#{__item_numlistval_optkeys(tagid(tagOrId)).join('|')})$/ - val = tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")) - if val =~ /^[0-9]/ - return [slot, list(val)] - else - return [slot, val] - end - - when /^(#{__item_strval_optkeys(tagid(tagOrId)).join('|')})$/ - val = tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")) - return [slot, val] - - when /^(#{__item_tkvariable_optkeys(tagid(tagOrId)).join('|')})$/ - val = tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")) - if val.empty? - return [slot, nil] - else - return [slot, TkVarAccess.new(val)] - end - - else - val = tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")) - if val.index('{') - return [slot, tk_split_list(val)] - else - return [slot, tk_tcl2ruby(val)] - end - end - - else # ! slot - ret = Hash[*(tk_split_simplelist(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)))), false, false))].to_a.collect{|conf| - conf[0] = conf[0][1..-1] if conf[0][0] == ?- - case conf[0] - when /^(#{__item_val2ruby_optkeys(tagid(tagOrId)).keys.join('|')})$/ - method = _symbolkey2str(__item_val2ruby_optkeys(tagid(tagOrId)))[conf[0]] - optval = conf[1] - begin - val = method.call(tagOrId, optval) - rescue => e - warn("Warning:: #{e.message} (when #{method}.call(#{tagOrId.inspect}, #{optval.inspect})") if $DEBUG - val = optval - end - conf[1] = val - - when /^(#{__item_strval_optkeys(tagid(tagOrId)).join('|')})$/ - # do nothing - - when /^(#{__item_numval_optkeys(tagid(tagOrId)).join('|')})$/ - begin - conf[1] = number(conf[1]) - rescue - conf[1] = nil - end - - when /^(#{__item_numstrval_optkeys(tagid(tagOrId)).join('|')})$/ - conf[1] = num_or_str(conf[1]) - - when /^(#{__item_boolval_optkeys(tagid(tagOrId)).join('|')})$/ - begin - conf[1] = bool(conf[1]) - rescue - conf[1] = nil - end - - when /^(#{__item_listval_optkeys(tagid(tagOrId)).join('|')})$/ - conf[1] = simplelist(conf[1]) - - when /^(#{__item_numlistval_optkeys(tagid(tagOrId)).join('|')})$/ - if conf[1] =~ /^[0-9]/ - conf[1] = list(conf[1]) - end - - when /^(#{__item_tkvariable_optkeys(tagid(tagOrId)).join('|')})$/ - if conf[1].empty? - conf[1] = nil - else - conf[1] = TkVarAccess.new(conf[1]) - end - - else - if conf[1].index('{') - conf[1] = tk_split_list(conf[1]) - else - conf[1] = tk_tcl2ruby(conf[1]) - end - end - - conf - } - - __item_font_optkeys(tagid(tagOrId)).each{|optkey| - optkey = optkey.to_s - fontconf = ret.assoc(optkey) - if fontconf - ret.delete_if{|inf| inf[0] =~ /^(|latin|ascii|kanji)#{optkey}$/} - fontconf[1] = tagfontobj(tagid(tagOrId), optkey) - ret.push(fontconf) - end - } - - __item_methodcall_optkeys(tagid(tagOrId)).each{|optkey, method| - ret << [optkey.to_s, self.__send__(method, tagOrId)] - } - - ret - end - end - - else # ! TkComm::GET_CONFIGINFO_AS_ARRAY - if (slot && slot.to_s =~ /^(|latin|ascii|kanji)(#{__item_font_optkeys(tagid(tagOrId)).join('|')})$/) - fontkey = $2 - return {slot.to_s => tagfontobj(tagid(tagOrId), fontkey)} - else - if slot - slot = slot.to_s - case slot - when /^(#{__tile_specific_item_optkeys(tagid(tagOrId)).join('|')})$/ - begin - # On tile-0.7.{2-8}, 'state' option has no '-' at its head. - val = tk_call(*(__item_confinfo_cmd(tagid(tagOrId)) << slot)) - rescue - # Maybe, 'state' option has '-' in future. - val = tk_call(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")) - end - return {slot => val} - - when /^(#{__item_val2ruby_optkeys(tagid(tagOrId)).keys.join('|')})$/ - method = _symbolkey2str(__item_val2ruby_optkeys(tagid(tagOrId)))[slot] - optval = tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")) - begin - val = method.call(tagOrId, optval) - rescue => e - warn("Warning:: #{e.message} (when #{method}lcall(#{tagOrId.inspect}, #{optval.inspect})") if $DEBUG - val = optval - end - return {slot => val} - - when /^(#{__item_methodcall_optkeys(tagid(tagOrId)).keys.join('|')})$/ - method = _symbolkey2str(__item_methodcall_optkeys(tagid(tagOrId)))[slot] - return {slot => self.__send__(method, tagOrId)} - - when /^(#{__item_numval_optkeys(tagid(tagOrId)).join('|')})$/ - begin - val = number(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}"))) - rescue - val = nil - end - return {slot => val} - - when /^(#{__item_numstrval_optkeys(tagid(tagOrId)).join('|')})$/ - val = num_or_str(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}"))) - return {slot => val} - - when /^(#{__item_boolval_optkeys(tagid(tagOrId)).join('|')})$/ - begin - val = bool(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}"))) - rescue - val = nil - end - return {slot => val} - - when /^(#{__item_listval_optkeys(tagid(tagOrId)).join('|')})$/ - val = simplelist(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}"))) - return {slot => val} - - when /^(#{__item_numlistval_optkeys(tagid(tagOrId)).join('|')})$/ - val = tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")) - if val =~ /^[0-9]/ - return {slot => list(val)} - else - return {slot => val} - end - - when /^(#{__item_strval_optkeys(tagid(tagOrId)).join('|')})$/ - val = tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")) - return {slot => val} - - when /^(#{__item_tkvariable_optkeys(tagid(tagOrId)).join('|')})$/ - val = tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")) - if val.empty? - return {slot => nil} - else - return {slot => TkVarAccess.new(val)} - end - - else - val = tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")) - if val.index('{') - return {slot => tk_split_list(val)} - else - return {slot => tk_tcl2ruby(val)} - end - end - - else # ! slot - ret = {} - ret = Hash[*(tk_split_simplelist(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)))), false, false))].to_a.collect{|conf| - conf[0] = conf[0][1..-1] if conf[0][0] == ?- - - optkey = conf[0] - case optkey - when /^(#{__item_val2ruby_optkeys(tagid(tagOrId)).keys.join('|')})$/ - method = _symbolkey2str(__item_val2ruby_optkeys(tagid(tagOrId)))[optkey] - optval = conf[1] - begin - val = method.call(tagOrId, optval) - rescue => e - warn("Warning:: #{e.message} (when #{method}.call(#{tagOrId.inspect}, #{optval.inspect})") if $DEBUG - val = optval - end - conf[1] = val - - when /^(#{__item_strval_optkeys(tagid(tagOrId)).join('|')})$/ - # do nothing - - when /^(#{__item_numval_optkeys(tagid(tagOrId)).join('|')})$/ - begin - conf[1] = number(conf[1]) - rescue - conf[1] = nil - end - - when /^(#{__item_numstrval_optkeys(tagid(tagOrId)).join('|')})$/ - conf[1] = num_or_str(conf[1]) - - when /^(#{__item_boolval_optkeys(tagid(tagOrId)).join('|')})$/ - begin - conf[1] = bool(conf[1]) - rescue - conf[1] = nil - end - - when /^(#{__item_listval_optkeys(tagid(tagOrId)).join('|')})$/ - conf[1] = simplelist(conf[1]) - - when /^(#{__item_numlistval_optkeys(tagid(tagOrId)).join('|')})$/ - if conf[1] =~ /^[0-9]/ - conf[1] = list(conf[1]) - end - - when /^(#{__item_tkvariable_optkeys(tagid(tagOrId)).join('|')})$/ - if conf[1].empty? - conf[1] = nil - else - conf[1] = TkVarAccess.new(conf[1]) - end - - else - if conf[1].index('{') - return [slot, tk_split_list(conf[1])] - else - return [slot, tk_tcl2ruby(conf[1])] - end - end - - ret[conf[0]] = conf[1] - } - - __item_font_optkeys(tagid(tagOrId)).each{|optkey| - optkey = optkey.to_s - fontconf = ret[optkey] - if fontconf.kind_of?(Array) - ret.delete(optkey) - ret.delete('latin' << optkey) - ret.delete('ascii' << optkey) - ret.delete('kanji' << optkey) - fontconf[1] = tagfontobj(tagid(tagOrId), optkey) - ret[optkey] = fontconf - end - } - - __item_methodcall_optkeys(tagid(tagOrId)).each{|optkey, method| - ret[optkey.to_s] = self.__send__(method, tagOrId) - } - - ret - end - end - end - end - - ################### - - def __item_cget_cmd(id) - [self.path, id[0], id[1]] - end - private :__item_cget_cmd - - def __item_config_cmd(id) - [self.path, id[0], id[1]] - end - private :__item_config_cmd - - def __item_numstrval_optkeys(id) - case id[0] - when :item, 'item' - ['width'] - when :column, 'column' - super(id[1]) - when :tag, 'tag' - super(id[1]) - when :heading, 'heading' - super(id[1]) - else - super(id[1]) - end - end - private :__item_numstrval_optkeys - - def __item_strval_optkeys(id) - case id[0] - when :item, 'item' - super(id) + ['id'] - when :column, 'column' - super(id[1]) - when :tag, 'tag' - super(id[1]) - when :heading, 'heading' - super(id[1]) - else - super(id[1]) - end - end - private :__item_strval_optkeys - - def __item_boolval_optkeys(id) - case id[0] - when :item, 'item' - ['open'] - when :column, 'column' - super(id[1]) - when :tag, 'tag' - super(id[1]) - when :heading, 'heading' - super(id[1]) - end - end - private :__item_boolval_optkeys - - def __item_listval_optkeys(id) - case id[0] - when :item, 'item' - ['values'] - when :column, 'column' - [] - when :heading, 'heading' - [] - else - [] - end - end - private :__item_listval_optkeys - - def __item_val2ruby_optkeys(id) - case id[0] - when :item, 'item' - { - 'tags'=>proc{|arg_id, val| - simplelist(val).collect{|tag| - Tk::Tile::Treeview::Tag.id2obj(self, tag) - } - } - } - when :column, 'column' - {} - when :heading, 'heading' - {} - else - {} - end - end - private :__item_val2ruby_optkeys - - def __tile_specific_item_optkeys(id) - case id[0] - when :item, 'item' - [] - when :column, 'column' - [] - when :heading, 'heading' - ['state'] # On tile-0.7.{2-8}, 'state' options has no '-' at its head. - else - [] - end - end - private :__item_val2ruby_optkeys - - def itemconfiginfo(tagOrId, slot = nil) - __itemconfiginfo_core(tagOrId, slot) - end - - def current_itemconfiginfo(tagOrId, slot = nil) - if TkComm::GET_CONFIGINFO_AS_ARRAY - if slot - org_slot = slot - begin - conf = __itemconfiginfo_core(tagOrId, slot) - if ( ! __item_configinfo_struct(tagid(tagOrId))[:alias] \ - || conf.size > __item_configinfo_struct(tagid(tagOrId))[:alias] + 1 ) - return {conf[0] => conf[-1]} - end - slot = conf[__item_configinfo_struct(tagid(tagOrId))[:alias]] - end while(org_slot != slot) - fail RuntimeError, - "there is a configure alias loop about '#{org_slot}'" - else - ret = {} - __itemconfiginfo_core(tagOrId).each{|conf| - if ( ! __item_configinfo_struct(tagid(tagOrId))[:alias] \ - || conf.size > __item_configinfo_struct(tagid(tagOrId))[:alias] + 1 ) - ret[conf[0]] = conf[-1] - end - } - ret - end - else # ! TkComm::GET_CONFIGINFO_AS_ARRAY - ret = {} - __itemconfiginfo_core(tagOrId, slot).each{|key, conf| - ret[key] = conf[-1] if conf.kind_of?(Array) - } - ret - end - end - - alias __itemcget itemcget - alias __itemconfigure itemconfigure - alias __itemconfiginfo itemconfiginfo - alias __current_itemconfiginfo current_itemconfiginfo - - private :__itemcget, :__itemconfigure - private :__itemconfiginfo, :__current_itemconfiginfo - - # Treeview Item - def itemcget(tagOrId, option) - __itemcget([:item, tagOrId], option) - end - def itemconfigure(tagOrId, slot, value=None) - __itemconfigure([:item, tagOrId], slot, value) - end - def itemconfiginfo(tagOrId, slot=nil) - __itemconfiginfo([:item, tagOrId], slot) - end - def current_itemconfiginfo(tagOrId, slot=nil) - __current_itemconfiginfo([:item, tagOrId], slot) - end - - # Treeview Column - def columncget(tagOrId, option) - __itemcget([:column, tagOrId], option) - end - def columnconfigure(tagOrId, slot, value=None) - __itemconfigure([:column, tagOrId], slot, value) - end - def columnconfiginfo(tagOrId, slot=nil) - __itemconfiginfo([:column, tagOrId], slot) - end - def current_columnconfiginfo(tagOrId, slot=nil) - __current_itemconfiginfo([:column, tagOrId], slot) - end - alias column_cget columncget - alias column_configure columnconfigure - alias column_configinfo columnconfiginfo - alias current_column_configinfo current_columnconfiginfo - - # Treeview Heading - def headingcget(tagOrId, option) - if __tile_specific_item_optkeys([:heading, tagOrId]).index(option.to_s) - begin - # On tile-0.7.{2-8}, 'state' options has no '-' at its head. - tk_call(*(__item_cget_cmd([:heading, tagOrId]) << option.to_s)) - rescue - # Maybe, 'state' option has '-' in future. - tk_call(*(__item_cget_cmd([:heading, tagOrId]) << "-#{option}")) - end - else - __itemcget([:heading, tagOrId], option) - end - end - def headingconfigure(tagOrId, slot, value=None) - if slot.kind_of?(Hash) - slot = _symbolkey2str(slot) - sp_kv = [] - __tile_specific_item_optkeys([:heading, tagOrId]).each{|k| - sp_kv << k << _get_eval_string(slot.delete(k)) if slot.has_key?(k) - } - tk_call(*(__item_config_cmd([:heading, tagOrId]).concat(sp_kv))) - tk_call(*(__item_config_cmd([:heading, tagOrId]).concat(hash_kv(slot)))) - elsif __tile_specific_item_optkeys([:heading, tagOrId]).index(slot.to_s) - begin - # On tile-0.7.{2-8}, 'state' options has no '-' at its head. - tk_call(*(__item_cget_cmd([:heading, tagOrId]) << slot.to_s << value)) - rescue - # Maybe, 'state' option has '-' in future. - tk_call(*(__item_cget_cmd([:heading, tagOrId]) << "-#{slot}" << value)) - end - else - __itemconfigure([:heading, tagOrId], slot, value) - end - self - end - def headingconfiginfo(tagOrId, slot=nil) - __itemconfiginfo([:heading, tagOrId], slot) - end - def current_headingconfiginfo(tagOrId, slot=nil) - __current_itemconfiginfo([:heading, tagOrId], slot) - end - alias heading_cget headingcget - alias heading_configure headingconfigure - alias heading_configinfo headingconfiginfo - alias current_heading_configinfo current_headingconfiginfo - - # Treeview Tag - def tagcget(tagOrId, option) - __itemcget([:tag, tagOrId], option) - end - def tagconfigure(tagOrId, slot, value=None) - __itemconfigure([:tag, tagOrId], slot, value) - end - def tagconfiginfo(tagOrId, slot=nil) - __itemconfiginfo([:tag, tagOrId], slot) - end - def current_tagconfiginfo(tagOrId, slot=nil) - __current_itemconfiginfo([:tag, tagOrId], slot) - end - alias tag_cget tagcget - alias tag_configure tagconfigure - alias tag_configinfo tagconfiginfo - alias current_tag_configinfo current_tagconfiginfo -end - -######################## - -class Tk::Tile::Treeview::Item < TkObject - ItemID_TBL = TkCore::INTERP.create_table - TkCore::INTERP.init_ip_env{ Tk::Tile::Treeview::Item::ItemID_TBL.clear } - - def self.id2obj(tree, id) - tpath = tree.path - return id unless Tk::Tile::Treeview::Item::ItemID_TBL[tpath] - (Tk::Tile::Treeview::Item::ItemID_TBL[tpath][id])? \ - Tk::Tile::Treeview::Item::ItemID_TBL[tpath][id]: id - end - - def self.assign(tree, id) - tpath = tree.path - if Tk::Tile::Treeview::Item::ItemID_TBL[tpath] && - Tk::Tile::Treeview::Item::ItemID_TBL[tpath][id] - return Tk::Tile::Treeview::Item::ItemID_TBL[tpath][id] - end - - obj = self.allocate - obj.instance_eval{ - @parent = @t = tree - @tpath = tpath - @path = @id = id - } - ItemID_TBL[tpath] = {} unless ItemID_TBL[tpath] - Tk::Tile::Treeview::Item::ItemID_TBL[tpath][id] = obj - obj - end - - def _insert_item(tree, parent_item, idx, keys={}) - keys = _symbolkey2str(keys) - id = keys.delete('id') - if id - num_or_str(tk_call(tree, 'insert', - parent_item, idx, '-id', id, *hash_kv(keys))) - else - num_or_str(tk_call(tree, 'insert', parent_item, idx, *hash_kv(keys))) - end - end - private :_insert_item - - def initialize(tree, parent_item = '', idx = 'end', keys = {}) - if parent_item.kind_of?(Hash) - keys = parent_item - idx = 'end' - parent_item = '' - elsif idx.kind_of?(Hash) - keys = idx - idx = 'end' - end - - @parent = @t = tree - @tpath = tree.path - @path = @id = _insert_item(@t, parent_item, idx, keys) - ItemID_TBL[@tpath] = {} unless ItemID_TBL[@tpath] - ItemID_TBL[@tpath][@id] = self - end - def id - @id - end - - def cget(option) - @t.itemcget(@id, option) - end - - def configure(key, value=None) - @t.itemconfigure(@id, key, value) - self - end - - def configinfo(key=nil) - @t.itemconfiginfo(@id, key) - end - - def current_configinfo(key=nil) - @t.current_itemconfiginfo(@id, key) - end - - def open? - cget('open') - end - def open - configure('open', true) - self - end - def close - configure('open', false) - self - end - - def bbox(column=None) - @t.bbox(@id, column) - end - - def children - @t.children(@id) - end - def set_children(*items) - @t.set_children(@id, *items) - self - end - - def delete - @t.delete(@id) - self - end - - def detach - @t.detach(@id) - self - end - - def exist? - @t.exist?(@id) - end - - def focus - @t.focus_item(@id) - end - - def index - @t.index(@id) - end - - def insert(idx='end', keys={}) - @t.insert(@id, idx, keys) - end - - def move(parent, idx) - @t.move(@id, parent, idx) - self - end - - def next_item - @t.next_item(@id) - end - - def parent_item - @t.parent_item(@id) - end - - def prev_item - @t.prev_item(@id) - end - - def see - @t.see(@id) - self - end - - def selection_add - @t.selection_add(@id) - self - end - - def selection_remove - @t.selection_remove(@id) - self - end - - def selection_set - @t.selection_set(@id) - self - end - - def selection_toggle - @t.selection_toggle(@id) - self - end - - def get_directory - @t.get_directory(@id) - end - alias get_dictionary get_directory - - def get(col) - @t.get(@id, col) - end - - def set(col, value) - @t.set(@id, col, value) - end -end - -######################## - -class Tk::Tile::Treeview::Root < Tk::Tile::Treeview::Item - def self.new(tree, keys = {}) - tpath = tree.path - if Tk::Tile::Treeview::Item::ItemID_TBL[tpath] && - Tk::Tile::Treeview::Item::ItemID_TBL[tpath][''] - Tk::Tile::Treeview::Item::ItemID_TBL[tpath][''] - else - super(tree, keys) - end - end - - def initialize(tree, keys = {}) - @parent = @t = tree - @tpath = tree.path - @path = @id = '' - unless Tk::Tile::Treeview::Item::ItemID_TBL[@tpath] - Tk::Tile::Treeview::Item::ItemID_TBL[@tpath] = {} - end - Tk::Tile::Treeview::Item::ItemID_TBL[@tpath][@id] = self - end -end - -######################## - -class Tk::Tile::Treeview::Tag < TkObject - include TkTreatTagFont - - TagID_TBL = TkCore::INTERP.create_table - Tag_ID = ['tile_treeview_tag'.freeze, '00000'.taint].freeze - - TkCore::INTERP.init_ip_env{ Tk::Tile::Treeview::Tag::TagID_TBL.clear } - - def self.id2obj(tree, id) - tpath = tree.path - return id unless Tk::Tile::Treeview::Tag::TagID_TBL[tpath] - (Tk::Tile::Treeview::Tag::TagID_TBL[tpath][id])? \ - Tk::Tile::Treeview::Tag::TagID_TBL[tpath][id]: id - end - - def initialize(tree, keys=nil) - @parent = @t = tree - @tpath = tree.path - @path = @id = Tag_ID.join(TkCore::INTERP._ip_id_) - TagID_TBL[@tpath] = {} unless TagID_TBL[@tpath] - TagID_TBL[@tpath][@id] = self - Tag_ID[1].succ! - if keys && keys != None - tk_call_without_enc(@tpath, 'tag', 'configure', *hash_kv(keys, true)) - end - end - def id - @id - end - - def bind(seq, *args) - if TkComm._callback_entry?(args[0]) || !block_given? - cmd = args.shift - else - cmd = Proc.new - end - @t.tag_bind(@id, seq, cmd, *args) - self - end - - def bind_append(seq, *args) - if TkComm._callback_entry?(args[0]) || !block_given? - cmd = args.shift - else - cmd = Proc.new - end - @t.tag_bind_append(@id, seq, cmd, *args) - self - end - - def bind_remove(seq) - @t.tag_bind_remove(@id, seq) - self - end - - def bindinfo(seq=nil) - @t.tag_bindinfo(@id, seq) - end - - def cget(option) - @t.tagcget(@id, option) - end - - def configure(key, value=None) - @t.tagconfigure(@id, key, value) - self - end - - def configinfo(key=nil) - @t.tagconfiginfo(@id, key) - end - - def current_configinfo(key=nil) - @t.current_tagconfiginfo(@id, key) - end -end - -######################## - -class Tk::Tile::Treeview < TkWindow - include Tk::Tile::TileWidget - include Scrollable - - include Tk::Tile::TreeviewConfig - - if Tk::Tile::USE_TTK_NAMESPACE - TkCommandNames = ['::ttk::treeview'.freeze].freeze - else - TkCommandNames = ['::treeview'.freeze].freeze - end - WidgetClassName = 'Treeview'.freeze - WidgetClassNames[WidgetClassName] = self - - def __destroy_hook__ - Tk::Tile::Treeview::Item::ItemID_TBL.delete(@path) - Tk::Tile::Treeview::Tag::ItemID_TBL.delete(@path) - end - - def self.style(*args) - [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') - end - - def tagid(id) - if id.kind_of?(Tk::Tile::Treeview::Item) || - id.kind_of?(Tk::Tile::Treeview::Tag) - id.id - elsif id.kind_of?(Array) - [id[0], _get_eval_string(id[1])] - else - _get_eval_string(id) - end - end - - def root - Tk::Tile::Treeview::Root.new(self) - end - - def bbox(item, column=None) - list(tk_send('item', 'bbox', item, column)) - end - - def children(item) - simplelist(tk_send_without_enc('children', item)).collect{|id| - Tk::Tile::Treeview::Item.id2obj(self, id) - } - end - def set_children(item, *items) - tk_send_without_enc('children', item, - array2tk_list(items.flatten, true)) - self - end - - def delete(*items) - tk_send_without_enc('delete', array2tk_list(items.flatten, true)) - self - end - - def detach(*items) - tk_send_without_enc('detach', array2tk_list(items.flatten, true)) - self - end - - def exist?(item) - bool(tk_send_without_enc('exists', _get_eval_enc_str(item))) - end - - def focus_item(item = nil) - if item - tk_send('focus', item) - item - else - id = tk_send('focus') - (id.empty?)? nil: Tk::Tile::Treeview::Item.id2obj(self, id) - end - end - - def identify(x, y) - # tile-0.7.2 or previous - ret = simplelist(tk_send('identify', x, y)) - case ret[0] - when 'heading', 'separator' - ret[-1] = num_or_str(ret[-1]) - when 'cell' - ret[1] = Tk::Tile::Treeview::Item.id2obj(self, ret[1]) - ret[-1] = num_or_str(ret[-1]) - when 'item', 'row' - ret[1] = Tk::Tile::Treeview::Item.id2obj(self, ret[1]) - end - end - - def row_identify(x, y) - id = tk_send('identify', 'row', x, y) - (id.empty?)? nil: Tk::Tile::Treeview::Item.id2obj(self, id) - end - - def column_identify(x, y) - tk_send('identify', 'column', x, y) - end - - def index(item) - number(tk_send('index', item)) - end - - # def insert(parent, idx='end', keys={}) - # keys = _symbolkey2str(keys) - # id = keys.delete('id') - # if id - # num_or_str(tk_send('insert', parent, idx, '-id', id, *hash_kv(keys))) - # else - # num_or_str(tk_send('insert', parent, idx, *hash_kv(keys))) - # end - # end - def insert(parent, idx='end', keys={}) - Tk::Tile::Treeview::Item.new(self, parent, idx, keys) - end - - # def instate(spec, cmd=Proc.new) - # tk_send('instate', spec, cmd) - # end - # def state(spec=None) - # tk_send('state', spec) - # end - - def move(item, parent, idx) - tk_send('move', item, parent, idx) - self - end - - def next_item(item) - id = tk_send('next', item) - (id.empty?)? nil: Tk::Tile::Treeview::Item.id2obj(self, id) - end - - def parent_item(item) - if (id = tk_send('parent', item)).empty? - Tk::Tile::Treeview::Root.new(self) - else - Tk::Tile::Treeview::Item.id2obj(self, id) - end - end - - def prev_item(item) - id = tk_send('prev', item) - (id.empty?)? nil: Tk::Tile::Treeview::Item.id2obj(self, id) - end - - def see(item) - tk_send('see', item) - self - end - - def selection - simplelist(tk_send('selection')).collect{|id| - Tk::Tile::Treeview::Item.id2obj(self, id) - } - end - alias selection_get selection - - def selection_add(*items) - tk_send('selection', 'add', array2tk_list(items.flatten, true)) - self - end - def selection_remove(*items) - tk_send('selection', 'remove', array2tk_list(items.flatten, true)) - self - end - def selection_set(*items) - tk_send('selection', 'set', array2tk_list(items.flatten, true)) - self - end - def selection_toggle(*items) - tk_send('selection', 'toggle', array2tk_list(items.flatten, true)) - self - end - - def get_directory(item) - # tile-0.7+ - ret = [] - lst = simplelist(tk_send('set', item)) - until lst.empty? - col = lst.shift - val = lst.shift - ret << [col, val] - end - ret - end - alias get_dictionary get_directory - - def get(item, col) - tk_send('set', item, col) - end - def set(item, col, value) - tk_send('set', item, col, value) - self - end - - def tag_bind(tag, seq, *args) - if TkComm._callback_entry?(args[0]) || !block_given? - cmd = args.shift - else - cmd = Proc.new - end - _bind([@path, 'tag', 'bind', tag], seq, cmd, *args) - self - end - alias tagbind tag_bind - - def tag_bind_append(tag, seq, *args) - if TkComm._callback_entry?(args[0]) || !block_given? - cmd = args.shift - else - cmd = Proc.new - end - _bind_append([@path, 'tag', 'bind', tag], seq, cmd, *args) - self - end - alias tagbind_append tag_bind_append - - def tag_bind_remove(tag, seq) - _bind_remove([@path, 'tag', 'bind', tag], seq) - self - end - alias tagbind_remove tag_bind_remove - - def tag_bindinfo(tag, context=nil) - _bindinfo([@path, 'tag', 'bind', tag], context) - end - alias tagbindinfo tag_bindinfo -end diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tscale.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tscale.rb deleted file mode 100644 index 7ec72e3515..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tscale.rb +++ /dev/null @@ -1,50 +0,0 @@ -# -# tscale & tprogress widget -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -require 'tk' -require 'tkextlib/tile.rb' - -module Tk - module Tile - class TScale < TkScale - end - Scale = TScale - - class TProgress < TScale - end - Progress = TProgress - end -end - -class Tk::Tile::TScale < TkScale - include Tk::Tile::TileWidget - - if Tk::Tile::USE_TTK_NAMESPACE - TkCommandNames = ['::ttk::scale'.freeze].freeze - else - TkCommandNames = ['::tscale'.freeze].freeze - end - WidgetClassName = 'TScale'.freeze - WidgetClassNames[WidgetClassName] = self - - def self.style(*args) - [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') - end -end - -class Tk::Tile::TProgress < Tk::Tile::TScale - include Tk::Tile::TileWidget - - if Tk::Tile::USE_TTK_NAMESPACE - TkCommandNames = ['::ttk::progress'.freeze].freeze - else - TkCommandNames = ['::tprogress'.freeze].freeze - end - WidgetClassName = 'TProgress'.freeze - WidgetClassNames[WidgetClassName] = self - - def self.style(*args) - [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') - end -end diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tscrollbar.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tscrollbar.rb deleted file mode 100644 index bd49ae18e3..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tscrollbar.rb +++ /dev/null @@ -1,30 +0,0 @@ -# -# tscrollbar widget -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -require 'tk' -require 'tkextlib/tile.rb' - -module Tk - module Tile - class TScrollbar < TkScrollbar - end - Scrollbar = TScrollbar - end -end - -class Tk::Tile::TScrollbar < TkScrollbar - include Tk::Tile::TileWidget - - if Tk::Tile::USE_TTK_NAMESPACE - TkCommandNames = ['::ttk::scrollbar'.freeze].freeze - else - TkCommandNames = ['::tscrollbar'.freeze].freeze - end - WidgetClassName = 'TScrollbar'.freeze - WidgetClassNames[WidgetClassName] = self - - def self.style(*args) - [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') - end -end diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tseparator.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tseparator.rb deleted file mode 100644 index ca731d4e5b..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tseparator.rb +++ /dev/null @@ -1,30 +0,0 @@ -# -# tseparator widget -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -require 'tk' -require 'tkextlib/tile.rb' - -module Tk - module Tile - class TSeparator < TkWindow - end - Separator = TSeparator - end -end - -class Tk::Tile::TSeparator < TkWindow - include Tk::Tile::TileWidget - - if Tk::Tile::USE_TTK_NAMESPACE - TkCommandNames = ['::ttk::separator'.freeze].freeze - else - TkCommandNames = ['::tseparator'.freeze].freeze - end - WidgetClassName = 'TSeparator'.freeze - WidgetClassNames[WidgetClassName] = self - - def self.style(*args) - [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') - end -end diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tsquare.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tsquare.rb deleted file mode 100644 index 600b55e4e7..0000000000 --- a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/tsquare.rb +++ /dev/null @@ -1,30 +0,0 @@ -# -# tsquare widget -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -require 'tk' -require 'tkextlib/tile.rb' - -module Tk - module Tile - class TSquare < TkWindow - end - Square = TSquare - end -end - -class Tk::Tile::TSquare < TkWindow - include Tk::Tile::TileWidget - - if Tk::Tile::USE_TTK_NAMESPACE - TkCommandNames = ['::ttk::square'.freeze].freeze - else - TkCommandNames = ['::tsquare'.freeze].freeze - end - WidgetClassName = 'TSquare'.freeze - WidgetClassNames[WidgetClassName] = self - - def self.style(*args) - [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') - end -end |