ruby--ruby/ext/tk/lib/tkextlib/bwidget/widget.rb

130 lines
2.9 KiB
Ruby

#
# tkextlib/bwidget/widget.rb
# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
#
require 'tk'
require 'tkextlib/bwidget.rb'
module Tk
module BWidget
module Widget
end
end
end
module Tk::BWidget::Widget
include Tk
extend Tk
def self.__pathname
'Widget::configure'
end
def self.__cget_cmd
['Widget::cget']
end
def self.__config_cmd
['Widget::configure']
end
def self.cget_strict(slot)
slot = slot.to_s
info = {}
self.current_configinfo.each{|k,v| info[k.to_s] = v if k.to_s == slot}
fail RuntimeError, "unknown option \"-#{slot}\"" if info.empty?
info.values[0]
end
def self.cget(slot)
self.current_configinfo(slot).values[0]
end
def self.add_map(klass, subclass, subpath, opts)
tk_call('Widget::addmap', klass, subclass, subpath, opts)
end
def self.bwinclude(klass, subclass, subpath, *args)
tk_call('Widget::bwinclude', klass, subclass, subpath, *args)
end
def self.create(klass, path, rename=None, &b)
win = window(tk_call('Widget::create', klass, path, rename))
if b
if TkCore::WITH_RUBY_VM ### Ruby 1.9 !!!!
win.instance_exec(self, &b)
else
win.instance_eval(&b)
end
end
win
end
def self.declare(klass, optlist)
tk_call('Widget::declare', klass, optlist)
end
def self.define(klass, filename, *args)
tk_call('Widget::define', klass, filename, *args)
end
def self.destroy(win)
tk_call('Widget::destroy', _epath(win))
end
def self.focus_next(win)
tk_call('Widget::focusNext', win)
end
def self.focus_ok(win)
tk_call('Widget::focusOk', win)
end
def self.focus_prev(win)
tk_call('Widget::focusPrev', win)
end
def self.generate_doc(dir, widgetlist)
tk_call('Widget::generate-doc', dir, widgetlist)
end
def self.generate_widget_doc(klass, iscmd, file)
tk_call('Widget::generate-widget-doc', klass, iscmd, file)
end
def self.get_option(win, option)
tk_call('Widget::getoption', win, option)
end
def self.get_variable(win, varname, my_varname=None)
tk_call('Widget::getVariable', win, varname, my_varname)
end
def self.has_changed(win, option, pvalue)
tk_call('Widget::hasChanged', win, option, pvalue)
end
def self.init(klass, win, options)
tk_call('Widget::init', klass, win, options)
end
def self.set_option(win, option, value)
tk_call('Widget::setoption', win, option, value)
end
def self.sub_cget_strict(win, subwidget)
tk_call('Widget::subcget', win, subwidget)
end
def self.sub_cget(win, subwidget)
self.sub_cget_strict(win, subwidget)
end
def self.sync_options(klass, subclass, subpath, options)
tk_call('Widget::syncoptions', klass, subclass, subpath, options)
end
def self.tkinclude(klass, tkwidget, subpath, *args)
tk_call('Widget::tkinclude', klass, tkwidget, subpath, *args)
end
end