Glad to help! Chris > Chris, StackLayout was exactly what I needed. You have been very helpful. > > Thanks, > Dick Baldwin > > On Sat, Aug 27, 2011 at 2:45 PM, Richard Baldwin > <baldwin@xxxxxxxxxxxxxxx>wrote: > >> Will do. >> Thanks, >> Dick B. >> >> >> On Sat, Aug 27, 2011 at 2:09 PM, Chris von See >> <chris@xxxxxxxxxxxxx>wrote: >> >>> ** Take a look at StackLayout - that will allow you to pr-create your >>> pages and easily switch between them... >>> >>> Cheers >>> Cheis >>> -- >>> Sent from my Android phone. >>> >>> >>> Richard Baldwin <baldwin@xxxxxxxxxxxxxxx> wrote: >>>> >>>> Hi Chris, >>>> >>>> Thanks for the response. See my comments inline below. >>>> >>>> On Sat, Aug 27, 2011 at 11:44 AM, Chris von See >>>> <chris@xxxxxxxxxxxxx>wrote: >>>> >>>>> Hi Richard - >>>>> >>>>> I got a chance to take a look at your code... I'm not totally sure I >>>>> understand if your goal is to make the program accessible or just to >>>>> perform >>>>> some action when the user selects something from the list, but here >>>>> are some >>>>> thoughts: >>>>> >>>> >>>> rgb] My ultimate goal is to expose a new GUI page that contains lots >>>> of >>>> controls (text boxes, buttons, etc.) when the user selects an item >>>> from the >>>> list. I do want it to be accessible to blind students because my >>>> purpose is >>>> to write a GUI interface for my SVG Graphics Library (see >>>> http://cnx.org/content/m39607/latest/). Right now, I am trying to work >>>> out an overall structure that will be accessible. I have never used >>>> the SWT >>>> before, nor have I ever written a Java program with accessibility in >>>> mind, >>>> so I am plowing new ground in two areas with this one. >>>> >>>>> >>>>> -- If your goal is accessibility, take a look at the >>>>> org.eclipse.swt.accessibility package. Many controls have a >>>>> getAccessible() >>>>> method that returns an Accessible object which allows you to do >>>>> various >>>>> accessibility-related things. Look at the Accessible object's >>>>> methods and >>>>> in particular the types of accessibility-related listeners you can >>>>> add, >>>>> which would allow you to (for example) change the description that is >>>>> spoken >>>>> for each list item or create the relation between the list and a >>>>> descriptive >>>>> label ("labelA") so that the label is spoken when the list gains >>>>> focus. >>>>> >>>> >>>> rgb] Thanks, I will take a look at it. >>>> >>>> >>>>> Take a look at the snippets for the package at >>>>> http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/accessibility/package-summary.htmlto >>>>> get some examples. >>>>> >>>> >>>> rgb] Will do. >>>> >>>>> >>>>> -- Using List.addSelectionListener() is the way you would be notified >>>>> of >>>>> user list item selection. SWT should speak each item as the user >>>>> traverses >>>>> the list. You can modify what's spoken by setting listeners via >>>>> List.getAccessible(). >>>>> >>>> >>>> rgb] I have discovered that the following approach to event handling >>>> seems to work better in the sense that with this approach, the new >>>> page is >>>> not exposed until the user presses the Enter key on the selected item: >>>> >>>> myCombo.addListener (SWT.DefaultSelection, new Listener () { >>>> public void handleEvent (Event e) { >>>> //event handler code goes here >>>> }//end handleEvent >>>> }); >>>> >>>>> >>>>> -- If I'm reading your code correctly, you're creating your list >>>>> using >>>>> the Shell as the parent, and then immediately creating a "page" >>>>> Composite >>>>> with the same Shell as parent. I didn't run your code, but I *think* >>>>> this >>>>> will overlay your List with the contents of the "page" Composite. >>>>> >>>> >>>> rgb] Actually it displays the new page below the Combo box, but the >>>> approach that you suggest below might work better. I really don't want >>>> to >>>> dispose of the old page in order to expose a new one. >>>> >>>> >>>>> Try creating a "base" Composite with the shell as parent, then set a >>>>> layout on that "base", add your list with the "base" as parent and >>>>> then add >>>>> your "page" Composite as another child of that same "base". >>>>> Depending on >>>>> what layout manager you use the controls will appear in different >>>>> relative >>>>> positions; you might try RowLayout with SWT.VERTICAL so that the list >>>>> appears above the "page". >>>>> >>>> >>>> rgb] I will definitely try this. >>>> >>>>> >>>>> -- When the list item is changed you don't need to dispose your >>>>> "page" >>>>> Composite - just set the label and foreground color (for the text) or >>>>> background color (for the background of the "page"). >>>>> >>>> >>>> rgb] Good. As I mentioned earlier, I don't want to dispose of the old >>>> page when I expose a new one. I would like for the user to be able to >>>> return >>>> to the page with the contents of the text boxes, etc., still intact. >>>> >>>>> >>>>> -- Instead of allocating red, green and blue Color objects using new >>>>> Color(r, g, b), try using the static Color.RED, Color.GREEN and >>>>> Color.BLUE - >>>>> these have the same red, green and blue color settings as what you >>>>> created. >>>>> You also won't need to dispose these static Color objects when your >>>>> program >>>>> exits. >>>>> >>>> >>>> rgb] Thanks. Good point. >>>> >>>>> >>>>> Hope this helps. I'll try to answer any other questions you may >>>>> have, >>>>> but I'll be in and out this weekend so it may take me a while to get >>>>> back to >>>>> you. >>>>> >>>> >>>> rgb] I really do appreciate your feedback. If I am successful in this >>>> effort, I will publish a free Java program that blind students can use >>>> to >>>> draw technical diagrams for their physics and math courses. Actually, >>>> I have >>>> already published such a program, but the user interface is very >>>> difficult >>>> because it requires some knowledge of programming syntax. My >>>> objective is >>>> to make it available to every student with an easy-to-use GUI >>>> interface, >>>> even if they don't know about programming syntax. >>>> >>>> Thanks, >>>> Dick B. >>>> >>>>> >>>>> >>>>> Cheers >>>>> Chris >>>>> >>>>> >>>>> >>>>> On Aug 26, 2011, at 5:32 PM, Richard Baldwin wrote: >>>>> >>>>> John, >>>>> >>>>> This is my second attempt to send this. The previous attempt was >>>>> rejected because the zip file was too large. I had included the SWT >>>>> library >>>>> in it, which is what made it so large. Since you probably have that >>>>> already, >>>>> I deleted it from the zip file and am going to try again with a much >>>>> smaller >>>>> zip file. >>>>> >>>>> Thanks, >>>>> Dick Baldwin >>>>> >>>>> On Fri, Aug 26, 2011 at 7:23 PM, Richard Baldwin < >>>>> baldwin@xxxxxxxxxxxxxxx> wrote: >>>>> >>>>>> Hi John, >>>>>> >>>>>> I'm afraid that given my current lack of knowledge of SWT, I would >>>>>> be >>>>>> completely overwhelmed by the BrailleBlaster code. >>>>>> >>>>>> However, I have attached a zip file containing a simple page >>>>>> switcher >>>>>> program using SWT. If you could take the time to import it into >>>>>> Eclipse (or >>>>>> however you program using SWT) and let me know if the structure that >>>>>> I am >>>>>> using could be successfully navigated by a blind person, or how I >>>>>> should >>>>>> modify it to achieve that goal, I would greatly appreciate it. >>>>>> >>>>>> The GUI contains a list of three items. (I could make it a Combo or >>>>>> three radio buttons.) When the user selects one of the items in the >>>>>> list, a >>>>>> Composite object opens below the list. Right now, the Composite page >>>>>> simply >>>>>> contains a label, but eventually I intend for each new page to be a >>>>>> significant GUI in its own right. >>>>>> >>>>>> By the way, I had to rename a couple of build.bat files to get the >>>>>> zip >>>>>> file past the GMail virus police. >>>>>> >>>>>> Thanks, >>>>>> Dick Baldwin >>>>>> >>>>>> >>>>>> On Fri, Aug 26, 2011 at 6:45 PM, John J. Boyer < >>>>>> john.boyer@xxxxxxxxxxxxxxxxx> wrote: >>>>>> >>>>>>> Dick, >>>>>>> >>>>>>> Accessibility with SWT is almost automatic. BrailleBlaster does not >>>>>>> use >>>>>>> any particular accessibility features now, though it might use the >>>>>>> accessibility package in SWT later. In the Bfailloeblasterr menu, >>>>>>> BBMenu.java there is a listener for each item. The event is not >>>>>>> sent >>>>>>> until the enter key is pressed on that item. There are SWT widgets >>>>>>> for >>>>>>> handling lists. These will be used later, for example in handling >>>>>>> the >>>>>>> list of recent documents. >>>>>>> >>>>>>> If you have Mercurial you can get the source of BrailleBlaster from >>>>>>> its >>>>>>> googlecode page. BBMenu.java is in org.brailleblaster.wordprocessor >>>>>>> I >>>>>>> could also send you this class privately as an attachmennt, if you >>>>>>> wish. >>>>>>> >>>>>>> John >>>>>>> >>>>>>> On Fri, Aug 26, 2011 at 06:03:09PM -0500, Richard Baldwin wrote: >>>>>>> > I know this is off topic for this list, but I also know that >>>>>>> there >>>>>>> are >>>>>>> > several excellent SWT programmers that frequent this list who >>>>>>> probably know >>>>>>> > the answer to my question. >>>>>>> > >>>>>>> > The objective is to make it possible for a blind user of an SWT >>>>>>> GUI >>>>>>> to >>>>>>> > navigate through a list of items, such as might be found in a >>>>>>> Combo, >>>>>>> a List, >>>>>>> > or perhaps a set of Radio buttons, and cause an event to be fired >>>>>>> for one >>>>>>> > and only one of the items in the list when that item is chosen. >>>>>>> > >>>>>>> > It looks to me like using the following code to register a >>>>>>> listener >>>>>>> on each >>>>>>> > item in the list causes each item to fire an event when the arrow >>>>>>> keys are >>>>>>> > used to traverse the list: >>>>>>> > >>>>>>> > addSelectionListener(new SelectionAdapter() >>>>>>> > >>>>>>> > I guess what I am looking for is something like an ActionListener >>>>>>> in >>>>>>> the AWT >>>>>>> > and Swing that can be fired by pressing the Return key after the >>>>>>> arrow keys >>>>>>> > have been used to choose a specific item. >>>>>>> > >>>>>>> > I am finding that learning the SWT and trying to achieve >>>>>>> accessibility for >>>>>>> > blind users at the same time is something of a challenge. >>>>>>> > >>>>>>> > If you prefer to contact me and have this discussion off list, >>>>>>> that >>>>>>> will be >>>>>>> > OK with me. >>>>>>> > >>>>>>> > Thanks, >>>>>>> > Dick Baldwin >>>>>>> > >>>>>>> > -- >>>>>>> > Richard G. Baldwin (Dick Baldwin) >>>>>>> > Home of Baldwin's on-line Java Tutorials >>>>>>> > http://www.DickBaldwin.com >>>>>>> > >>>>>>> > Professor of Computer Information Technology >>>>>>> > Austin Community College >>>>>>> > (512) 223-4758 >>>>>>> > mailto:Baldwin@xxxxxxxxxxxxxxx >>>>>>> > http://www.austincc.edu/baldwin/ >>>>>>> >>>>>>> -- >>>>>>> John J. Boyer; President, Chief Software Developer >>>>>>> Abilitiessoft, Inc. >>>>>>> http://www.abilitiessoft.com >>>>>>> Madison, Wisconsin USA >>>>>>> Developing software for people with disabilities >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Richard G. Baldwin (Dick Baldwin) >>>>>> Home of Baldwin's on-line Java Tutorials >>>>>> http://www.DickBaldwin.com >>>>>> >>>>>> Professor of Computer Information Technology >>>>>> Austin Community College >>>>>> (512) 223-4758 >>>>>> mailto:Baldwin@xxxxxxxxxxxxxxx >>>>>> http://www.austincc.edu/baldwin/ >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Richard G. Baldwin (Dick Baldwin) >>>>> Home of Baldwin's on-line Java Tutorials >>>>> http://www.DickBaldwin.com >>>>> >>>>> Professor of Computer Information Technology >>>>> Austin Community College >>>>> (512) 223-4758 >>>>> mailto:Baldwin@xxxxxxxxxxxxxxx >>>>> http://www.austincc.edu/baldwin/ >>>>> <PageSwitcher01.zip> >>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Richard G. Baldwin (Dick Baldwin) >>>> Home of Baldwin's on-line Java Tutorials >>>> http://www.DickBaldwin.com >>>> >>>> Professor of Computer Information Technology >>>> Austin Community College >>>> (512) 223-4758 >>>> mailto:Baldwin@xxxxxxxxxxxxxxx >>>> http://www.austincc.edu/baldwin/ >>>> >>> >> >> >> -- >> Richard G. Baldwin (Dick Baldwin) >> Home of Baldwin's on-line Java Tutorials >> http://www.DickBaldwin.com >> >> Professor of Computer Information Technology >> Austin Community College >> (512) 223-4758 >> mailto:Baldwin@xxxxxxxxxxxxxxx >> http://www.austincc.edu/baldwin/ >> > > > > -- > Richard G. Baldwin (Dick Baldwin) > Home of Baldwin's on-line Java Tutorials > http://www.DickBaldwin.com > > Professor of Computer Information Technology > Austin Community College > (512) 223-4758 > mailto:Baldwin@xxxxxxxxxxxxxxx > http://www.austincc.edu/baldwin/ >