package net.thesocialos.client.view; import net.thesocialos.client.CacheLayer; import net.thesocialos.client.TheSocialOS; import net.thesocialos.client.event.ChannelClose; import net.thesocialos.client.event.ChannelEvent; import net.thesocialos.client.event.ChannelEventHandler; import net.thesocialos.client.event.ChannelOpen; import net.thesocialos.client.event.ContactPetitionChangeEventHandler; import net.thesocialos.client.event.ContactsPetitionChangeEvent; 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.FocusPanel; import com.google.gwt.user.client.ui.HTMLPanel; import com.google.gwt.user.client.ui.Label; public class DesktopBar extends Composite { interface DesktopBarUiBinder extends UiBinder<HTMLPanel, DesktopBar> { } private static DesktopBarUiBinder uiBinder = GWT.create(DesktopBarUiBinder.class); @UiField Label clock; @UiField Label username; @UiField FocusPanel userPanel; @UiField FocusPanel socialOSButton; @UiField FocusPanel focusContacts; @UiField FocusPanel searchButton; @UiField Label lblPetitionsNumber; @UiField FocusPanel PetitionsButton; @UiField FocusPanel startButton; @UiField Aplication appManagerButton; @UiField FocusPanel uploadButton; @UiField HTMLPanel channelApi; @UiField FocusPanel sharedButton; public DesktopBar() { initWidget(uiBinder.createAndBindUi(this)); channelApi.setStyleName("chatMenu_circle_online", true); TheSocialOS.getEventBus().addHandler(ContactsPetitionChangeEvent.TYPE, new ContactPetitionChangeEventHandler() { @Override public void onContactsPetitionChange(ContactsPetitionChangeEvent event) { if (CacheLayer.ContactCalls.getCountPetitionsContanct() != 0) lblPetitionsNumber.setStyleName( "petitions-unread", true); else lblPetitionsNumber.setStyleName("petitions-unread", false); lblPetitionsNumber.setText(Integer.toString(CacheLayer.ContactCalls.getCountPetitionsContanct())); } }); TheSocialOS.getEventBus().addHandler(ChannelEvent.TYPE, new ChannelEventHandler() { @Override public void onChannelDisconnect(ChannelClose event) { channelApi.setStyleName("chatMenu_circle_online", false); channelApi.setStyleName("chatMenu_circle_busy", true); } @Override public void onChannelConnect(ChannelOpen event) { channelApi.setStyleName("chatMenu_circle_online", true); channelApi.setStyleName("chatMenu_circle_busy", false); } }); } public FocusPanel getFocusContact() { return focusContacts; } public FocusPanel getPetitionsButton() { return PetitionsButton; } public Label getPetitionsNumber() { return lblPetitionsNumber; } /* * public FocusPanel getProgramsButton() { return ProgramsButton; } public Image getImgProgram() { return * imgProgram; } public Label getLabelProgram() { return labelProgram; } */ public FocusPanel getSearchBox() { return searchButton; } public FocusPanel getUploadButton() { return uploadButton; } public Aplication getAppManagerButton() { return appManagerButton; } public FocusPanel getSharedButton() { return sharedButton; } }