~ubuntu-branches/ubuntu/raring/eucalyptus/raring

« back to all changes in this revision

Viewing changes to clc/modules/www/src/main/java/com/eucalyptus/webui/client/view/ConfigViewImpl.java

  • Committer: Package Import Robot
  • Author(s): Brian Thomason
  • Date: 2011-11-29 13:17:52 UTC
  • mfrom: (1.2.1 upstream)
  • mto: This revision was merged to the branch mainline in revision 185.
  • Revision ID: package-import@ubuntu.com-20111129131752-rq31al3ntutv2vvl
Tags: upstream-3.0.999beta1
ImportĀ upstreamĀ versionĀ 3.0.999beta1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package com.eucalyptus.webui.client.view;
 
2
 
 
3
import java.util.ArrayList;
 
4
import java.util.logging.Level;
 
5
import java.util.logging.Logger;
 
6
import com.eucalyptus.webui.client.service.SearchResult;
 
7
import com.eucalyptus.webui.client.service.SearchResultFieldDesc;
 
8
import com.eucalyptus.webui.client.service.SearchResultRow;
 
9
import com.google.gwt.core.client.GWT;
 
10
import com.google.gwt.uibinder.client.UiBinder;
 
11
import com.google.gwt.uibinder.client.UiField;
 
12
import com.google.gwt.user.client.ui.Composite;
 
13
import com.google.gwt.user.client.ui.LayoutPanel;
 
14
import com.google.gwt.user.client.ui.Widget;
 
15
import com.google.gwt.view.client.SelectionChangeEvent;
 
16
import com.google.gwt.view.client.SelectionChangeEvent.Handler;
 
17
import com.google.gwt.view.client.SingleSelectionModel;
 
18
 
 
19
public class ConfigViewImpl extends Composite implements ConfigView {
 
20
  
 
21
  private static final Logger LOG = Logger.getLogger( ConfigViewImpl.class.getName( ) );
 
22
  
 
23
  private static ConfigViewImplUiBinder uiBinder = GWT.create( ConfigViewImplUiBinder.class );
 
24
  
 
25
  interface ConfigViewImplUiBinder extends UiBinder<Widget, ConfigViewImpl> {}
 
26
 
 
27
  @UiField
 
28
  LayoutPanel tablePanel;
 
29
  
 
30
  private SingleSelectionModel<SearchResultRow> selectionModel;
 
31
  
 
32
  private SearchResultTable table;
 
33
  
 
34
  private Presenter presenter;
 
35
  
 
36
  public ConfigViewImpl( ) {
 
37
    initWidget( uiBinder.createAndBindUi( this ) );
 
38
  }
 
39
  
 
40
  public void initializeTable( int pageSize,  ArrayList<SearchResultFieldDesc> fieldDescs ) {
 
41
    tablePanel.clear( );
 
42
    selectionModel = new SingleSelectionModel<SearchResultRow>( SearchResultRow.KEY_PROVIDER );
 
43
    selectionModel.addSelectionChangeHandler( new Handler( ) {
 
44
      @Override
 
45
      public void onSelectionChange( SelectionChangeEvent event ) {
 
46
        SearchResultRow row = selectionModel.getSelectedObject( );
 
47
        LOG.log( Level.INFO, "Selection changed: " + row );
 
48
        presenter.onSelectionChange( row );
 
49
      }
 
50
    } );
 
51
    table = new SearchResultTable( pageSize, fieldDescs, this.presenter, selectionModel );
 
52
    tablePanel.add( table );
 
53
    table.load( );    
 
54
  }
 
55
 
 
56
  @Override
 
57
  public void showSearchResult( SearchResult result ) {
 
58
    if ( this.table == null ) {
 
59
      initializeTable( this.presenter.getPageSize( ), result.getDescs( ) );
 
60
    }
 
61
    table.setData( result );
 
62
  }
 
63
 
 
64
  @Override
 
65
  public void setPresenter( Presenter presenter ) {
 
66
    this.presenter = presenter;
 
67
  }
 
68
 
 
69
  @Override
 
70
  public void clear( ) {
 
71
    this.tablePanel.clear( );
 
72
    this.table = null;
 
73
  }
 
74
 
 
75
  @Override
 
76
  public void clearSelection( ) {
 
77
    this.selectionModel.setSelected( this.selectionModel.getSelectedObject( ), false );
 
78
  }
 
79
  
 
80
}