Best way to track modified state in SWT app [message #446379] |
Wed, 24 November 2004 02:28 |
Eclipse User |
|
|
|
Originally posted by: martin_hulth.hotmail.com
I have a SWT based app (an electronic notebook/journal of sorts) that
includes several Text boxes, List boxes, Combo boxes and Tables. The
user can interact with the app in several ways including by typing in
the fields, dragging and dropping, ftp-like file-moving list boxes, and
more.
For saving purposes, I need to do the typical tracking of a global
"modifyFlag" that gets turned as soon as the user changes any field.
Ideally, I would like it if I would only need to add a modifiedListener
to a parent container, which listens to all children, grandchildren,
etc. I have not found a way to do this, and the only way I have that
works (but has it's own problems) is listed below.
Since several of the SWT classes cannot be subclassed, I can wrap all of
them in my own version of the class that automatically adds a
modifiedListener to the SWT member of the class. This works, but
everytime I need a new SWT object, I need to create a new wrapper for
it. And the user will also be able to add new widgets, so I would have
to wrap every possible widget the user may use.
Is this the best way to do it, or is there a much more elegant solution?
Thank you for any ideas, answers and comments
-Martin
|
|
|
Re: Best way to track modified state in SWT app [message #446473 is a reply to message #446379] |
Thu, 25 November 2004 15:18 |
Steve Northover Messages: 1636 Registered: July 2009 |
Senior Member |
|
|
Adding the listener to each text widget is the right thing to do. Another
approach is to investigate Display.addFilter() but this might be overkill.
"Martin Hulth" <martin_hulth@hotmail.com> wrote in message
news:co0rkt$o41$1@www.eclipse.org...
> I have a SWT based app (an electronic notebook/journal of sorts) that
> includes several Text boxes, List boxes, Combo boxes and Tables. The
> user can interact with the app in several ways including by typing in
> the fields, dragging and dropping, ftp-like file-moving list boxes, and
> more.
>
> For saving purposes, I need to do the typical tracking of a global
> "modifyFlag" that gets turned as soon as the user changes any field.
> Ideally, I would like it if I would only need to add a modifiedListener
> to a parent container, which listens to all children, grandchildren,
> etc. I have not found a way to do this, and the only way I have that
> works (but has it's own problems) is listed below.
>
> Since several of the SWT classes cannot be subclassed, I can wrap all of
> them in my own version of the class that automatically adds a
> modifiedListener to the SWT member of the class. This works, but
> everytime I need a new SWT object, I need to create a new wrapper for
> it. And the user will also be able to add new widgets, so I would have
> to wrap every possible widget the user may use.
>
> Is this the best way to do it, or is there a much more elegant solution?
>
> Thank you for any ideas, answers and comments
>
> -Martin
|
|
|
Powered by
FUDForum. Page generated in 0.02114 seconds