/** * The constructor should first build the main layout, set the composition root and then do any * custom initialization. * * <p>The constructor will not be automatically regenerated by the visual editor. */ public PanelListaMateriasParaEditar(final BloqueBO bloqueBO) { buildMainLayout(); setCompositionRoot(mainLayout); // TODO add user code here this.bloqueBO = bloqueBO; btn_editar.setEnabled(false); tableMaterias.addContainerProperty("Materias", MateriaBO.class, null); tableMaterias.setSelectable(true); tableMaterias.setImmediate(true); tableMaterias.addValueChangeListener( new ValueChangeListener() { private static final long serialVersionUID = 1L; @Override public void valueChange(ValueChangeEvent event) { btn_editar.setEnabled(tableMaterias.getValue() != null); } }); btn_editar.addClickListener( new ClickListener() { private static final long serialVersionUID = 1L; @Override public void buttonClick(ClickEvent event) { try { int i = Integer.parseInt(tableMaterias.getValue().toString()); ControladorAdministrador.getInstance().getAcademUI().cerrarVentanaEmergente(); ControladorAdministrador.getInstance() .mostrarPanelEditarMateria(listMaterias.get(i), bloqueBO); } catch (Exception e) { } } }); }
private void initContactList() { contactList.setContainerDataSource(contactContainer); contactList.setVisibleColumns(new String[] {FNAME, LNAME, COMPANY}); contactList.setSelectable(true); contactList.setImmediate(true); contactList.addValueChangeListener( new Property.ValueChangeListener() { public void valueChange(ValueChangeEvent event) { Object contactId = contactList.getValue(); /* * When a contact is selected from the list, we want to show * that in our editor on the right. This is nicely done by the * FieldGroup that binds all the fields to the corresponding * Properties in our contact at once. */ if (contactId != null) editorFields.setItemDataSource(contactList.getItem(contactId)); editorLayout.setVisible(contactId != null); } }); }