diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:13:14 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:13:14 +0000 |
commit | d0233291bc8a5068e52c69c210e5979e5324b5bc (patch) | |
tree | 7d9459449c33792c63eeb7baa071e76352e0baab /trunk/ext/tk/sample/editable_listbox.rb | |
parent | 0dc342de848a642ecce8db697b8fecd83a63e117 (diff) | |
parent | 72eaacaa15256ab95c3b52ea386f88586fb9da40 (diff) |
re-adding tag v1_9_0_4 as an alias of trunk@18848v1_9_0_4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_9_0_4@18849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'trunk/ext/tk/sample/editable_listbox.rb')
-rw-r--r-- | trunk/ext/tk/sample/editable_listbox.rb | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/trunk/ext/tk/sample/editable_listbox.rb b/trunk/ext/tk/sample/editable_listbox.rb deleted file mode 100644 index 99345da380..0000000000 --- a/trunk/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 |