module Tk::Configure
Private Class Methods
common(receiver, invocation, argument, hints = {})
click to toggle source
# File lib/ffi-tk/command/configure.rb, line 26 def self.common(receiver, invocation, argument, hints = {}) result = if None == argument receiver.execute(*invocation) elsif argument.respond_to?(:to_tcl_options) receiver.execute_only(*invocation, argument.to_tcl_options) elsif argument.respond_to?(:to_tcl_option) receiver.execute(*invocation, argument.to_tcl_option) else raise ArgumentError, 'Invalid argument: %p' % [argument] end if result.respond_to?(:tcl_options_to_hash) result.tcl_options_to_hash(hints) else result end end
Public Instance Methods
configure(argument = None, hints = {})
click to toggle source
Query or modify the configuration options of the widget. If no option is specified, returns a list describing all of the available options for pathName (see Tk_ConfigureInfo for information on the format of this list). If option is specified with no value, then the command returns a list describing the one named option (this list will be identical to the corresponding sublist of the value returned if no option is specified). If one or more option-value pairs are specified, then the command modifies the given widget option(s) to have the given value(s); in this case the command returns an empty string. Option may have any of the values accepted by the text command.
@example Usage
text.configure(width: 100, height: 200) text.configure(:width) text.configure
# File lib/ffi-tk/command/configure.rb, line 20 def configure(argument = None, hints = {}) common_configure([:configure], argument, hints) end
Private Instance Methods
common_configure(invocation, argument, hints = {})
click to toggle source
# File lib/ffi-tk/command/configure.rb, line 45 def common_configure(invocation, argument, hints = {}) Configure.common(self, invocation, argument, hints) end
register_command(name, &block)
click to toggle source
# File lib/ffi-tk/command/configure.rb, line 49 def register_command(name, &block) arg = case name when :validatecommand # %d Type of action: 1 for insert, 0 for delete, or -1 for focus, forced # or textvariable validation. # %i Index of char string to be inserted/deleted, if any, otherwise -1. # %P The value of the entry if the edit is allowed. # If you are configuring the entry widget to have a new textvariable, # this will be the value of that textvariable. # %s The current value of entry prior to editing. # %S The text string being inserted/deleted, if any, {} otherwise. # %v The type of validation currently set. # %V The type of validation that triggered the callback (key, focusin, # focusout, forced). # %W The name of the entry widget. '%d %i %P %s %S %v %V %W' else '' end @commands ||= {} unregister_command(name) id, command = Tk.register_proc(block, arg) @commands[name] = id command end
unregister_command(name, id = @commands[name])
click to toggle source
# File lib/ffi-tk/command/configure.rb, line 79 def unregister_command(name, id = @commands[name]) return unless id @commands.delete(id) Tk.unregister_proc(id) end
unregister_commands()
click to toggle source
# File lib/ffi-tk/command/configure.rb, line 85 def unregister_commands return unless @commands @commands.each { |name, id| unregister_command(name, id) } end