[brailleblaster] Re: How do I get this notifyListeners addListener to work?

  • From: Chris von See <chris@xxxxxxxxxxxxx>
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Thu, 16 Jun 2011 08:19:40 -0700

I've been trying off-list to send John a zip file containing all of the SWT stand-alone example source, but for some reason it's not coming through correctly...


Attached is the source file for the SWT TextEditor example. It shows the use of listeners (as anonymous inner classes, I think) and includes a lot of functionality that may be useful in BrailleBlaster.

John, I'll keep trying to send you the complete zip - I may need to use YouSendIt or similar...


Cheers
Chris



On Jun 15, 2011, at 7:43 PM, John J. Boyer wrote:

Chris,

What I am doing is setting up a Milti-document Inteface (MDI) framework.
This is something that will be wanted eventually, and I am quite sure
that the it will be easier if the framework is present early on. It
doesn't seem like it should be diffiecult. The WPManager keeps a list of
active documents, which are embodied in instances of DocumentManager.
The user can move amonng the doucuments, as in any word processor. The
request for another document will come from an item in BBMenu, which is
a chile of the active DocumentManager. The new document should not
itself be a child of this DocumentManager. it should be a child of
WPManager. So It seemed to me that the ntural way to do this would be to
send on OpenDocument event, which woudl be caught by an OpenDocument
listener in WPManager. Is this your understanding? Are you trying to
make things easier for me at this point? That will probably produce much
more difficulty down the road. In any case, I need to master the
event-listener technique.

I've never been able to get much out of the swt examples page, even in
IE. Instead of just giving links to the examples they want me to go to
the downloads page and then find the examples. I must confess that I'm
really bad at finding anything on the Web.

Another thing I would like to find is a zip file like those for SWT, for
Jface, which contains both source code and a jar.

I don't want to give the impression of being a complainer, but it seems
to me that the Eclipse sites are downright unfriendly. What are they
thinking of?

John

On Wed, Jun 15, 2011 at 07:04:20PM -0700, Chris von See wrote:
If I understand what you're doing correctly, you seem to be making
this more complicated than it needs to be.  You may want to take a
look at the SWT example code available from
http://www.eclipse.org/swt/examples.php - there are some pretty nice
non-Eclipse demo programs there that  can help you decide how best to
structure the application.


Cheers,
Chris


On Jun 15, 2011, at 5:33 PM, John J. Boyer wrote:

Yes, I have SelectionListeners on all menu items. When the Opeen,
New or
Import item is selected the listener calls the sendOpenEvent method in the DocumentManager, with an int parameter specifyingthe action to be
taken. This method creates an instance of Event and places the
parameter
in the detail field. It then calls notifyListeners on the
DocumentManager's Shell with SWT.OpenDocument and the event.

When it started, WPManager used addListener on the Display, which is
the
only SWT class it has, to add a listener for the OpenDocument event.
The
handleEvent method in this listener calls the addDocument method in
the
WPManager. This creates a new instance of DocumentManager and adds
it to
the ArrayList of active documents. However, this never happens.

It is not necessary to generate an event for the Close menu selection,
since this process occurs entirely withing the DocumentManager. The
listener merely sets an exitSelected boolean to true. The normal event
loop also tests the value of this boolean, and if it is true the
DocumentManager does what is necessary to close the document and
exits.
The addDocument method in the WPManager, which created this instance
of
DocumentManager then sets its reference in the list of active
documents
to null, so the garbage collector can dispose of it, and then removes
the reference from the list of active documents.

John

dreats
an instan
On Wed, Jun 15, 2011 at 04:05:56PM -0700, Chris von See wrote:
I'm not sure I completely understand what you did, but what I've done
in the past is add a SelectionListener to the "Open..." menu item.
The listener gets called when the user selects that menu item; you
can
then create and open a file dialog to allow the user to select the
file and create your XOM tree, views, etc.  You can also use a
SelectionListener on a "Close" menu item to close the active document
and free resources.

Cheers
Chris



On Jun 15, 2011, at 3:47 PM, John J. Boyer wrote:

In the design for the word processor that I have come up with, it is entered by a call to WPManager from somewhere, the main mehtod now.
WPManager creates an instance of DocumentManager which creates
instances
of BrailleView, SaisyView, BBMenu BBToolbar and BstatusBar.
DocumentManager handles everything relating to a single document.
When
the user choses the Open, New or Import items on the menu it calls
notifyListeners on its Shell. WPmanager has previously registered a listener for the IpenDocument event on the display. The listener is
supposed to call a method which creates a new document and adds it
to an
ArrayList of documents. However, the listener never hears anything.
What
is wrong?

Thanks,
John

--
John J. Boyer; President, Chief Software Developer
Abilitiessoft, Inc.
http://www.abilitiessoft.com
Madison, Wisconsin USA
Developing software for people with disabilities




--
John J. Boyer; President, Chief Software Developer
Abilitiessoft, Inc.
http://www.abilitiessoft.com
Madison, Wisconsin USA
Developing software for people with disabilities




--
John J. Boyer; President, Chief Software Developer
Abilitiessoft, Inc.
http://www.abilitiessoft.com
Madison, Wisconsin USA
Developing software for people with disabilities



Other related posts: