package com.ocpsoft.socialpm.gwt.client.local.view.profile;
import java.util.List;
import javax.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Label;
import com.ocpsoft.socialpm.gwt.client.local.view.FixedLayoutView;
import com.ocpsoft.socialpm.gwt.client.local.view.component.ProjectList;
import com.ocpsoft.socialpm.model.project.Project;
import com.ocpsoft.socialpm.model.user.Profile;
@ApplicationScoped
public class ProfileViewImpl extends FixedLayoutView implements ProfileView
{
@Inject
private ProfileForm profileForm;
@Inject
private ProjectList projectList;
private final Label email = new Label();
private Presenter presenter;
@Override
public void setup()
{
profileForm.getSubmit().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event)
{
presenter.save(profileForm.getProfile());
}
});
content.add(profileForm);
content.add(projectList);
}
@Override
public void setProfile(final Profile profile)
{
projectList.setOwner(profile);
profileForm.setProfile(profile);
email.setText(profile.getEmail());
}
/*
* Getters & Setters
*/
@Override
public ProfileForm getProfileForm()
{
return profileForm;
}
@Override
public void setProjects(List<Project> projects)
{
projectList.setProjects(projects);
}
@Override
public Presenter getPresenter()
{
return presenter;
}
@Override
public void setPresenter(Presenter presenter)
{
this.presenter = presenter;
}
}