Sorry, there is a typo in the source. It should read:
"qx.event.message.Bus.unsubscribe("CONFIG LOADED",this.buildGUI,this);"
instead of
"qx.event.message.Bus.unsubscribe("CONFIG_LOADED",this.buildGUI,this);"
Greets,
Michael
Michael Helwig schrieb:
> Hi Gene,
>
> thanks, you are right, this at least works in the Playground. But I'm
> still having problems in my actual code. My Application.js contains in
> its members section:
> [CODE]
>
> members : {
>
> buildGUI : function () {
>
> if(hbtables.Application.messageBus.checkSubscription("CONFIG LOADED"));
>
> qx.event.message.Bus.unsubscribe("CONFIG_LOADED",this.buildGUI,this);
> }
> main : function () {
>
> hbtables.Application.messageBus =
> qx.event.message.Bus.getInstance();
> hbtables.Application.messageBus.subscribe("CONFIG LOADED",
> this.buildGUI,this);
> }
>
> }
> [/CODE]
>
> This does not work. Checking the output of
>
> [CODE]
> qx.dev.Debug.debugObject(hbtables.Application.messageBus.getSubscriptions());
> [/CODE]
>
> later in the source shows that the function is still in the subscriber's
> list - to be precise, I seem to get the whole document source in the
> output of the debugObject above, which irritates me. Is this the correct
> behavior?
>
> Furthermore, the api documentation says about
> qx.event.message.Bus.unsubscribe:
>
> "unsubscribe a listening method _if_ you supply the callback function
> and execution context, remove only this exact subscription _otherwise_
> remove all subscriptions"
>
> This, I think, suggests that the second and third parameter are
> optional. However, I'm not a native speaker.
>
> Greets,
> Michael
>
> Gene Amtower schrieb:
>
>> Michael,
>>
>> In my API docs, it lists 3 parameters for the Bus.subscribe and
>> Bus.unsubscribe methods...
>>
>> *subscribe(String **message**, Function **subscriber**, Object
>> **context**)*
>> *unsubscribe(String **message**, Function **subscriber**, Object
>> **context**)*
>>
>> where the 3rd parameter is probably going to be "this" and appears to
>> be required per the API docs.
>>
>> When I used all three parameters in my Playground for both subscribe
>> and unsubscribe, the error went away and both the subscibe and
>> unsubscribe work correctly. I moved the dispatch statement around to
>> test the functionality, and it only worked when placed between the
>> subscribe and unsubscribe calls.
>>
>>
>>
>>> var messageBus = qx.event.message.Bus.getInstance();
>>>
>>> var message = new qx.event.message.Message("TEST");
>>>
>>>
>>>
>>> var myfunction = function() {
>>>
>>> alert("Here I am");
>>>
>>> }
>>>
>>>
>>>
>>> messageBus.subscribe("TEST", myfunction, this);
>>>
>>> // messageBus.unsubscribe("TEST");
>>> messageBus.unsubscribe("TEST", myfunction, this);
>>>
>>> messageBus.dispatch(message);
>>>
>>>
>> HTH,
>>
>> Gene
>>
>>
>> On Wed, 2009-06-10 at 20:11 +0200, Michael Helwig wrote:
>>
>>> Hi,
>>>
>>> how can I unsubscribe a function from a message bus
>>> (qx.event.message.Bus)?
>>>
>>> Calling messageBus.unsubscribe("MESSAGE_TEXT") yields an error
>>> ("sub[msgName] is null")
>>> Running the following in the Playground app also yields an error:
>>>
>>> [CODE]
>>> var messageBus = qx.event.message.Bus.getInstance();
>>> var message = new qx.event.message.Message("TEST");
>>>
>>> var myfunction = function() {
>>> alert("Here I am");
>>> }
>>>
>>> messageBus.subscribe("TEST", myfunction);
>>> messageBus.unsubscribe("TEST");
>>> [/CODE]
>>>
>>> Error:
>>> playground.Application[p]: TypeError: k[l] is null
>>>
>>> The combinations
>>> [CODE]
>>> messageBus.unsubscribe("TEST", myfunction);
>>> //OR
>>> messageBus.unsubscribe(myfunction);
>>> [/CODE]
>>> have no effect, the function gets called if the message is dispatched
>>> anyway.
>>>
>>> Am I doing something wrong or is this a bug?
>>>
>>> Greetings,
>>>
>>> Michael
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Crystal Reports - New Free Runtime and 30 Day Trial
>>> Check out the new simplified licensing option that enables unlimited
>>> royalty-free distribution of the report engine for externally facing
>>> server and web deployment.
>>> http://p.sf.net/sfu/businessobjects
>>> _______________________________________________
>>> qooxdoo-devel mailing list
>>> [email protected]
>>> <mailto:[email protected]>
>>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>>>
>>>
>> ------------------------------------------------------------------------
>>
>> ------------------------------------------------------------------------------
>> Crystal Reports - New Free Runtime and 30 Day Trial
>> Check out the new simplified licensing option that enables unlimited
>> royalty-free distribution of the report engine for externally facing
>> server and web deployment.
>> http://p.sf.net/sfu/businessobjects
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> qooxdoo-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>>
>>
>
>
> ------------------------------------------------------------------------------
> Crystal Reports - New Free Runtime and 30 Day Trial
> Check out the new simplified licensing option that enables unlimited
> royalty-free distribution of the report engine for externally facing
> server and web deployment.
> http://p.sf.net/sfu/businessobjects
> _______________________________________________
> qooxdoo-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>
>
>
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel