FriendsHome.java :  » Network » socialconferenceproject » at » socialconference » web » client » ui » Android Open Source

Android Open Source » Network » socialconferenceproject 
socialconferenceproject » at » socialconference » web » client » ui » FriendsHome.java
package at.socialconference.web.client.ui;

import java.util.List;

import at.socialconference.inter.model.User;
import at.socialconference.web.client.SCwebService;
import at.socialconference.web.client.controller.ViewController;

import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.VerticalPanel;

public class FriendsHome extends Composite {
    
  private class AsyncCallbackGetFriendRequests implements AsyncCallback<List<User>> {
    @Override
    public void onFailure(Throwable caught) {
      Window.alert("Could not connect to server");
    }
    @Override
    public void onSuccess(List<User> result) {
      if (result == null || result.size() == 0) {
        return;
      }
      
      rightVerticalPanel = new VerticalPanel();
      rightVerticalPanel.getElement().getStyle().setPaddingLeft(20, Unit.PX);
      
      Label lblFriendRequests = new Label("New friend requests from:");
      lblFriendRequests.setStyleName("textbigger");
      
      rightVerticalPanel.add(lblFriendRequests);
      
      FlowPanel requestingUsers = new FlowPanel();
      rightVerticalPanel.add(requestingUsers);
      
      //"," implemented quick and dirty ;)
      ;
      for (User u : result) {
        LabelLinkedUser lblUserRequest = new LabelLinkedUser(u);
        requestingUsers.add(lblUserRequest);
        Label lblColon = new Label(",");
        lblColon.setStyleName("textbig");
        requestingUsers.add(lblColon);
      }
      requestingUsers.remove(requestingUsers.getWidgetCount()-1);
      mainHorizontalPanel.add(rightVerticalPanel);
    }
    
  }
  
  private HorizontalPanel mainHorizontalPanel;
  private VerticalPanel leftVerticalPanel;
  private VerticalPanel rightVerticalPanel;
  private Label lblFriends;
  
  public FriendsHome() {
    mainHorizontalPanel = new HorizontalPanel();
    leftVerticalPanel = new VerticalPanel();
    rightVerticalPanel = new VerticalPanel();
    
    mainHorizontalPanel.add(leftVerticalPanel);
    mainHorizontalPanel.add(rightVerticalPanel);
    
    List<User> friends = ViewController.getInstance().getClientUser().getContacts();
    
    PeopleTable friendsTable = new PeopleTable(false);
    friendsTable.setData(friends);
    
    lblFriends = new Label("Your Friends");
    lblFriends.setStyleName("textbigger");
    
    leftVerticalPanel.add(lblFriends);
    leftVerticalPanel.add(friendsTable);
    
    SCwebService.Util.getInstance().getFriendRequests(new AsyncCallbackGetFriendRequests());
        
    initWidget(mainHorizontalPanel);
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.