mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
ffcedd7950
* ext/tk/lib/tk : bug fix and add Tcl/Tk extension support libraries git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
102 lines
2 KiB
Ruby
102 lines
2 KiB
Ruby
#
|
|
# ::vu::dial widget
|
|
# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
|
|
#
|
|
require 'tk'
|
|
|
|
# create module/class
|
|
module Tk
|
|
module Vu
|
|
class Dial < TkWindow
|
|
end
|
|
end
|
|
end
|
|
|
|
# call setup script -- <libdir>/tkextlib/vu.rb
|
|
require(File.dirname(File.expand_path(__FILE__)) + '.rb')
|
|
|
|
# define module/class
|
|
class Tk::Vu::Dial < TkWindow
|
|
TkCommandNames = ['::vu::dial'.freeze].freeze
|
|
WidgetClassName = 'Dial'.freeze
|
|
WidgetClassNames[WidgetClassName] = self
|
|
|
|
###############################
|
|
|
|
def __methodcall_optkeys # { key=>method, ... }
|
|
{'coords'=>'coords'}
|
|
end
|
|
private :__methodcall_optkeys
|
|
|
|
###############################
|
|
|
|
def coords(val = nil)
|
|
if val
|
|
tk_split_list(tk_send_without_enc('coords'))
|
|
else
|
|
tk_send_without_enc('coords', val)
|
|
self
|
|
end
|
|
end
|
|
|
|
def constrain(val = None)
|
|
num_or_str(tk_call(@path, 'constrain', val))
|
|
end
|
|
|
|
def get(*args)
|
|
num_or_str(tk_call(@path, 'get', *args))
|
|
end
|
|
|
|
def identify(x, y)
|
|
tk_call(@path, 'identify', x, y)
|
|
end
|
|
|
|
def get_label(val=nil)
|
|
if val
|
|
tk_call(@path, 'label', val)
|
|
else
|
|
ret = []
|
|
lst = simplelist(tk_call(@path, 'label'))
|
|
while lst.size > 0
|
|
ret << ([num_or_str(lst.shift)] << lst.shift)
|
|
end
|
|
end
|
|
end
|
|
|
|
def set_label(val, str, *args)
|
|
tk_call(@path, 'label', val, str, *args)
|
|
self
|
|
end
|
|
|
|
def set_label_constrain(val, str, *args)
|
|
tk_call(@path, 'label', '-constrain', val, str, *args)
|
|
self
|
|
end
|
|
|
|
def get_tag(val=nil)
|
|
if val
|
|
tk_call(@path, 'tag', val)
|
|
else
|
|
ret = []
|
|
lst = simplelist(tk_call(@path, 'tag'))
|
|
while lst.size > 0
|
|
ret << ([num_or_str(lst.shift)] << lst.shift)
|
|
end
|
|
end
|
|
end
|
|
|
|
def set_tag(val, str, *args)
|
|
tk_call(@path, 'tag', val, str, *args)
|
|
self
|
|
end
|
|
|
|
def set_tag_constrain(val, str, *args)
|
|
tk_call(@path, 'tag', '-constrain', val, str, *args)
|
|
self
|
|
end
|
|
|
|
def set(val = None)
|
|
tk_call_without_enc(@path, 'set', val)
|
|
self
|
|
end
|
|
end
|