[From nobody Wed Oct 8 01:10:29 2008 X-Account-Key: account2 X-Mozilla-Keys: Return-Path: <laszlo-user-bounces@openlaszlo.org> Delivered-To: m.lettere@websynapsis.com Received: (qmail 2004 invoked by uid 210); 3 Oct 2008 15:32:11 -0000 Received: from 168.75.100.7 by firewall (envelope-from <laszlo-user-bounces@openlaszlo.org>, uid 201) with qmail-scanner-2.01st (clamdscan: 0.91.2/4934. spamassassin: 3.2.1. perlscan: 2.01st. Clear:RC:0(168.75.100.7):SA:0(0.0/8.0):. Processed in 1.439878 secs); 03 Oct 2008 15:32:11 -0000 X-Spam-Status: No, hits=0.0 required=8.0 X-Spam-Report: SA TESTS _SUMMARY_ Received: from www.openlaszlo.org (HELO openlaszlo.org) (168.75.100.7) by 81-174-16-243.staticnet.ngi.it with SMTP; 3 Oct 2008 15:32:08 -0000 Received: from openlaszlo.org (openlaszlo.org [127.0.0.1]) by openlaszlo.org (8.13.4/8.13.4) with ESMTP id m93FIWrg012360; Fri, 3 Oct 2008 08:18:40 -0700 Received: from hemicuda.laszlosystems.com (hemicuda.laszlosystems.com [168.75.100.18]) by openlaszlo.org (8.13.4/8.13.4) with ESMTP id m93FIToV012357 for <laszlo-user@openlaszlo.org>; Fri, 3 Oct 2008 08:18:30 -0700 X-ASG-Debug-ID: 1223047107-196500cb0000-R37UGP X-Barracuda-URL: http://168.75.100.18:80/cgi-bin/mark.cgi Received: from websynapsis.com (localhost [127.0.0.1]) by hemicuda.laszlosystems.com (Spam Firewall) with ESMTP id 1CAEF37F7E1 for <laszlo-user@openlaszlo.org>; Fri, 3 Oct 2008 08:18:28 -0700 (PDT) Received: from websynapsis.com (81-174-16-243.staticnet.ngi.it [81.174.16.243]) by hemicuda.laszlosystems.com with ESMTP id B1i8PsRWjKWfH1n5 for <laszlo-user@openlaszlo.org>; Fri, 03 Oct 2008 08:18:28 -0700 (PDT) Received: (qmail 1173 invoked from network); 3 Oct 2008 15:19:28 -0000 Received: from unknown (HELO ?192.158.100.156?) (m.lettere@websynapsis.com@192.158.100.156) by 81-174-16-243.staticnet.ngi.it with ESMTPA; 3 Oct 2008 15:19:28 -0000 Message-ID: <48E637CD.1010406@websynapsis.com> Date: Fri, 03 Oct 2008 17:18:37 +0200 From: Marco Lettere <m.lettere@websynapsis.com> User-Agent: Thunderbird 2.0.0.6 (X11/20070824) MIME-Version: 1.0 To: laszlo-user@openlaszlo.org X-ASG-Orig-Subj: External focus controller Content-Type: multipart/mixed; boundary="------------090802070303060306000401" X-Barracuda-Connect: 81-174-16-243.staticnet.ngi.it[81.174.16.243] X-Barracuda-Start-Time: 1223047109 X-Barracuda-Virus-Scanned: by Barracuda Spam Firewall at laszlosystems.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using global scores of TAG_LEVEL=2.5 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=1000.0 tests= X-Barracuda-Spam-Report: Code version 3.1, rules version 3.1.62956 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Subject: [Laszlo-user] External focus controller X-BeenThere: laszlo-user@openlaszlo.org X-Mailman-Version: 2.1.6 Precedence: list List-Id: OpenLaszlo user community discussion <laszlo-user.openlaszlo.org> List-Unsubscribe: <http://www.openlaszlo.org/mailman/listinfo/laszlo-user>, <mailto:laszlo-user-request@openlaszlo.org?subject=unsubscribe> List-Archive: <http://www.openlaszlo.org/pipermail/laszlo-user> List-Post: <mailto:laszlo-user@openlaszlo.org> List-Help: <mailto:laszlo-user-request@openlaszlo.org?subject=help> List-Subscribe: <http://www.openlaszlo.org/mailman/listinfo/laszlo-user>, <mailto:laszlo-user-request@openlaszlo.org?subject=subscribe> Sender: laszlo-user-bounces@openlaszlo.org Errors-To: laszlo-user-bounces@openlaszlo.org This is a multi-part message in MIME format. --------------090802070303060306000401 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Hello guys, as per attached example, I would like to write a focus (or tab key) controller that is able to manage the navigation order of the tab key of all focusable widgets of its parent view. Overriding getNextSelection and getPrevSelection is not acceptable because no assumption on the controlled components can be made. Everything seems to work fine until the second tab-key hit, when the focus actually gets stuck. Can any of you tell me what I'm doing wrong? Thank you, M. --------------090802070303060306000401 Content-Type: application/x-extension-lzx; name="testfocus.lzx" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="testfocus.lzx" PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGNhbnZhcz4KCgk8Y2xh c3MgbmFtZT0iZm9jdXNjb250cm9sbGVyIiBleHRlbmRzPSJub2RlIj4KCQk8YXR0cmlidXRl IG5hbWU9ImFsc29wYXJlbnQiIHZhbHVlPSIkb25jZXtwYXJlbnQuZm9jdXNhYmxlfSIvPgoJ CTxhdHRyaWJ1dGUgbmFtZT0ibGlzdCIgdmFsdWU9IiRvbmNle3BhcmVudC5zdWJ2aWV3c30i Lz4KCQk8YXR0cmlidXRlIG5hbWU9InNlcXVlbmNlIiB2YWx1ZT0iJG9uY2V7bmV3IEFycmF5 KCl9Ii8+CgoJCTxoYW5kbGVyIG5hbWU9Im9uaW5pdCI+CgkJCS8vZm9yY2UgcGFyZW50IHRv IGJlIGZvY3VzYWJsZSBidXQgcmVtZW1iZXIgaXRzIG9yaWdpbmFsIHN0YXR1cwoJCQlpZihw YXJlbnQuZ2V0QXR0cmlidXRlKCJmb2N1c2FibGUiKSl7CgkJCQl0aGlzLmFsc29wYXJlbnQg PSB0cnVlCgkJCX1lbHNlewoJCQkJcGFyZW50LnNldEF0dHJpYnV0ZSgiZm9jdXNhYmxlIix0 cnVlKTsKCQkJCXRoaXMuYWxzb3BhcmVudCA9IGZhbHNlCgkJCX0KCQkJCgkJCWZvcih2YXIg aSA9IDA7IGkmbHQ7IGxpc3QubGVuZ3RoOyBpKyspewoJCQkJaWYobGlzdFtpXS5mb2N1c2Fi bGUpewoJCQkJCXNlcXVlbmNlLnB1c2gobGlzdFtpXSkKCQkJCX0KCQkJfSAKCQkJc2VxdWVu Y2UgPSBzZXF1ZW5jZS5zb3J0KAoJCQkJCQlmdW5jdGlvbihhLGIpeyAKCQkJCQkJCXJldHVy biAoIGEueSAtIGIueSAhPSAwID8gYS55IC0gYi55IDogKGEueCAtIGIueCkpCgkJCQkJCX0p CgkJCURlYnVnLndyaXRlKHNlcXVlbmNlKQoJCTwvaGFuZGxlcj4KCQkJCgkJPG1ldGhvZCBl dmVudD0ib25mb2N1cyIgcmVmZXJlbmNlPSJwYXJlbnQiPgoJCQlyZXNldEZvY3VzKCk7CgkJ PC9tZXRob2Q+CgkJCgkJPG1ldGhvZCBuYW1lPSJyZXNldEZvY3VzIj4KCQkJaWYodGhpcy5h bHNvcGFyZW50KXsKCQkJCURlYnVnLndyaXRlKCJQYXJlbnQgd2FzIGZvY3VzYWJsZSBzbyB3 aWxsIGtlZXAgZm9jdXMiKQoJCQl9ZWxzZXsKCQkJCXNlbGVjdEZvY3VzYWJsZSgwKQoJCQl9 CgkJPC9tZXRob2Q+CgkJCgkJPGF0dHJpYnV0ZSBuYW1lPSJjdXJyZW50Rm9jdXNIYW5kbGVy IiB2YWx1ZT0iJG9uY2V7bmV3IEx6RGVsZWdhdGUodGhpcywnd2hvSXNOZXh0Jyl9Ii8+CgkJ PGF0dHJpYnV0ZSBuYW1lPSJjdXJyZW50Rm9jdXNJbmRleCIgdmFsdWU9IjAiLz4KCQk8bWV0 aG9kIG5hbWU9InNlbGVjdEZvY3VzYWJsZSIgYXJncz0iaW5kZXgiPgoJCQljdXJyZW50Rm9j dXNIYW5kbGVyLnVucmVnaXN0ZXJBbGwoKQoJCQlpZihzZXF1ZW5jZVtpbmRleF0gIT0gdW5k ZWZpbmVkKXsKCQkJCWN1cnJlbnRGb2N1c0luZGV4ID0gaW5kZXgKCQkJCUx6Rm9jdXMuc2V0 Rm9jdXMoc2VxdWVuY2VbaW5kZXhdKQoJCQkJY3VycmVudEZvY3VzSGFuZGxlci5yZWdpc3Rl cihzZXF1ZW5jZVtpbmRleF0sJ29uYmx1cicpCgkJCQlEZWJ1Zy53cml0ZSgic2V0IGZvY3Vz IHRvIixzZXF1ZW5jZVtpbmRleF0pCgkJCX0KCQk8L21ldGhvZD4KCQkKCQk8bWV0aG9kIG5h bWU9Indob0lzTmV4dCI+CgkJCWlmKEx6Rm9jdXMuZm9jdXN3aXRoa2V5KXsKCQkJCXNlbGVj dEZvY3VzYWJsZShjdXJyZW50Rm9jdXNJbmRleCArIDEpCgkJCX0KCQk8L21ldGhvZD4KCQkK CTwvY2xhc3M+CgkKCQoJPHZpZXcgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIGJnY29sb3I9 IjB4YWFhYWFhIiBmb2N1c2FibGU9ImZhbHNlIj4KCQk8Zm9jdXNjb250cm9sbGVyIG5hbWU9 ImN0cmwiLz4KCQk8dGV4dCB5PSI2MCIgdGV4dD0iQSB0ZXh0MyIgZm9jdXNhYmxlPSJ0cnVl IiBvbmJsdXI9IkRlYnVnLndyaXRlKHRoaXMsJ2xvc3QgZm9jdXMnKSIvPgoJCTx0ZXh0IHk9 IjkwIiB4PSI0MCIgdGV4dD0iQSBidXR0b24zKGZvY3VzYWJsZT1mYWxzZSkiIGZvY3VzYWJs ZT0iZmFsc2UiIG9uYmx1cj0iRGVidWcud3JpdGUodGhpcywnbG9zdCBmb2N1cycpIi8+CgkJ PHRleHQgeD0iMTAiIHRleHQ9IkEgdGV4dDEiIGZvY3VzYWJsZT0idHJ1ZSIgb25ibHVyPSJE ZWJ1Zy53cml0ZSh0aGlzLCdsb3N0IGZvY3VzJykiLz4KCQk8dGV4dCB4PSIxMjAiIHRleHQ9 IkEgYnV0dG9uMSIgZm9jdXNhYmxlPSJ0cnVlIiBvbmJsdXI9IkRlYnVnLndyaXRlKHRoaXMs J2xvc3QgZm9jdXMnKSIvPgoJCTx0ZXh0IHg9IjEwIiB5PSIzMCIgdGV4dD0iQSB0ZXh0Mihm b2N1c2FibGU9ZmFsc2UpIiBmb2N1c2FibGU9ImZhbHNlIiBvbmJsdXI9IkRlYnVnLndyaXRl KHRoaXMsJ2xvc3QgZm9jdXMnKSIvPgoJCTx0ZXh0IHg9IjEyMCIgeT0iMzAiIHRleHQ9IkEg YnV0dG9uMiIgZm9jdXNhYmxlPSJ0cnVlIiBvbmJsdXI9IkRlYnVnLndyaXRlKHRoaXMsJ2xv c3QgZm9jdXMnKSIvPgoJPC92aWV3Pgo8L2NhbnZhcz4= --------------090802070303060306000401-- ]