Podemos controlar a propriedade enabled da seguinte forma:
Na classe PresentationModel, precisamos ter um ValueModel que guarda o valor booleano do "enabled":
private ValueModel camposHabilitados = new ValueHolder();
public ValueModel getCamposHabilitados() { return camposHabilitados; }
Na classe View, você deve conectar o ValueModel acima aos componentes da tela.
A forma mais interessante de fazer isso é usando a classe PropertyConnector, que conecta duas propriedades de dois objetos:
PropertyConnector connector = new PropertyConnector(pm.getCamposHabilitados(), "value", textField, "enabled");
connector.updateProperty2();
Na primeira linha acima, criamos um property connector que vai ligar a propriedade "value" do ValueModel (valor booleano) à pripriedade "enabled" do componente textField. Assim, se alterarmos o valor booleano do ValueModel, esse valor vai ser transferido para a propriedade enabled automaticamente.
Por exemplo, na classe PresentationModel podemos fazer:
camposHabilitados.setValue(true); // Habilita os campos na tela
Repare que depois de criar o Property connector, eu chamo o método updateProperty2() para já transferir o valor que está no ValueModel para a propriedade enabled. Isso deve ser feito quando você inicia a tela e deseja sincronizar os valores da presentation model com os componentes da tela.
abraços,
Hugo Teixeira
http://www.componenthouse.com