New XSWT feature

Gerald Bauer <[email protected]> Wed, 27 Apr 2005 10:54:32 -0700
Newsgroups gmane.comp.lang.xul.announce
Message-ID <[email protected]>
Hello,

   David J. Orme - the XSWT lead - writes:

A long-awaited (by me) XSWT feature landed in CVS today.  There are
several new convenience create() methods for XSWT that return an
interface rather than a Map.  This is easier to explain than to
describe.  For example, given the XSWT code:

         <label text="Host name:"/>
         <text x:id="HostName" x:style="BORDER"/>
         <label text="Port number:"/>
         <text x:id="HostPort" x:style="BORDER"/>

We can define an interface that describes this layout as follows:

      public interface ISelectServerPane {
          public Text getHostName();   // Define getters corresponding
to
the
          public Text getHostPort();     // x:id attributes we care
about
      }

Now (with CVS changes from today) XSWT lets me write the following Java
code:

         pane = (ISelectServerPane) XSWT.createl(holder,
                 "selectServerPane.xswt", getClass(),
ISelectServerPane.class);

         pane.getHostPort().addVerifyListener(myVerifyListener);
         pane.getHostName().setText("localhost");

Look Ma, no ugly typecasts when I use the "pane" variable any more!
Everything is now typesafe!


Regards,

Dave Orme 
  


-------------------------------------------------------
SF.Net email is sponsored by: Tell us your software development plans!
Take this survey and enter to win a one-year sub to SourceForge.net
Plus IDC's 2005 look-ahead and a copy of this survey
Click here to start!  http://www.idcswdc.com/cgi-bin/survey?id=105hix