1#!/usr/bin/env ruby 2######################################################### 3# 4# set $KCODE to 'utf' for a utf8 charecter 5# 6######################################################### 7unless defined?(::Encoding.default_external) 8 $KCODE='utf' 9else 10 DEFAULT_TK_ENCODING = 'UTF-8' 11end 12 13require 'tk' 14require 'tkextlib/iwidgets' 15 16TkOption.add('*textBackground', 'white') 17 18ef = Tk::Iwidgets::Entryfield.new(:command=>proc{puts "Return Pressed"}) 19 20fef = Tk::Iwidgets::Entryfield.new(:labeltext=>'Fixed:', 21 :fixed=>10, :width=>12) 22 23nef = Tk::Iwidgets::Entryfield.new(:labeltext=>'Numeric:', 24 :validate=>:numeric, :width=>12) 25 26aef = Tk::Iwidgets::Entryfield.new(:labeltext=>'Alphabetic:', 27 :validate=>:alphabetic, :width=>12, 28 :invalid=>proc{ 29 puts "Alphabetic contents invalid" 30 }) 31 32pef = Tk::Iwidgets::Entryfield.new(:labeltext=>'Password:', :width=>12, 33 :show=>"\267", ## <=== utf8 character 34 :command=>proc{puts "Return Pressed"}) 35 36Tk::Iwidgets::Labeledwidget.alignlabels(ef, fef, nef, aef, pef) 37 38ef.pack(:fil=>:x, :expand=>true, :padx=>10, :pady=>5) 39fef.pack(:fil=>:x, :expand=>true, :padx=>10, :pady=>5) 40nef.pack(:fil=>:x, :expand=>true, :padx=>10, :pady=>5) 41aef.pack(:fil=>:x, :expand=>true, :padx=>10, :pady=>5) 42pef.pack(:fil=>:x, :expand=>true, :padx=>10, :pady=>5) 43 44Tk.mainloop 45