Hi all!,
I've a little problem upgrading my code from 1.5.3 to 1.6.4. I've
an AccountManager class that manages the accounts and when a change is
done it fires an event to all the components to update its list of
accounts.
AccountManager:
private ChangeListenerCollection changeListeners;
public void addChangeListener(ChangeListener listener) {
if (changeListeners == null) {
changeListeners = new ChangeListenerCollection();
}
changeListeners.add(listener);
}
public void removeChangeListener(ChangeListener listener) {
if (changeListeners != null) {
changeListeners.remove(listener);
}
}
private void fireChangeEvent() {
if (changeListeners != null) {
changeListeners.fireChange(accountMainPanel);
}
}
private void loadAccounts() {
AccountRemote.Util.getInstance().getAllAccount(new
DefaultCallback()
{
@SuppressWarnings("unchecked")
public void onSuccess(Object result) {
if (result != null) {
accounts = (List<Account>)result;
// Save the accounts
accountList.clear();
accountsHM.clear();
for (Account account : accounts) {
accountList.addItem(account.getAccountName());
// Save the accounts
accountsHM.put(account.getAccountName(), account);
}
// Update the list of the
accounts in all clients
fireChangeEvent();
}
}
});
}
And in the clients I have this code:
// ChangeListener to update the account list whenever an account
change is done.
ApplicationParameters.getInstance().getApplication
().getAccountManager().addChangeListener(new ChangeListener() {
public void onChange(Widget sender) {
// Update the accounts
setFilterAccounts(ApplicationParameters.getInstance().getApplication
().getAccountManager().getAccounts());
}
});
Now I'm trying to update this code to use EventHandlers but I've no
idea what I should change. I've try with:
public HandlerRegistration addChangeHandler(ChangeHandler handler) {
return addDomHandler(handler, ChangeEvent.getType());
}
But I cann't control when fire the event, I mean, when I change
something the event is fired and the clients are updated even if it is
not necessary.
Please, could someone bring me to the light :-).
Thanks a lot.
Regards, Iván.
P.S: Excuse me for me poor english.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---