mirror of
https://github.com/ruby/ruby.git
synced 2025-08-27 06:56:13 +02:00
* ext/tk/lib : bug fix
* ext/tk/lib/tkextlib/itcl : add [incr Tcl] support * ext/tk/lib/tkextlib/itk : add [incr Tk] support * ext/tk/lib/tkextlib/iwidgets : midway point of [incr Widgets] support * ext/tk/sample/tkextlib/iwidgets : very simple examples of [incr Widgets] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
1909f5f1b1
commit
9945dd1adf
64 changed files with 2441 additions and 122 deletions
106
ext/tk/lib/tkextlib/iwidgets/checkbox.rb
Normal file
106
ext/tk/lib/tkextlib/iwidgets/checkbox.rb
Normal file
|
@ -0,0 +1,106 @@
|
|||
#
|
||||
# tkextlib/iwidgets/checkbox.rb
|
||||
# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
|
||||
#
|
||||
|
||||
require 'tk'
|
||||
require 'tkextlib/iwidgets.rb'
|
||||
|
||||
module Tk
|
||||
module Iwidgets
|
||||
class Checkbox < Tk::Iwidgets::Labeledframe
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
class Tk::Iwidgets::Checkbox
|
||||
TkCommandNames = ['::iwidgets::checkbox'.freeze].freeze
|
||||
WidgetClassName = 'Checkbox'.freeze
|
||||
WidgetClassNames[WidgetClassName] = self
|
||||
|
||||
####################################
|
||||
|
||||
include TkItemConfigMethod
|
||||
|
||||
def __item_cget_cmd(id)
|
||||
[self.path, 'buttoncget', id]
|
||||
end
|
||||
private :__item_cget_cmd
|
||||
|
||||
def __item_config_cmd(id)
|
||||
[self.path, 'buttonconfigure', id]
|
||||
end
|
||||
private :__item_config_cmd
|
||||
|
||||
def tagid(tagOrId)
|
||||
if tagOrId.kind_of?(Tk::Itk::Component)
|
||||
tagOrId.name
|
||||
else
|
||||
_get_eval_string(tagOrId)
|
||||
end
|
||||
end
|
||||
|
||||
alias buttoncget itemcget
|
||||
alias buttonconfigure itemconfigure
|
||||
alias buttonconfiginfo itemconfiginfo
|
||||
alias current_buttonconfiginfo current_itemconfiginfo
|
||||
|
||||
private :itemcget, :itemconfigure
|
||||
private :itemconfiginfo, :current_itemconfiginfo
|
||||
|
||||
####################################
|
||||
|
||||
def add(tag=nil, keys={})
|
||||
if tag.kind_of?(Hash)
|
||||
keys = tag
|
||||
tag = nil
|
||||
end
|
||||
unless tag
|
||||
tag = Tk::Itk::Component.new(self)
|
||||
end
|
||||
tk_call(@path, 'add', tagid(tag), *hash_kv(keys))
|
||||
tag
|
||||
end
|
||||
|
||||
def delete(idx)
|
||||
tk_call(@path, 'delete', index(idx))
|
||||
self
|
||||
end
|
||||
|
||||
def deselect(idx)
|
||||
tk_call(@path, 'deselect', index(idx))
|
||||
self
|
||||
end
|
||||
|
||||
def flash(idx)
|
||||
tk_call(@path, 'flash', index(idx))
|
||||
self
|
||||
end
|
||||
|
||||
def get(idx)
|
||||
simplelist(tk_call(@path, 'get', index(idx))).collect{|id|
|
||||
Tk::Itk::Component.id2obj(id)
|
||||
}
|
||||
end
|
||||
|
||||
def index(idx)
|
||||
number(tk_call(@path, 'index', tagid(idx)))
|
||||
end
|
||||
|
||||
def insert(idx, tag=nil, keys={})
|
||||
if tag.kind_of?(Hash)
|
||||
keys = tag
|
||||
tag = nil
|
||||
end
|
||||
unless tag
|
||||
tag = Tk::Itk::Component.new(self)
|
||||
end
|
||||
tk_call(@path, 'insert', index(idx), tagid(tag), *hash_kv(keys))
|
||||
tag
|
||||
end
|
||||
|
||||
def select(idx)
|
||||
tk_call(@path, 'select', index(idx))
|
||||
self
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue