aboutsummaryrefslogtreecommitdiffstats
path: root/ext/tk/sample/tkalignbox.rb
diff options
context:
space:
mode:
authornagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-12 23:08:32 +0000
committernagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-12 23:08:32 +0000
commited6ce8b43b6f25df1d4809ac799de4dd1c85c1f3 (patch)
tree09bc05d679d0f224a29fee44d10beea321bdc0b5 /ext/tk/sample/tkalignbox.rb
parente13fb8029b87943ab8af2211226b7c9347d3976d (diff)
downloadruby-ed6ce8b43b6f25df1d4809ac799de4dd1c85c1f3.tar.gz
* ext/tk/extconf.rb: New strategy for searching Tcl/Tk libraries.
* ext/tk/*: Support new features of Tcl/Tk8.6b1 and minor bug fixes. ( [KNOWN BUG] Ruby/Tk on Ruby 1.9 will not work on Cygwin. ) * ext/tk/*: Unify sources between Ruby 1.8 & 1.9. Improve default_widget_set handling. * ext/tk/*: Multi-TkInterpreter (multi-tk.rb) works on Ruby 1.8 & 1.9. ( [KNOWN BUG] On Ruby 1.8, join to a long term Thread on Tk callbacks may freeze. On Ruby 1.9, cannot create a second master interpreter (creating slaves are OK); supported master interpreter is the default master interpreter only. ) * ext/tk/lib/tkextlib/*: Update supported versions of Tk extensions. Tcllib 1.8/Tklib 0.4.1 ==> Tcllib 1.11.1/Tklib 0.5 BWidgets 1.7 ==> BWidgets 1.8 TkTable 2.9 ==> TkTable 2.10 TkTreeCtrl 2005-12-02 ==> TkTreeCtrl 2.2.9 Tile 0.8.0/8.5.1 ==> Tile 0.8.3/8.6b1 IncrTcl 2005-02-14 ==> IncrTcl 2008-12-15 TclX 2005-02-07 ==> TclX 2008-12-15 Trofs 0.4.3 ==> Trofs 0.4.4 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/sample/tkalignbox.rb')
-rw-r--r--ext/tk/sample/tkalignbox.rb44
1 files changed, 27 insertions, 17 deletions
diff --git a/ext/tk/sample/tkalignbox.rb b/ext/tk/sample/tkalignbox.rb
index dd82b50360..fb1b58f458 100644
--- a/ext/tk/sample/tkalignbox.rb
+++ b/ext/tk/sample/tkalignbox.rb
@@ -10,10 +10,17 @@
require 'tk'
-class TkAlignBox < TkFrame
+module Tk
+ module RbWidget
+ class AlignBox < TkFrame
+ end
+ end
+end
+
+class Tk::RbWidget::AlignBox < TkFrame
def initialize(*args)
- if self.class == TkAlignBox
- fail RuntimeError, "TkAlignBox is an abstract class"
+ if self.class == Tk::RbWidget::AlignBox
+ fail RuntimeError, "Tk::AlignBox is an abstract class"
end
@padx = 0
@pady = 0
@@ -31,12 +38,12 @@ class TkAlignBox < TkFrame
end
def _set_framesize
- fail RuntimeError, "TkAlignBox is an abstract class"
+ fail RuntimeError, "Tk::AlignBox is an abstract class"
end
private :_set_framesize
def _place_config(widget, idx, cnt)
- fail RuntimeError, "TkAlignBox is an abstract class"
+ fail RuntimeError, "Tk::AlignBox is an abstract class"
end
private :_place_config
@@ -117,7 +124,7 @@ class TkAlignBox < TkFrame
attr_accessor :propagate
end
-class TkHBox < TkAlignBox
+class Tk::RbWidget::HBox < Tk::RbWidget::AlignBox
def _set_framesize
bd = self.borderwidth
self.width((@max_width + 2*@padx) * @widgets.size + 2*bd)
@@ -134,9 +141,9 @@ class TkHBox < TkAlignBox
end
private :_place_config
end
-TkHLBox = TkHBox
+Tk::RbWidget::HLBox = Tk::RbWidget::HBox
-class TkHRBox < TkHBox
+class Tk::RbWidget::HRBox < Tk::RbWidget::HBox
def _place_config(widget, idx, cnt)
widget.place_in(self,
'relx'=>(cnt - idx - 1)/cnt, 'x'=>@padx,
@@ -147,7 +154,7 @@ class TkHRBox < TkHBox
private :_place_config
end
-class TkVBox < TkAlignBox
+class Tk::RbWidget::VBox < Tk::RbWidget::AlignBox
def _set_framesize
bd = self.borderwidth
self.width(@max_width + 2*@padx + 2*bd)
@@ -164,9 +171,9 @@ class TkVBox < TkAlignBox
end
private :_place_config
end
-TkVTBox = TkVBox
+Tk::RbWidget::VTBox = Tk::RbWidget::VBox
-class TkVBBox < TkVBox
+class Tk::RbWidget::VBBox < Tk::RbWidget::VBox
def _place_config(widget, idx, cnt)
widget.place_in(self,
'relx'=>0, 'x'=>@padx,
@@ -181,31 +188,34 @@ end
# test
################################################
if __FILE__ == $0
- f = TkHBox.new(:borderwidth=>3, :relief=>'ridge').pack
+ f = Tk::RbWidget::HBox.new(:borderwidth=>3, :relief=>'ridge').pack
f.add(TkButton.new(f, :text=>'a'),
TkButton.new(f, :text=>'aa', :font=>'Helvetica 16'),
TkButton.new(f, :text=>'aaa'),
TkButton.new(f, :text=>'aaaa'))
- f = TkHBox.new(:borderwidth=>3, :relief=>'ridge',
- :padx=>7, :pady=>3, :background=>'yellow').pack
+ f = Tk::RbWidget::HBox.new(:borderwidth=>3, :relief=>'ridge',
+ :padx=>7, :pady=>3, :background=>'yellow').pack
f.add(TkButton.new(f, :text=>'a'),
TkButton.new(f, :text=>'aa', :font=>'Helvetica 16'),
TkButton.new(f, :text=>'aaa'),
TkButton.new(f, :text=>'aaaa'))
- f = TkVBox.new(:borderwidth=>5, :relief=>'groove').pack
+ f = Tk::RbWidget::VBox.new(:borderwidth=>5,
+ :relief=>'groove').pack(:fill=>:y, :expand=>true)
f.add(TkButton.new(f, :text=>'a'),
TkButton.new(f, :text=>'aa', :font=>'Helvetica 30'),
TkButton.new(f, :text=>'aaa'),
TkButton.new(f, :text=>'aaaa'))
- f = TkHRBox.new(:borderwidth=>3, :relief=>'raised').pack(:fill=>:x)
+ f = Tk::RbWidget::HRBox.new(:borderwidth=>3,
+ :relief=>'raised').pack(:fill=>:x)
f.add(TkButton.new(f, :text=>'a'),
TkButton.new(f, :text=>'aa'),
TkButton.new(f, :text=>'aaa'))
- f = TkVBBox.new(:borderwidth=>3, :relief=>'ridge').pack(:fill=>:x)
+ f = Tk::RbWidget::VBBox.new(:borderwidth=>3,
+ :relief=>'ridge').pack(:fill=>:x)
f.propagate = false
f.height 100
f.add(TkFrame.new(f){|ff|