require 'tk' class TkdConfigure def initialize( canvas ) @c = canvas @key = '' @value = '' end def dialog( target ) w = TkToplevel.new f_key = TkFrame.new(w).pack l_key = TkLabel.new(f_key, 'text'=>'key', 'width'=>15) l_key.pack('side'=>'left') e_key = TkEntry.new(f_key) e_key.insert(0, @key) e_key.pack('side'=>'left') f_value = TkFrame.new(w).pack l_value = TkLabel.new(f_value, 'text'=>'value', 'width'=>15) l_value.pack('side'=>'left') e_value = TkEntry.new(f_value) e_value.insert(0, @value) e_value.pack('side'=>'left') infomessage = TkMessage.new(w).pack fb = TkFrame.new(w).pack TkButton.new(fb, 'text'=>'info', 'command'=>proc{ infomessage.text( @c.itemconfiginfo( target ).inspect) } ).pack('side'=>'left') TkButton.new(fb, 'text'=>'apply', 'command'=>proc{ @key = e_key.value @value = e_value.value @c.itemconfigure( target, @key=>@value ) }).pack('side'=>'left') TkButton.new(fb, 'text'=>'dismiss', 'command'=>proc{ w.destroy } ).pack('side'=>'left') end end