No registered users in community xowiki
in last 10 minutes
in last 10 minutes
Re: [Xotcl] NX direct variable access
From: Victor Mayevski <vitick_at_gmail.com>
Date: Thu, 20 Jan 2011 15:09:13 -0800
Excellent. Thank you Gustaf.
On Wed, Jan 19, 2011 at 4:50 AM, Gustaf Neumann <neumann_at_wu.ac.at> wrote:
> Am 19.01.11 10:19, schrieb Victor Mayevski:
>>
>> In NX, what is the correct way to give a direct access to an object
>> variable for outside caller, just like we used to do with XOTcl's
>> [myvar varname]?
>>
> I assume, you want to obtain a fully qualified variable handle for an
> instance variable. Essentially, it works in nx very similar to XOTcl.
> See below for the method "bindvar" which obtains the fully
> qualified name and shows its usage in the context of Tk.
>
> -gustaf neumann
>
> ==================================================
> #
> # Tiny Tk example with bindvar and callback
> #
> # -gustaf neumann
>
> package require nx
> package require Tk
>
> nx::Class create Callbacks {
> #
> # A small support class to ease syntactically the reference to
> # instance variables and the registration of callbacks.
> #
> :method bindvar {name} {
> :require namespace
> return [nx::self]::$name
> }
> :method callback {name args} {
> return [list [nx::self] $name {*}$args]
> }
> }
>
> nx::Class create Myclass {
>
> #
> # A sample application class that creates a text entry field bound
> # to an instance variable. When the provided button is pressed, the
> # content of the variable is placed into an additional output label.
> #
>
> :mixin Callbacks
>
> :public method button-pressed {} {
> .label configure -text ${:myvar}
> }
>
> :method init {} {
> wm geometry . -500+500
> pack [label .title -text "Type something and press start button...."]
> pack [entry .text -textvariable [:bindvar myvar]]
> pack [label .label]
> pack [button .button -text start -command [:callback button-pressed]]
> }
> }
>
> Myclass new
> ==================================================
>
>
> --
> Univ.Prof. Dr. Gustaf Neumann
> Institute of Information Systems and New Media
> WU Vienna
> Augasse 2-6, A-1090 Vienna, AUSTRIA
>
> _______________________________________________
> Xotcl mailing list
> Xotcl_at_alice.wu-wien.ac.at
> http://alice.wu-wien.ac.at/mailman/listinfo/xotcl
>
Date: Thu, 20 Jan 2011 15:09:13 -0800
Excellent. Thank you Gustaf.
On Wed, Jan 19, 2011 at 4:50 AM, Gustaf Neumann <neumann_at_wu.ac.at> wrote:
> Am 19.01.11 10:19, schrieb Victor Mayevski:
>>
>> In NX, what is the correct way to give a direct access to an object
>> variable for outside caller, just like we used to do with XOTcl's
>> [myvar varname]?
>>
> I assume, you want to obtain a fully qualified variable handle for an
> instance variable. Essentially, it works in nx very similar to XOTcl.
> See below for the method "bindvar" which obtains the fully
> qualified name and shows its usage in the context of Tk.
>
> -gustaf neumann
>
> ==================================================
> #
> # Tiny Tk example with bindvar and callback
> #
> # -gustaf neumann
>
> package require nx
> package require Tk
>
> nx::Class create Callbacks {
> #
> # A small support class to ease syntactically the reference to
> # instance variables and the registration of callbacks.
> #
> :method bindvar {name} {
> :require namespace
> return [nx::self]::$name
> }
> :method callback {name args} {
> return [list [nx::self] $name {*}$args]
> }
> }
>
> nx::Class create Myclass {
>
> #
> # A sample application class that creates a text entry field bound
> # to an instance variable. When the provided button is pressed, the
> # content of the variable is placed into an additional output label.
> #
>
> :mixin Callbacks
>
> :public method button-pressed {} {
> .label configure -text ${:myvar}
> }
>
> :method init {} {
> wm geometry . -500+500
> pack [label .title -text "Type something and press start button...."]
> pack [entry .text -textvariable [:bindvar myvar]]
> pack [label .label]
> pack [button .button -text start -command [:callback button-pressed]]
> }
> }
>
> Myclass new
> ==================================================
>
>
> --
> Univ.Prof. Dr. Gustaf Neumann
> Institute of Information Systems and New Media
> WU Vienna
> Augasse 2-6, A-1090 Vienna, AUSTRIA
>
> _______________________________________________
> Xotcl mailing list
> Xotcl_at_alice.wu-wien.ac.at
> http://alice.wu-wien.ac.at/mailman/listinfo/xotcl
>