package net.thesocialos.client.view;
import net.thesocialos.client.presenter.ApplicationManagerPresenter;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
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.HorizontalPanel;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;
public class Aplication extends Composite {
private static AplicationUiBinder uiBinder = GWT.create(AplicationUiBinder.class);
@UiField Label lblAplicationName;
@UiField Image lblAplicationImage;
@UiField Image closeButton;
@UiField HorizontalPanel AplicationPanel;
ApplicationManagerPresenter applicationManager;
interface AplicationUiBinder extends UiBinder<Widget, Aplication> {
}
public Aplication() {
initWidget(uiBinder.createAndBindUi(this));
}
public Aplication(String name, String url, ApplicationManagerPresenter applicationManager) {
this();
// setAplicationImage(url);
setAplicationName(name);
this.applicationManager = applicationManager;
bind();
}
public void setAplicationImage(String url) {
lblAplicationImage.setUrl(url);
}
public void setAplicationName(String name) {
lblAplicationName.setText(name);
}
public Image getCloseButton() {
return closeButton;
}
public HorizontalPanel getApplicationPanel() {
return AplicationPanel;
}
private void bind() {
getCloseButton().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
applicationManager.closeApp(Aplication.this);
}
});
getApplicationPanel().addDomHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
applicationManager.showHideApp(Aplication.this);
}
}, ClickEvent.getType());
}
}