package net.thesocialos.client.view; import net.thesocialos.client.TheSocialOS; import net.thesocialos.client.presenter.DesktopPresenter.Display; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.HasBlurHandlers; import com.google.gwt.event.dom.client.HasClickHandlers; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.AbsolutePanel; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.FocusPanel; import com.google.gwt.user.client.ui.HasText; import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.Widget; public class DesktopView extends Composite implements Display { interface DesktopUiBinder extends UiBinder<Widget, DesktopView> { } private static DesktopUiBinder uiBinder = GWT.create(DesktopUiBinder.class); @UiField DesktopBar desktopBar; @UiField StartMenu startMenu; @UiField UserMenu userMenu; @UiField AbsolutePanel desktop; @UiField Image background; @UiField AbsolutePanel absoluteDesktop; public DesktopView() { initWidget(uiBinder.createAndBindUi(this)); userMenu.editProfile.setText(TheSocialOS.getConstants().editProfile()); userMenu.logout.setText(TheSocialOS.getConstants().logout()); // User user = CacheLayer.UserCalls.getUser(); // desktop.getElement().getStyle().setBackgroundImage("url(/images/defaultBG.png) no-repeat"); // if (!user.getBackground().equals("data:image/png;base64,null")) // background.setUrl(user.getBackground()); } @Override public Image getAvatar() { return userMenu.avatar; } @Override public HasText getClock() { return desktopBar.clock; } @Override public AbsolutePanel getDesktop() { return desktop; } @Override public DesktopBar getDesktopBar() { // TODO Auto-generated method stub return desktopBar; } @Override public HasText getEditProfile() { return userMenu.editProfile; } @Override public HasClickHandlers getEditProfilePanel() { return userMenu.editProfilePanel; } @Override public HasText getEmail() { return userMenu.email; } @Override public HasText getLogout() { return userMenu.logout; } @Override public FocusPanel getLogoutPanel() { return userMenu.logoutPanel; } @Override public HasText getNameLabel() { return userMenu.name; } @Override public AbsolutePanel getScreen() { // TODO Auto-generated method stub return absoluteDesktop; } @Override public HasClickHandlers getSocialOSButton() { return desktopBar.socialOSButton; } @Override public HasClickHandlers getStartButton() { return desktopBar.startButton; } @Override public Widget getStartMenu() { return startMenu; } @Override public HasBlurHandlers getStartMenuPanel() { return startMenu.getStartPanel(); } @Override public HasText getTitleLabel() { return userMenu.title; } @Override public HasClickHandlers getUserButton() { return desktopBar.userPanel; } @Override public Widget getUserMenu() { return userMenu.asWidget(); } @Override public HasBlurHandlers getUserMenuPanel() { return userMenu.mainFocusPanel; } @Override public HasText getUserName() { return desktopBar.username; } }