From fcbf63e62c627deae76c1b8cb8c0876c536ed811 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Mon, 16 Mar 2020 18:49:26 +0900 Subject: Fresh start --- jni/ruby/ext/tk/lib/tkextlib/tcllib/panelframe.rb | 78 +++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 jni/ruby/ext/tk/lib/tkextlib/tcllib/panelframe.rb (limited to 'jni/ruby/ext/tk/lib/tkextlib/tcllib/panelframe.rb') diff --git a/jni/ruby/ext/tk/lib/tkextlib/tcllib/panelframe.rb b/jni/ruby/ext/tk/lib/tkextlib/tcllib/panelframe.rb new file mode 100644 index 0000000..020c51c --- /dev/null +++ b/jni/ruby/ext/tk/lib/tkextlib/tcllib/panelframe.rb @@ -0,0 +1,78 @@ +# +# tkextlib/tcllib/panelframe.rb +# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) +# +# * Part of tcllib extension +# * Create PanelFrame widgets. +# + +require 'tk' +require 'tkextlib/tcllib.rb' + +# TkPackage.require('widget::panelframe', '1.0') +TkPackage.require('widget::panelframe') + +module Tk::Tcllib + module Widget + class PanelFrame < TkWindow + PACKAGE_NAME = 'widget::panelframe'.freeze + def self.package_name + PACKAGE_NAME + end + + def self.package_version + begin + TkPackage.require('widget::panelframe') + rescue + '' + end + end + end + Panelframe = PanelFrame + end +end + +class Tk::Tcllib::Widget::PanelFrame + TkCommandNames = ['::widget::panelframe'.freeze].freeze + + def create_self(keys) + if keys and keys != None + tk_call_without_enc(self.class::TkCommandNames[0], @path, + *hash_kv(keys, true)) + else + tk_call_without_enc(self.class::TkCommandNames[0], @path) + end + end + private :create_self + + def add(what, *args) + window(tk_send('add', *args)) + end + + #def get_frame + # window(tk_send('getframe')) + #end + + def set_widget(widget) + tk_send('setwidget', widget) + self + end + + def remove(*wins) + tk_send('remove', *wins) + self + end + def remove_destroy(*wins) + tk_send('remove', '-destroy', *wins) + self + end + + def delete(*wins) + tk_send('delete', *wins) + self + end + + def items + simplelist(tk_send('items')).collect!{|w| window(w)} + end +end -- cgit v1.2.3