class Tk::Scale
Constants
- TkCommandNames
- WidgetClassName
Public Instance Methods
Source
# File lib/tk/scale.rb, line 81 def command(cmd=nil, &block) configure('command'=>cmd || block) end
Source
# File lib/tk/scale.rb, line 70 def configure(slot, value=None) if (slot == 'command' || slot == :command) configure('command'=>value) elsif slot.kind_of?(Hash) && (slot.key?('command') || slot.key?(:command)) slot = _symbolkey2str(slot) slot['command'] = _wrap_command_arg(slot.delete('command')) end super(slot, value) end
Calls superclass method
TkConfigMethod#configure
Source
# File lib/tk/scale.rb, line 66 def configure_cmd(slot, value) configure(slot=>value) end
Source
# File lib/tk/scale.rb, line 89 def coords(val=None) tk_split_list(tk_send_without_enc('coords', val)) end
Source
# File lib/tk/scale.rb, line 85 def get(x=None, y=None) number(tk_send_without_enc('get', x, y)) end
Source
# File lib/tk/scale.rb, line 93 def identify(x, y) tk_send_without_enc('identify', x, y) end
Private Instance Methods
Source
# File lib/tk/scale.rb, line 50 def __strval_optkeys super() << 'label' end
Calls superclass method
TkConfigMethod#__strval_optkeys
Source
# File lib/tk/scale.rb, line 55 def _wrap_command_arg(cmd) proc{|val| if val.kind_of?(String) cmd.call(number(val)) else cmd.call(val) end } end
Source
# File lib/tk/scale.rb, line 12 def create_self(keys) if keys and keys != None if keys.key?('command') && ! keys['command'].kind_of?(String) cmd = keys.delete('command') keys['command'] = proc{|val| cmd.call(val.to_f)} end unless TkConfigMethod.__IGNORE_UNKNOWN_CONFIGURE_OPTION__ #tk_call_without_enc('scale', @path, *hash_kv(keys, true)) tk_call_without_enc(self.class::TkCommandNames[0], @path, *hash_kv(keys, true)) else begin tk_call_without_enc(self.class::TkCommandNames[0], @path, *hash_kv(keys, true)) rescue tk_call_without_enc(self.class::TkCommandNames[0], @path) keys = __check_available_configure_options(keys) unless keys.empty? begin tk_call_without_enc('destroy', @path) rescue # cannot destroy configure(keys) else # re-create widget tk_call_without_enc(self.class::TkCommandNames[0], @path, *hash_kv(keys, true)) end end end end else #tk_call_without_enc('scale', @path) tk_call_without_enc(self.class::TkCommandNames[0], @path) end end