Hi Kenny, that is indeed interesting stuff, and I would love to see more of this high-level-GUI-maintenance best-practices discussed ... here is how I do it in qcl/qxtransformer:
<qcl:access> <qcl:permission name="allowRemoveReference" granted="true"> <qcl:dependency permission="reference.remove"/> <qcl:updater event="changeSelectedIds" /> <qcl:condition><![CDATA[ return this.getSelectedIds().length > 0 ]]></qcl:condition> </qcl:permission> </qcl:access> <!-- snip --> <!-- remove button --> <qx:menuBarButton height="16" width="16" enabled="false" icon="bibliograph/icon/button-minus.png" > <qxt:listener type="click" delegate="_removeReference" /> <qcl:observe propertyChain="enabled" permission="allowRemoveReference" /> <qcl:observe propertyChain="visibility" permission="reference.remove" converter="qcl.bool2visibility" /> </qx:menuBarButton> So I work with explicitly named permissions and their dependencies instead of slots and events. Like your cell stuff, the good thing is nothing breaks when something goes wrong - it simply doesn't work as expected, which is better than having to handle exceptions. But I sure that there are other and maybe better to handle complex dependencies in a GUI that I don't know of. Cheers, C. -- View this message in context: http://qooxdoo.678.n2.nabble.com/elaborate-GUI-tp5225888p5234182.html Sent from the qooxdoo mailing list archive at Nabble.com. ------------------------------------------------------------------------------ This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first _______________________________________________ qooxdoo-devel mailing list qooxdoo-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel