Hi Alex,
>> I created a small demo html that can be run from the demo folder
>> that demonstrates the problem. I would really appreciate any help in
>> this case(workarounds are welcome!).
>>
>> Best Regards,
>> alex.d
>>
> Does the fact that even main qooxdoo developers do not answer to this
> post, means that my problem is unsolvable?(Andreas, Sebastian?) I
> would like to know if this is a
> -qooxdoo-bug
> -qooxdoo-structure problem
> -just smth. that i don't understand.
> One more time the problem-demonstrating-problem code(it's not as big
> as it looks ;-)
After Sebastians patch you should now be able to get a reference to the
menu button. Unfortunately there is no connection between the context
menus and the Object containing the menu. The contextMenu property of
the Widget object really needs some improvements.
What you can do is set the opener property of the context menu in the
"oncontextmenu" callback to you image object before you open the menu.
In the "execute" callback you can reach the opener by calling
e.getData(). // returns the menu.Button
getParantMenu(). // returns the menu.Menu
getOpener(); // returns the opener (your image)
Here the relevant code snipplets:
var com = new qx.client.Command;
com.addEventListener("execute", function(e){
this.debug("What object i've clicked on?");
this.debug("e.getData() = " +
e.getData().getParentMenu().getOpener()); // <--- !!!
}, this);
//Context menu
var cmenu = new qx.ui.menu.Menu;
var m_1 = new qx.ui.menu.Button("Show Target", null, com);
cmenu.add(m_1);
cmenu.addToDocument();
//Show context menu
image.setContextMenu(cmenu);
image.addEventListener("contextmenu", function(e) {
this.getContextMenu().setLeft(e.getClientX());
this.getContextMenu().setTop(e.getClientY());
this.getContextMenu().setOpener(this); // <--- !!!
this.getContextMenu().show();
}, image);
A better implementation for context menus is planned. This will assign
the correct opener automatically.
I hope this helped.
Best,
Fabian
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel