i have 2 listSelector widget.
First is to choose a country.
With this choice, the second ListSelector display a list of cities.
Actually, i've got a problem to update the second ListSelector entries.

the code i use :

function PreferencesAssistant() {

this.countries = [ {
label : "Allemagne",
value : "Allemagne",
secondaryIcon : 'status-available'
}, {
label : "Canada",
value : "Canada",
secondaryIcon : 'status-available'
}, {
label : "France",
value : "France",
secondaryIcon : 'status-available'
} ];

this.canadaNetworks = [ {
label : "Montreal",
value : "Montreal",
secondaryIcon : 'status-available'
} ];

this.franceNetworks = [ {
label : "Paris",
value : "Paris
secondaryIcon : 'status-available'
}, {
label : "Toulouse"
value : "Toulouse",
secondaryIcon : 'status-available'
}, {
label : "Bordeaux",
value : "Bordeaux",
secondaryIcon : 'status-available'
} ];
};

PreferencesAssistant.prototype.setup = function() {

// country

Mojo.Log.info("Bike country preferences " + defaultCountry);
this.countrySelectorsModel = {
currentCountry : defaultCountry
};

this.controller.setupWidget('countrySelector', this.attributes = {
label : $L('Country'),
choices : this.countries,
modelProperty : 'currentCountry'
}, this.countrySelectorsModel);

this.controller.listen('countrySelector', Mojo.Event.propertyChange,
this.countryChanged.bindAsEventListener(this));

// network

this.setupNetworks();
this.controller.listen('networkSelector', Mojo.Event.propertyChange,
this.networkChanged.bindAsEventListener(this));
};

PreferencesAssistant.prototype.setupNetworks = function() {

Mojo.Log.info("Bike current country "
+ this.countrySelectorsModel.currentCountry);

if (this.countrySelectorsModel.currentCountry == "Allemagne") {
this.networks = this.franceNetworks;

} else if (this.countrySelectorsModel.currentCountry == "Canada") {
this.networks = this.canadaNetworks;

} else if (this.countrySelectorsModel.currentCountry == "France") {
this.networks = this.franceNetworks;

}
this.controller.modelChanged(this.networks);
Mojo.Log.info("current networks " + this.networks.length);

this.selectorsModel = {
currentStatus : defaultNetwork,
choices : this.networks
};
this.controller.modelChanged(this.selectorsModel);
this.controller.setupWidget('networkSelector', this.attributes = {
label : $L('Network'),
// choices : this.networks,
modelProperty : 'currentStatus'
}, this.selectorsModel);
};

PreferencesAssistant.prototype.activate = function() {
}

PreferencesAssistant.prototype.deactivate = function() {
};

PreferencesAssistant.prototype.cleanup = function() {
};

PreferencesAssistant.prototype.countryChanged = function() {

defaultCountry = this.countrySelectorsModel.currentCountry;
this.setupNetworks();
};

PreferencesAssistant.prototype.networkChanged = function() {
Mojo.Log.info("network " + this.selectorsModel.currentStatus);
defaultNetwork = this.selectorsModel.currentStatus;
};


in logs :
[20100420-16:52:20.671367] info: current networks 14
[20100420-16:52:20.675897] warning: WARNING: modelChanged() found no watchers. Did you call it with the ORIGINAL model object, and not a replacement?
[20100420-16:52:20.679534] info: About to activate scene Preferences
[20100420-16:52:20.686066] info: Transition ended.
[20100420-16:52:22.650600] info: current country Canada
[20100420-16:52:22.650778] warning: WARNING: modelChanged() found no watchers. Did you call it with the ORIGINAL model object, and not a replacement?
[20100420-16:52:22.650846] info: current networks 1


the choices of the second ListSelector are never updated. But in the logs i read that the 'this.network' variable is correctly updated (size change)

Does someone have any idea about this problem ?

thanks for any help.