/******************************************************************************* * Copyright (c) 2012 Kai Toedter and others. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html. * * Contributors: * Kai Toedter - initial API and implementation ******************************************************************************/ package com.toedter.gwt.demo.contacts.client.ui; import com.google.gwt.core.client.GWT; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.TextBox; import com.google.gwt.user.client.ui.Widget; import com.toedter.gwt.demo.contacts.shared.Contact; public class ContactDetailsView extends Composite implements IContactDetailsView { private static ContactDetailsViewUiBinder uiBinder = GWT.create(ContactDetailsViewUiBinder.class); @UiField TextBox title; @UiField TextBox name; @UiField TextBox email; @UiField TextBox company; @UiField Image image; private Contact contact; interface ContactDetailsViewUiBinder extends UiBinder<Widget, ContactDetailsView> { } public ContactDetailsView() { initWidget(uiBinder.createAndBindUi(this)); } @Override public void setContact(Contact contact) { this.contact = contact; if (contact == null) { return; } title.setText(contact.getTitle()); name.setText(contact.getFirstName() + " " + contact.getLastName()); company.setText(contact.getCompany()); email.setText(contact.getEmail()); image.setUrl(contact.getJpegString()); } @Override public void setPresenter(Presenter presenter) { // TODO Auto-generated method stub } @Override public String getContactEmail() { return email.getText(); } @Override public void clear() { contact = null; title.setText(""); name.setText(""); company.setText(""); email.setText(""); image.setUrl(""); } @Override public Contact getContact() { if (contact == null) { contact = new Contact(); } contact.setTitle(title.getText()); String[] names = name.getText().split(" "); if (names.length > 0) { contact.setFirstName(names[0]); } if (names.length > 1) { contact.setLastName(names[1]); } if (names.length > 2) { contact.setMiddleName(names[1]); contact.setLastName(names[2]); } contact.setCompany(company.getText()); contact.setEmail(email.getText()); return contact; } }