diff options
Diffstat (limited to 'ruby_1_8_6/ext/tk/sample/editable_listbox.rb')
-rw-r--r-- | ruby_1_8_6/ext/tk/sample/editable_listbox.rb | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/ruby_1_8_6/ext/tk/sample/editable_listbox.rb b/ruby_1_8_6/ext/tk/sample/editable_listbox.rb deleted file mode 100644 index 99345da380..0000000000 --- a/ruby_1_8_6/ext/tk/sample/editable_listbox.rb +++ /dev/null @@ -1,69 +0,0 @@ -# -# Editable_TkListbox class -# -# When "DoubleClick-1" on a listbox item, the entry box is opend on the -# item. And when hit "Return" key on the entry box after modifying the -# text, the entry box is closed and the item is changed. Or when hit -# "Escape" key, the entry box is closed without modification. -# -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -require 'tk' - -class Editable_TkListbox < TkListbox - def _ebox_placer(coord_y) - idx = self.nearest(coord_y) - x, y, w, h = self.bbox(idx) - @ebox.place(:x => 0, :relwidth => 1.0, - :y => y - self.selectborderwidth, - :height => h + 2 * self.selectborderwidth) - @ebox.pos = idx - @ebox.value = self.listvariable.list[idx] - @ebox.focus - end - private :_ebox_placer - - - def create_self(keys) - super(keys) - - unless self.listvariable - self.listvariable = TkVariable.new(self.get(0, :end)) - end - - @ebox = TkEntry.new(self){ - @pos = -1 - def self.pos; @pos; end - def self.pos=(idx); @pos = idx; end - } - - @ebox.bind('Return'){ - list = self.listvariable.list - list[@ebox.pos] = @ebox.value - self.listvariable.value = list - @ebox.place_forget - @ebox.pos = -1 - } - - @ebox.bind('Escape'){ - @ebox.place_forget - @ebox.pos = -1 - } - - self.bind('Double-1', '%y'){|y| _ebox_placer(y) } - end -end - -if $0 == __FILE__ - scr = TkScrollbar.new.pack(:side=>:right, :fill=>:y) - - lbox1 = Editable_TkListbox.new.pack(:side=>:left) - lbox2 = Editable_TkListbox.new.pack(:side=>:left) - - scr.assign(lbox1, lbox2) - - lbox1.insert(:end, *%w(a b c d e f g h i j k l m n)) - lbox2.insert(:end, 0,1,2,3,4,5,6,7,8,9,0,1,2,3) - - Tk.mainloop -end |