[Laszlo-user] Trying to assign events dynamically using delegates.
Kenneth Miller
xkenneth at gmail.com
Mon Jul 21 13:49:23 PDT 2008
Why does it have to be defined "on" the button, it's defined in the
source, which you can view here. Thanks for your time.
http://github.com/xkenneth/buildoutbuilder/tree/master/buildoutbuilder.laszlo/src
buildoutbuilder.lzx is the file you're looking for.
Thanks again!
Regards,
Ken
On Jul 21, 2008, at 3:18 PM, Henry Minsky wrote:
> Do you have a "test2" method defined on button? It would seem to me
> that you don't, because you're instantiating
> it right there, and there is no test2 method defined in the lz button
> component class, that I know of..
>
>
> On Mon, Jul 21, 2008 at 4:06 PM, Kenneth Miller <xkenneth at gmail.com>
> wrote:
>> All,
>> Here's the error: ERROR @lz/button.lzx#35: Invalid delegate:
>> button
>> text=Delete.test2 => «undefined» (must be a Function)
>> Regards,
>> Ken
>> On Jul 21, 2008, at 2:00 PM, Henry Minsky wrote:
>>
>> You can call a method on another object, using a delegate, but you'd
>> have to create the delegate to point to your object
>>
>> e.g.,
>>
>> new LzDelegate(yourinstance, "test2")
>>
>> Your delegate was created to call the test2 method on your button
>> instance.
>> ...
>>
>>
>>
>> On Mon, Jul 21, 2008 at 2:59 PM, Henry Minsky <hminsky at laszlosystems.com
>> >
>> wrote:
>>
>> What is the error? Your test2 method is never getting called? Where
>> is
>>
>> the "test2" method being declared on
>>
>> the button class? Don't you need a subclass of button, in order to
>>
>> define your method on it?
>>
>>
>> On Mon, Jul 21, 2008 at 2:40 PM, Kenneth Miller
>> <xkenneth at gmail.com> wrote:
>>
>> I'm trying to create a new button here and attach an event to it,
>> can anyone
>>
>> tell me what I'm doing wrong?
>>
>> function create_part() {
>>
>> //get the part name
>>
>> part_name =
>>
>> canvas
>> .main_tabs
>> .buildout_editor
>> .buildout_toolbar.toolbar_slider.parts_tab.new_part_field.text
>>
>> //add the part to the dom
>>
>> buildout_dp.addNode(part_name)
>>
>> //add it to the tab slider
>>
>> canvas.main_tabs.buildout_editor.buildout_ts.addItem(part_name)
>>
>> //wipe out the text field
>>
>> canvas
>> .main_tabs
>> .buildout_editor
>> .buildout_toolbar.toolbar_slider.parts_tab.new_part_field.text
>>
>> = ''"
>>
>> //create the delete button
>>
>> var delete_button = new
>>
>> lz
>> .button
>> (canvas.main_tabs.buildout_editor.buildout_ts.getItem(part_name))
>>
>> delete_button.setAttribute('text','Delete')
>>
>> //create the delegate
>>
>> if ( typeof delete_button.del == "undefined" ) {
>>
>> delete_button.del = new LzDelegate( delete_button, "test2");
>>
>> }
>>
>> //assign the event
>>
>> delete_button.del.register( delete_button, "onclick" );
>>
>> }
>>
>> Regards,
>>
>> Ken
>>
>>
>>
>>
>>
>> --
>>
>> Henry Minsky
>>
>> Software Architect
>>
>> hminsky at laszlosystems.com
>>
>>
>>
>>
>> --
>> Henry Minsky
>> Software Architect
>> hminsky at laszlosystems.com
>>
>>
>
>
>
> --
> Henry Minsky
> Software Architect
> hminsky at laszlosystems.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.openlaszlo.org/pipermail/laszlo-user/attachments/20080721/0d970f54/attachment-0001.html
More information about the Laszlo-user
mailing list