6233ab1729
Its handy to be able to ask an object to do something for you by handing it a subcommand. For example if we want to get the value of an object's private field the object could expose a method that would return that value. Application level code can then invoke "$inst get" to perform the method call. Tk uses this pattern for all of its widgets, so we'd certainly like to use it for our own mega-widgets that we might develop. Up until now we haven't needed such functionality, but I'm working on a new revision picker mega-widget that would benefit from it. To make this work we have to change the definition of $this to actually be a procedure within the namespace. By making $this a procedure any caller that has $this can call subcommands by passing them as the first argument to $this. That subcommand then needs to call the proper subroutine. Placing the dispatch procedure into the object's variable namespace ensures that it will always be deleted when the object is deleted. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> |
||
---|---|---|
.. | ||
blame.tcl | ||
branch_rename.tcl | ||
branch.tcl | ||
browser.tcl | ||
class.tcl | ||
commit.tcl | ||
console.tcl | ||
database.tcl | ||
diff.tcl | ||
error.tcl | ||
index.tcl | ||
merge.tcl | ||
option.tcl | ||
remote_branch_delete.tcl | ||
remote.tcl | ||
shortcut.tcl | ||
transport.tcl |