diff options
author | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-07-15 01:18:57 +0000 |
---|---|---|
committer | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-07-15 01:18:57 +0000 |
commit | ce1b23b7a5a496f4b6d3ad4627a161b1dc6945fe (patch) | |
tree | d7dca8b035286a8a852c021318fa04a4efa43aa8 /ext/tk/sample/tkextlib/iwidgets/sample/menubar2.rb | |
parent | 6c6a24826c5fda68e04e71ac17620b0e70bca265 (diff) |
* ext/tk/, ext/tcltklib/: bug fix
* ext/tk/lib/tk.rb: better operation for SIGINT when processing callbacks.
* ext/tk/lib/tk/msgcat.rb: ditto.
* ext/tk/lib/tk/variable.rb: ditto.
* ext/tk/lib/tk/timer.rb: ditto.
* ext/tk/lib/tk/validation.rb: add Tk::ValidateConfigure.__def_validcmd()
to define validatecommand methods easier
* ext/tk/lib/tk.rb (_genobj_for_tkwidget): support autoload Tk ext classes
* ext/tk/lib/tk/canvas.rb and so on: remove the parent widget type check
for items (e.g. canvas items; depends on the class) to avoid some troubles
on Tk extension widget class definition.
* ext/tk/lib/tkextlib/: add Iwidget and TkTable extension support
* ext/tk/sample/tkextlib/: add samples of Iwidget and TkTable
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/sample/tkextlib/iwidgets/sample/menubar2.rb')
-rw-r--r-- | ext/tk/sample/tkextlib/iwidgets/sample/menubar2.rb | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/menubar2.rb b/ext/tk/sample/tkextlib/iwidgets/sample/menubar2.rb new file mode 100644 index 0000000000..eec4928afb --- /dev/null +++ b/ext/tk/sample/tkextlib/iwidgets/sample/menubar2.rb @@ -0,0 +1,44 @@ +#!/usr/bin/env ruby +require 'tk' +require 'tkextlib/iwidgets' + +helpvar = TkVariable.new +viewmode = TkVariable.new + +mb = Tk::Iwidgets::Menubar.new +mb.menubuttons = [ + [:menubutton, 'file', { + :text=>'File', :menu=>[ + [:command, 'new', {:label=>'New'}], + [:command, 'close', {:label=>'Close'}], + [:separator, 'sep1'], + [:command, 'quit', {:label=>'Quit'}] + ] + } + ], + [:menubutton, 'edit', {:text=>'Edit'}] +] + +mb.add(:command, '.edit.undo', :label=>'Undo', :underline=>0) +mb.add(:separator, '.edit.sep2') +mb.add(:command, '.edit.cut', :label=>'Cut', :underline=>1) +mb.add(:command, '.edit.copy', :label=>'Copy', :underline=>1) +mb.add(:command, '.edit.paste', :label=>'Paste', :underline=>0) + +mb.add(:menubutton, '.options', :text=>'Options', :menu=>[ + [:radiobutton, 'byName', { + :variable=>viewmode, :value=>'NAME', :label=>'by Name'} + ], + [:radiobutton, 'byDate', { + :variable=>viewmode, :value=>'DATE', :label=>'by Date'} + ] + ]) + +mb.add(:cascade, '.options.prefs', :label=>'Preferences', :menu=>[ + [:command, 'colors', {:label=>'Colors...'}], + [:command, 'fonts', {:label=>'Fonts...'}] + ]) + +mb.pack(:side=>:left, :anchor=>:nw, :fill=>:x, :expand=>true) + +Tk.mainloop |