package net.thesocialos.client.view;
import net.thesocialos.client.TheSocialOS;
import net.thesocialos.client.app.IApplication;
import net.thesocialos.client.desktop.DesktopEventOnOpen;
import net.thesocialos.client.desktop.DesktopUnit;
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.FocusPanel;
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 StartMenuItem extends Composite {
interface StartMenuItemUiBinder extends UiBinder<Widget, StartMenuItem> {
}
private static StartMenuItemUiBinder uiBinder = GWT.create(StartMenuItemUiBinder.class);
@UiField Label text;
@UiField Image image;
@UiField HorizontalPanel itemHPanel;
@UiField FocusPanel itemPanel;
public StartMenuItem() {
initWidget(uiBinder.createAndBindUi(this));
}
public StartMenuItem(final DesktopUnit app) {
initWidget(uiBinder.createAndBindUi(this));
text.setText(((IApplication) app).getName());
image.setUrl(((IApplication) app).getImage());
// final Composite application = ((FrameApp) app).getApp();
itemPanel.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
TheSocialOS.getEventBus().fireEvent(new DesktopEventOnOpen(app));
// WindowPanelLayout window = new WindowPanelLayout(false, false, new MyCaption(), new Footer());
// window.setText(text.getText());
// Frame frame = new Frame(url);
// window.add(((FrameApp) app).run());
// app.setSize("1024px", "600px");
// app.setSize(app.getWidth(),app.getHeight());
// window.show();
// window.setPopupPosition(10, 30);
}
});
}
public StartMenuItem(String name, Image image) {
initWidget(uiBinder.createAndBindUi(this));
text.setText(name);
this.image.setUrl(image.getUrl());
}
public FocusPanel getFocusPanel() {
return itemPanel;
}
}