aboutsummaryrefslogtreecommitdiffstats
path: root/ext/tk/lib/tkextlib/bwidget/pagesmanager.rb
diff options
context:
space:
mode:
authornagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-07-06 09:42:12 +0000
committernagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-07-06 09:42:12 +0000
commitd8465ff9abf63545262b7d8f88b069522ae82823 (patch)
treeea1597d41d1de11febd12cc38b71838e0691bfcb /ext/tk/lib/tkextlib/bwidget/pagesmanager.rb
parent3d8fa5556164f3aa2f6f1733ffe4a96fc4f33ed8 (diff)
downloadruby-d8465ff9abf63545262b7d8f88b069522ae82823.tar.gz
* ext/tk/lib : improve framework of developping Tcl/Tk extension wrappers
* BWidget extension support on Ruby/Tk git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/lib/tkextlib/bwidget/pagesmanager.rb')
-rw-r--r--ext/tk/lib/tkextlib/bwidget/pagesmanager.rb61
1 files changed, 61 insertions, 0 deletions
diff --git a/ext/tk/lib/tkextlib/bwidget/pagesmanager.rb b/ext/tk/lib/tkextlib/bwidget/pagesmanager.rb
new file mode 100644
index 0000000000..fc01284be6
--- /dev/null
+++ b/ext/tk/lib/tkextlib/bwidget/pagesmanager.rb
@@ -0,0 +1,61 @@
+#
+# tkextlib/bwidget/pagesmanager.rb
+# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
+#
+
+require 'tk'
+require 'tk/frame'
+require 'tkextlib/bwidget.rb'
+
+module Tk
+ module BWidget
+ class PagesManager < TkWindow
+ end
+ end
+end
+
+class Tk::BWidget::PagesManager
+ TkCommandNames = ['PagesManager'.freeze].freeze
+ WidgetClassName = 'PagesManager'.freeze
+ WidgetClassNames[WidgetClassName] = self
+
+ def tagid(id)
+ # id.to_s
+ _get_eval_string(id)
+ end
+
+ def add(page, &b)
+ win = window(tk_send('add', tagid(page)))
+ win.instance_eval(&b) if b
+ win
+ end
+
+ def compute_size
+ tk_send('compute_size')
+ self
+ end
+
+ def delete(page)
+ tk_send('delete', tagid(page))
+ self
+ end
+
+ def get_frame(page, &b)
+ win = window(tk_send('getframe', tagid(page)))
+ win.instance_eval(&b) if b
+ win
+ end
+
+ def get_page(page)
+ tk_send('pages', page)
+ end
+
+ def pages(first=None, last=None)
+ list(tk_send('pages', first, last))
+ end
+
+ def raise(page=None)
+ tk_send('raise', page)
+ self
+ end
+end