Example usage for com.google.gwt.view.client SingleSelectionModel SingleSelectionModel

List of usage examples for com.google.gwt.view.client SingleSelectionModel SingleSelectionModel

Introduction

In this page you can find the example usage for com.google.gwt.view.client SingleSelectionModel SingleSelectionModel.

Prototype

public SingleSelectionModel(ProvidesKey<T> keyProvider) 

Source Link

Document

Constructs a SingleSelectionModel with the given key provider.

Usage

From source file:com.jitlogic.zico.client.views.admin.UserManagementPanel.java

License:Open Source License

private void createUserGrid() {
    userGrid = new DataGrid<UserInfo>(1024 * 1024, ZicoDataGridResources.INSTANCE, KEY_PROVIDER);
    selectionModel = new SingleSelectionModel<UserInfo>(KEY_PROVIDER);
    userGrid.setSelectionModel(selectionModel);

    Column<UserInfo, UserInfo> colUsername = new IdentityColumn<UserInfo>(USERNAME_CELL);
    userGrid.addColumn(colUsername, new ResizableHeader<UserInfo>("Username", userGrid, colUsername));
    userGrid.setColumnWidth(colUsername, 128, Style.Unit.PX);

    Column<UserInfo, UserInfo> colUserRole = new IdentityColumn<UserInfo>(USERROLE_CELL);
    userGrid.addColumn(colUserRole, new ResizableHeader<UserInfo>("Role", userGrid, colUserRole));
    userGrid.setColumnWidth(colUserRole, 64, Style.Unit.PX);

    Column<UserInfo, UserInfo> colRealName = new IdentityColumn<UserInfo>(REALNAME_CELL);
    userGrid.addColumn(colRealName, new ResizableHeader<UserInfo>("Real Name", userGrid, colRealName));
    userGrid.setColumnWidth(colRealName, 256, Style.Unit.PX);

    Column<UserInfo, UserInfo> colUserHosts = new IdentityColumn<UserInfo>(USERHOSTS_CELL);
    userGrid.addColumn(colUserHosts, "Allowed hosts");
    userGrid.setColumnWidth(colUserHosts, 100, Style.Unit.PCT);

    userStore = new ListDataProvider<UserInfo>(KEY_PROVIDER);
    userStore.addDataDisplay(userGrid);/*  ww w.  java2 s. co  m*/

    userGrid.addCellPreviewHandler(new CellPreviewEvent.Handler<UserInfo>() {
        @Override
        public void onCellPreview(CellPreviewEvent<UserInfo> event) {
            NativeEvent nev = event.getNativeEvent();
            String eventType = nev.getType();
            if ((BrowserEvents.KEYDOWN.equals(eventType) && nev.getKeyCode() == KeyCodes.KEY_ENTER)
                    || BrowserEvents.DBLCLICK.equals(nev.getType())) {
                selectionModel.setSelected(event.getValue(), true);
                editUser(null);
            }
            if (BrowserEvents.CONTEXTMENU.equals(eventType)) {
                selectionModel.setSelected(event.getValue(), true);
                if (event.getValue() != null) {
                    contextMenu.setPopupPosition(event.getNativeEvent().getClientX(),
                            event.getNativeEvent().getClientY());
                    contextMenu.show();
                }
            }

        }
    });

    userGrid.addDomHandler(new DoubleClickHandler() {
        @Override
        public void onDoubleClick(DoubleClickEvent event) {
            event.preventDefault();
        }
    }, DoubleClickEvent.getType());
    userGrid.addDomHandler(new ContextMenuHandler() {
        @Override
        public void onContextMenu(ContextMenuEvent event) {
            event.preventDefault();
        }
    }, ContextMenuEvent.getType());
}

From source file:com.jitlogic.zico.client.views.hosts.HostListPanel.java

License:Open Source License

private void createHostGrid() {

    hostGrid = new DataGrid<HostListObject>(1024 * 1024, ZicoDataGridResources.INSTANCE, KEY_PROVIDER);
    selectionModel = new SingleSelectionModel<HostListObject>(KEY_PROVIDER);
    hostGrid.setSelectionModel(selectionModel);

    Column<HostListObject, HostListObject> colExpand = new IdentityColumn<HostListObject>(EXPAND_CELL);
    hostGrid.addColumn(colExpand, new ResizableHeader<HostListObject>("#", hostGrid, colExpand));
    hostGrid.setColumnWidth(colExpand, 36, Style.Unit.PX);

    Column<HostListObject, HostListObject> colName = new IdentityColumn<HostListObject>(NAME_CELL);
    hostGrid.addColumn(colName, new ResizableHeader<HostListObject>("Name", hostGrid, colName));
    hostGrid.setColumnWidth(colName, 140, Style.Unit.PX);

    Column<HostListObject, HostListObject> colAddr = new IdentityColumn<HostListObject>(ADDRESS_CELL);
    hostGrid.addColumn(colAddr, "Address");
    hostGrid.setColumnWidth(colAddr, 60, Style.Unit.PCT);

    hostGrid.setSkipRowHoverStyleUpdate(true);
    hostGrid.setSkipRowHoverFloatElementCheck(true);
    hostGrid.setSkipRowHoverCheck(true);
    hostGrid.setKeyboardSelectionPolicy(HasKeyboardSelectionPolicy.KeyboardSelectionPolicy.DISABLED);

    hostGridStore = new ListDataProvider<HostListObject>();
    hostGridStore.addDataDisplay(hostGrid);

    hostGrid.addCellPreviewHandler(new CellPreviewEvent.Handler<HostListObject>() {
        @Override/* www  . j a v  a  2  s.  c  om*/
        public void onCellPreview(CellPreviewEvent<HostListObject> event) {
            NativeEvent nev = event.getNativeEvent();
            String eventType = nev.getType();
            if ((BrowserEvents.KEYDOWN.equals(eventType) && nev.getKeyCode() == KeyCodes.KEY_ENTER)
                    || BrowserEvents.DBLCLICK.equals(nev.getType())) {
                selectionModel.setSelected(event.getValue(), true);

                enableSelectionDependentControls(event.getValue());

                if (event.getValue() instanceof HostInfo) {
                    listTraces(null);
                } else {
                    HostGroup hg = (HostGroup) event.getValue();
                    hg.toggleExpanded();
                    redrawHostList();
                }
            }
            if (BrowserEvents.CONTEXTMENU.equals(eventType)) {
                selectionModel.setSelected(event.getValue(), true);
                if (event.getValue() != null) {
                    contextMenu.setPopupPosition(event.getNativeEvent().getClientX(),
                            event.getNativeEvent().getClientY());
                    contextMenu.show();
                }
            }

            // TODO update toolbar icons and context menu on element selection
        }
    });

    hostGrid.addDomHandler(new DoubleClickHandler() {
        @Override
        public void onDoubleClick(DoubleClickEvent event) {
            event.preventDefault();
        }
    }, DoubleClickEvent.getType());

    hostGrid.addDomHandler(new ContextMenuHandler() {
        @Override
        public void onContextMenu(ContextMenuEvent event) {
            event.preventDefault();
        }
    }, ContextMenuEvent.getType());

    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            enableSelectionDependentControls(selectionModel.getSelectedObject());
        }
    });
}

From source file:com.jitlogic.zico.client.views.traces.MethodAttrsDialog.java

License:Open Source License

private void setupGrid() {
    attrGrid = new DataGrid<String[]>(1024 * 1024, ZicoDataGridResources.INSTANCE, KEY_PROVIDER);
    selectionModel = new SingleSelectionModel<String[]>(KEY_PROVIDER);
    attrGrid.setSelectionModel(selectionModel);

    Column<String[], String> colAttribute = new Column<String[], String>(ATTR_CELL) {
        @Override/*from   w w w .j a v a  2s .co m*/
        public String getValue(String[] attr) {
            return attr[0];
        }
    };
    attrGrid.addColumn(colAttribute);
    attrGrid.setColumnWidth(colAttribute, 100, Style.Unit.PCT);

    attrStore = new ListDataProvider<String[]>(KEY_PROVIDER);
    attrStore.addDataDisplay(attrGrid);

    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            String[] item = selectionModel.getSelectedObject();
            if (item != null) {
                lblAttrName.setText("Selected attribute: " + item[0]);
                txtAttrVal.setText(item[1]);
            }
        }
    });

    attrGrid.setSize("100%", "100%");
}

From source file:com.jitlogic.zico.client.views.traces.MethodRankingPanel.java

License:Open Source License

private void createRankingGrid() {

    rankGrid = new DataGrid<MethodRankInfo>(1024 * 1024, ZicoDataGridResources.INSTANCE, KEY_PROVIDER);
    selectionModel = new SingleSelectionModel<MethodRankInfo>(KEY_PROVIDER);
    rankGrid.setSelectionModel(selectionModel);

    Column<MethodRankInfo, String> colMethod = new Column<MethodRankInfo, String>(new TextCell()) {
        @Override/*from  w  ww  .  j  av  a  2 s.  com*/
        public String getValue(MethodRankInfo m) {
            return m.getMethod();
        }
    };
    rankGrid.addColumn(colMethod, new ResizableHeader<MethodRankInfo>("Method", rankGrid, colMethod));
    rankGrid.setColumnWidth(colMethod, 100, Style.Unit.PCT);

    Column<MethodRankInfo, String> colCalls = new Column<MethodRankInfo, String>(new TextCell()) {
        @Override
        public String getValue(MethodRankInfo m) {
            return "" + m.getCalls();
        }
    };
    rankGrid.addColumn(colCalls, new ResizableHeader<MethodRankInfo>("Calls", rankGrid, colCalls));
    rankGrid.setColumnWidth(colCalls, 50, Style.Unit.PX);

    Column<MethodRankInfo, String> colErrors = new Column<MethodRankInfo, String>(new TextCell()) {
        @Override
        public String getValue(MethodRankInfo m) {
            return "" + m.getErrors();
        }
    };
    rankGrid.addColumn(colErrors, new ResizableHeader<MethodRankInfo>("Errors", rankGrid, colErrors));
    rankGrid.setColumnWidth(colErrors, 50, Style.Unit.PX);

    Column<MethodRankInfo, String> colTime = new Column<MethodRankInfo, String>(new TextCell()) {
        @Override
        public String getValue(MethodRankInfo m) {
            return ClientUtil.formatDuration(m.getTime());
        }
    };
    rankGrid.addColumn(colErrors, new ResizableHeader<MethodRankInfo>("Time", rankGrid, colTime));
    rankGrid.setColumnWidth(colTime, 50, Style.Unit.PX);

    Column<MethodRankInfo, String> colMinTime = new Column<MethodRankInfo, String>(new TextCell()) {
        @Override
        public String getValue(MethodRankInfo m) {
            return ClientUtil.formatDuration(m.getMinTime());
        }
    };
    rankGrid.addColumn(colMinTime, new ResizableHeader<MethodRankInfo>("MinT", rankGrid, colMinTime));
    rankGrid.setColumnWidth(colMinTime, 50, Style.Unit.PX);

    Column<MethodRankInfo, String> colMaxTime = new Column<MethodRankInfo, String>(new TextCell()) {
        @Override
        public String getValue(MethodRankInfo m) {
            return ClientUtil.formatDuration(m.getMaxTime());
        }
    };
    rankGrid.addColumn(colMaxTime, new ResizableHeader<MethodRankInfo>("MaxT", rankGrid, colMaxTime));
    rankGrid.setColumnWidth(colMaxTime, 50, Style.Unit.PX);

    Column<MethodRankInfo, String> colAvgTime = new Column<MethodRankInfo, String>(new TextCell()) {
        @Override
        public String getValue(MethodRankInfo m) {
            return ClientUtil.formatDuration(m.getAvgTime());
        }
    };
    rankGrid.addColumn(colAvgTime, new ResizableHeader<MethodRankInfo>("AvgT", rankGrid, colAvgTime));
    rankGrid.setColumnWidth(colAvgTime, 50, Style.Unit.PX);

    Column<MethodRankInfo, String> colBareTime = new Column<MethodRankInfo, String>(new TextCell()) {
        @Override
        public String getValue(MethodRankInfo m) {
            return ClientUtil.formatDuration(m.getBareTime());
        }
    };
    rankGrid.addColumn(colBareTime, new ResizableHeader<MethodRankInfo>("BT", rankGrid, colBareTime));
    rankGrid.setColumnWidth(colBareTime, 50, Style.Unit.PX);

    Column<MethodRankInfo, String> colMaxBareTime = new Column<MethodRankInfo, String>(new TextCell()) {
        @Override
        public String getValue(MethodRankInfo m) {
            return ClientUtil.formatDuration(m.getMaxBareTime());
        }
    };
    rankGrid.addColumn(colMaxBareTime, new ResizableHeader<MethodRankInfo>("MaxBT", rankGrid, colMaxBareTime));
    rankGrid.setColumnWidth(colMaxBareTime, 50, Style.Unit.PX);

    Column<MethodRankInfo, String> colMinBareTime = new Column<MethodRankInfo, String>(new TextCell()) {
        @Override
        public String getValue(MethodRankInfo m) {
            return ClientUtil.formatDuration(m.getMinBareTime());
        }
    };
    rankGrid.addColumn(colMinBareTime, new ResizableHeader<MethodRankInfo>("MinBT", rankGrid, colMinBareTime));
    rankGrid.setColumnWidth(colMinBareTime, 50, Style.Unit.PX);

    rankStore = new ListDataProvider<MethodRankInfo>(KEY_PROVIDER);
    rankStore.addDataDisplay(rankGrid);

}

From source file:com.jitlogic.zico.client.views.traces.TraceCallTreePanel.java

License:Open Source License

private void createCallTreeGrid() {
    grid = new DataGrid<TraceRecordInfo>(1024 * 1024, ZicoDataGridResources.INSTANCE, KEY_PROVIDER);
    selection = new SingleSelectionModel<TraceRecordInfo>(KEY_PROVIDER);
    grid.setSelectionModel(selection);/*from www. j  a  va2 s . c om*/

    Column<TraceRecordInfo, TraceRecordInfo> colExpander = new IdentityColumn<TraceRecordInfo>(
            DETAIL_EXPANDER_CELL);
    grid.addColumn(colExpander, "#");
    grid.setColumnWidth(colExpander, 32, Style.Unit.PX);

    Column<TraceRecordInfo, TraceRecordInfo> colMethodName = new IdentityColumn<TraceRecordInfo>(
            METHOD_TREE_CELL);
    grid.addColumn(colMethodName, new ResizableHeader<TraceRecordInfo>("Method", grid, colMethodName));
    grid.setColumnWidth(colMethodName, 100, Style.Unit.PCT);

    Column<TraceRecordInfo, TraceRecordInfo> colTime = new IdentityColumn<TraceRecordInfo>(METHOD_TIME_CELL);
    grid.addColumn(colTime, new ResizableHeader<TraceRecordInfo>("Time", grid, colTime));
    grid.setColumnWidth(colTime, 60, Style.Unit.PX);
    colTime.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);

    Column<TraceRecordInfo, TraceRecordInfo> colCTime = new IdentityColumn<TraceRecordInfo>(METHOD_CTIME_CELL);
    grid.addColumn(colCTime, new ResizableHeader<TraceRecordInfo>("CTime", grid, colTime));
    grid.setColumnWidth(colCTime, 60, Style.Unit.PX);
    colCTime.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);

    Column<TraceRecordInfo, TraceRecordInfo> colCalls = new IdentityColumn<TraceRecordInfo>(METHOD_CALLS_CELL);
    grid.addColumn(colCalls, new ResizableHeader<TraceRecordInfo>("Calls", grid, colCalls));
    grid.setColumnWidth(colCalls, 60, Style.Unit.PX);

    Column<TraceRecordInfo, TraceRecordInfo> colErrors = new IdentityColumn<TraceRecordInfo>(
            METHOD_ERRORS_CELL);
    grid.addColumn(colErrors, new ResizableHeader<TraceRecordInfo>("Errors", grid, colErrors));
    grid.setColumnWidth(colErrors, 60, Style.Unit.PX);

    Column<TraceRecordInfo, TraceRecordInfo> colPct = new IdentityColumn<TraceRecordInfo>(METHOD_PCT_CELL);
    grid.addColumn(colPct, new ResizableHeader<TraceRecordInfo>("Pct", grid, colPct));
    grid.setColumnWidth(colPct, 60, Style.Unit.PX);

    rowBuilder = new TraceCallTableBuilder(grid, expandedDetails);
    grid.setTableBuilder(rowBuilder);

    // Disable hovering "features" overall to improve performance on big trees.
    grid.setSkipRowHoverStyleUpdate(true);
    grid.setSkipRowHoverFloatElementCheck(true);
    grid.setSkipRowHoverCheck(true);
    grid.setKeyboardSelectionPolicy(HasKeyboardSelectionPolicy.KeyboardSelectionPolicy.DISABLED);

    grid.addCellPreviewHandler(new CellPreviewEvent.Handler<TraceRecordInfo>() {
        @Override
        public void onCellPreview(CellPreviewEvent<TraceRecordInfo> event) {
            NativeEvent nev = event.getNativeEvent();
            String eventType = nev.getType();
            if ((BrowserEvents.KEYDOWN.equals(eventType) && nev.getKeyCode() == KeyCodes.KEY_ENTER)
                    || BrowserEvents.DBLCLICK.equals(nev.getType())) {
                TraceRecordInfo tr = event.getValue();
                panelFactory.methodAttrsDialog(trace.getHostName(), trace.getDataOffs(), tr.getPath(), 0L)
                        .asPopupWindow().show();
            }
            if (BrowserEvents.CONTEXTMENU.equals(eventType)) {
                selection.setSelected(event.getValue(), true);
                contextMenu.setPopupPosition(event.getNativeEvent().getClientX(),
                        event.getNativeEvent().getClientY());
                contextMenu.show();
            }
        }
    });

    grid.addDomHandler(new DoubleClickHandler() {
        @Override
        public void onDoubleClick(DoubleClickEvent event) {
            event.preventDefault();
        }
    }, DoubleClickEvent.getType());

    grid.addDomHandler(new ContextMenuHandler() {
        @Override
        public void onContextMenu(ContextMenuEvent event) {
            event.preventDefault();
        }
    }, ContextMenuEvent.getType());

    data = new ListDataProvider<TraceRecordInfo>();
    data.addDataDisplay(grid);
}

From source file:com.jitlogic.zico.client.views.traces.TraceRecordSearchDialog.java

License:Open Source License

private void createResultsGrid() {

    resultsGrid = new DataGrid<TraceRecordInfo>(1024 * 1024, ZicoDataGridResources.INSTANCE, KEY_PROVIDER);
    selectionModel = new SingleSelectionModel<TraceRecordInfo>(KEY_PROVIDER);
    resultsGrid.setSelectionModel(selectionModel);

    Column<TraceRecordInfo, TraceRecordInfo> colExpander = new IdentityColumn<TraceRecordInfo>(
            DETAIL_EXPANDER_CELL);//from w  ww  .  j  ava2 s .  c  om
    resultsGrid.addColumn(colExpander, "#");
    resultsGrid.setColumnWidth(colExpander, 32, Style.Unit.PX);

    Column<TraceRecordInfo, TraceRecordInfo> colMethod = new IdentityColumn<TraceRecordInfo>(METHOD_CELL);
    resultsGrid.addColumn(colMethod, new ResizableHeader<TraceRecordInfo>("Method", resultsGrid, colMethod));
    resultsGrid.setColumnWidth(colMethod, 100, Style.Unit.PCT);

    Column<TraceRecordInfo, String> colTime = new Column<TraceRecordInfo, String>(new TextCell()) {
        @Override
        public String getValue(TraceRecordInfo rec) {
            return ClientUtil.formatDuration(rec.getTime());
        }
    };
    resultsGrid.addColumn(colTime, new ResizableHeader<TraceRecordInfo>("Time", resultsGrid, colTime));
    resultsGrid.setColumnWidth(colTime, 50, Style.Unit.PX);

    Column<TraceRecordInfo, String> colCalls = new Column<TraceRecordInfo, String>(new TextCell()) {
        @Override
        public String getValue(TraceRecordInfo rec) {
            return "" + rec.getCalls();
        }
    };
    resultsGrid.addColumn(colCalls, new ResizableHeader<TraceRecordInfo>("Calls", resultsGrid, colCalls));
    resultsGrid.setColumnWidth(colCalls, 50, Style.Unit.PX);

    Column<TraceRecordInfo, String> colErrors = new Column<TraceRecordInfo, String>(new TextCell()) {
        @Override
        public String getValue(TraceRecordInfo rec) {
            return "" + rec.getErrors();
        }
    };
    resultsGrid.addColumn(colErrors, new ResizableHeader<TraceRecordInfo>("Errors", resultsGrid, colErrors));
    resultsGrid.setColumnWidth(colErrors, 50, Style.Unit.PX);

    Column<TraceRecordInfo, TraceRecordInfo> colPct = new IdentityColumn<TraceRecordInfo>(METHOD_PCT_CELL);
    resultsGrid.addColumn(colPct, new ResizableHeader<TraceRecordInfo>("Pct", resultsGrid, colPct));
    resultsGrid.setColumnWidth(colPct, 50, Style.Unit.PX);

    rowBuilder = new TraceCallTableBuilder(resultsGrid, expandedDetails);
    resultsGrid.setTableBuilder(rowBuilder);

    resultsGrid.setSkipRowHoverStyleUpdate(true);
    resultsGrid.setSkipRowHoverFloatElementCheck(true);
    resultsGrid.setSkipRowHoverCheck(true);
    resultsGrid.setKeyboardSelectionPolicy(HasKeyboardSelectionPolicy.KeyboardSelectionPolicy.DISABLED);

    resultsGrid.addCellPreviewHandler(new CellPreviewEvent.Handler<TraceRecordInfo>() {
        @Override
        public void onCellPreview(CellPreviewEvent<TraceRecordInfo> event) {
            NativeEvent nev = event.getNativeEvent();
            String eventType = nev.getType();
            if ((BrowserEvents.KEYDOWN.equals(eventType) && nev.getKeyCode() == KeyCodes.KEY_ENTER)
                    || BrowserEvents.DBLCLICK.equals(nev.getType())) {
                doGoTo();
            }
            //if (BrowserEvents.CONTEXTMENU.equals(eventType)) {
            //    selection.setSelected(event.getValue(), true);
            //    contextMenu.showAt(event.getNativeEvent().getClientX(), event.getNativeEvent().getClientY());
            //}
        }
    });

    resultsGrid.addDomHandler(new DoubleClickHandler() {
        @Override
        public void onDoubleClick(DoubleClickEvent event) {
            event.preventDefault();
        }
    }, DoubleClickEvent.getType());
    resultsGrid.addDomHandler(new ContextMenuHandler() {
        @Override
        public void onContextMenu(ContextMenuEvent event) {
            event.preventDefault();
        }
    }, ContextMenuEvent.getType());

    resultsStore = new ListDataProvider<TraceRecordInfo>();
    resultsStore.addDataDisplay(resultsGrid);
}

From source file:com.jitlogic.zico.client.views.traces.TraceSearchPanel.java

License:Open Source License

private void createTraceGrid() {
    grid = new DataGrid<TraceInfo>(1024 * 1024, ZicoDataGridResources.INSTANCE, KEY_PROVIDER);
    selection = new SingleSelectionModel<TraceInfo>(KEY_PROVIDER);
    grid.setSelectionModel(selection);/*  w w  w  .  j a  v  a  2  s. c o  m*/

    data = new ListDataProvider<TraceInfo>();
    data.addDataDisplay(grid);

    sortHandler = new ColumnSortEvent.ListHandler<TraceInfo>(data.getList());
    grid.addColumnSortHandler(sortHandler);

    Column<TraceInfo, TraceInfo> colExpander = new IdentityColumn<TraceInfo>(DETAIL_EXPANDER_CELL);
    grid.addColumn(colExpander, "#");
    grid.setColumnWidth(colExpander, 32, Style.Unit.PX);

    Column<TraceInfo, TraceInfo> colTraceClock = new IdentityColumn<TraceInfo>(TRACE_CLOCK_CELL);
    grid.addColumn(colTraceClock, new ResizableHeader<TraceInfo>("Clock", grid, colTraceClock));
    grid.setColumnWidth(colTraceClock, 140, Style.Unit.PX);

    colTraceClock.setSortable(true);
    sortHandler.setComparator(colTraceClock, new Comparator<TraceInfo>() {
        @Override
        public int compare(TraceInfo o1, TraceInfo o2) {
            return (int) (o1.getClock() - o2.getClock());
        }
    });

    Column<TraceInfo, TraceInfo> colTraceType = new IdentityColumn<TraceInfo>(TRACE_TYPE_CELL);
    grid.addColumn(colTraceType, new ResizableHeader<TraceInfo>("Type", grid, colTraceType));
    grid.setColumnWidth(colTraceType, 60, Style.Unit.PX);

    Column<TraceInfo, TraceInfo> colTraceDuration = new IdentityColumn<TraceInfo>(TRACE_DURATION_CELL);
    grid.addColumn(colTraceDuration, new ResizableHeader<TraceInfo>("Time", grid, colTraceDuration));
    grid.setColumnWidth(colTraceDuration, 64, Style.Unit.PX);
    colTraceDuration.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);

    colTraceDuration.setSortable(true);
    sortHandler.setComparator(colTraceDuration, new Comparator<TraceInfo>() {
        @Override
        public int compare(TraceInfo o1, TraceInfo o2) {
            return (int) ((o1.getExecutionTime() - o2.getExecutionTime()) / 1000000L);
        }
    });

    Column<TraceInfo, TraceInfo> colTraceCalls = new IdentityColumn<TraceInfo>(TRACE_CALLS_CELL);
    grid.addColumn(colTraceCalls, new ResizableHeader<TraceInfo>("Calls", grid, colTraceCalls));
    grid.setColumnWidth(colTraceCalls, 50, Style.Unit.PX);

    colTraceCalls.setSortable(true);
    sortHandler.setComparator(colTraceCalls, new Comparator<TraceInfo>() {
        @Override
        public int compare(TraceInfo o1, TraceInfo o2) {
            return (int) (o1.getCalls() - o2.getCalls());
        }
    });

    Column<TraceInfo, TraceInfo> colTraceErrors = new IdentityColumn<TraceInfo>(TRACE_ERRORS_CELL);
    grid.addColumn(colTraceErrors, new ResizableHeader<TraceInfo>("Errs", grid, colTraceErrors));
    grid.setColumnWidth(colTraceErrors, 50, Style.Unit.PX);

    colTraceErrors.setSortable(true);
    sortHandler.setComparator(colTraceErrors, new Comparator<TraceInfo>() {
        @Override
        public int compare(TraceInfo o1, TraceInfo o2) {
            return (int) (o1.getErrors() - o2.getErrors());
        }
    });

    Column<TraceInfo, TraceInfo> colTraceRecords = new IdentityColumn<TraceInfo>(TRACE_RECORDS_CELL);
    grid.addColumn(colTraceRecords, new ResizableHeader<TraceInfo>("Recs", grid, colTraceRecords));
    grid.setColumnWidth(colTraceRecords, 50, Style.Unit.PX);

    colTraceRecords.setSortable(true);
    sortHandler.setComparator(colTraceRecords, new Comparator<TraceInfo>() {
        @Override
        public int compare(TraceInfo o1, TraceInfo o2) {
            return (int) (o1.getRecords() - o2.getRecords());
        }
    });

    Column<TraceInfo, TraceInfo> colTraceDesc = new IdentityColumn<TraceInfo>(TRACE_NAME_CELL);
    grid.addColumn(colTraceDesc, "Description");
    grid.setColumnWidth(colTraceDesc, 100, Style.Unit.PCT);

    rowBuilder = new TraceSearchTableBuilder(grid, expandedDetails);
    grid.setTableBuilder(rowBuilder);

    grid.setSkipRowHoverStyleUpdate(true);
    grid.setSkipRowHoverFloatElementCheck(true);
    grid.setSkipRowHoverCheck(true);
    grid.setKeyboardSelectionPolicy(HasKeyboardSelectionPolicy.KeyboardSelectionPolicy.DISABLED);

    grid.addCellPreviewHandler(new CellPreviewEvent.Handler<TraceInfo>() {
        @Override
        public void onCellPreview(CellPreviewEvent<TraceInfo> event) {
            NativeEvent nev = event.getNativeEvent();
            String eventType = nev.getType();
            if ((BrowserEvents.KEYDOWN.equals(eventType) && nev.getKeyCode() == KeyCodes.KEY_ENTER)
                    || BrowserEvents.DBLCLICK.equals(nev.getType())) {
                selection.setSelected(event.getValue(), true);
                openDetailView();
            }
            if (BrowserEvents.CONTEXTMENU.equals(eventType)) {
                selection.setSelected(event.getValue(), true);
                if (selection.getSelectedObject() != null) {
                    contextMenu.setPopupPosition(event.getNativeEvent().getClientX(),
                            event.getNativeEvent().getClientY());
                    contextMenu.show();
                }
            }
        }
    });

    grid.addDomHandler(new DoubleClickHandler() {
        @Override
        public void onDoubleClick(DoubleClickEvent event) {
            event.preventDefault();
        }
    }, DoubleClickEvent.getType());
    grid.addDomHandler(new ContextMenuHandler() {
        @Override
        public void onContextMenu(ContextMenuEvent event) {
            event.preventDefault();
        }
    }, ContextMenuEvent.getType());
}

From source file:com.jitlogic.zico.client.views.traces.TraceStatsPanel.java

License:Open Source License

private void createTraceGrid() {
    grid = new DataGrid<TraceInfoStatsResult>(1024 * 1024, ZicoDataGridResources.INSTANCE, KEY_PROVIDER);
    selection = new SingleSelectionModel<TraceInfoStatsResult>(KEY_PROVIDER);
    grid.setSelectionModel(selection);/*  w w w . j a  v a  2 s.  com*/

    data = new ListDataProvider<TraceInfoStatsResult>();
    data.addDataDisplay(grid);

    sortHandler = new ColumnSortEvent.ListHandler<TraceInfoStatsResult>(data.getList());
    grid.addColumnSortHandler(sortHandler);

    Column<TraceInfoStatsResult, TraceInfoStatsResult> colTraceCalls = new IdentityColumn<TraceInfoStatsResult>(
            TRACE_CALLS_CELL);
    grid.addColumn(colTraceCalls, new ResizableHeader<TraceInfoStatsResult>("Calls", grid, colTraceCalls));
    grid.setColumnWidth(colTraceCalls, 50, Style.Unit.PX);

    colTraceCalls.setSortable(true);
    sortHandler.setComparator(colTraceCalls, new Comparator<TraceInfoStatsResult>() {
        @Override
        public int compare(TraceInfoStatsResult o1, TraceInfoStatsResult o2) {
            return o1.getCalls() - o2.getCalls();
        }
    });

    Column<TraceInfoStatsResult, TraceInfoStatsResult> colTraceErrors = new IdentityColumn<TraceInfoStatsResult>(
            TRACE_ERRORS_CELL);
    grid.addColumn(colTraceErrors, new ResizableHeader<TraceInfoStatsResult>("Errors", grid, colTraceErrors));
    grid.setColumnWidth(colTraceErrors, 50, Style.Unit.PX);

    colTraceErrors.setSortable(true);
    sortHandler.setComparator(colTraceErrors, new Comparator<TraceInfoStatsResult>() {
        @Override
        public int compare(TraceInfoStatsResult o1, TraceInfoStatsResult o2) {
            return o1.getErrors() - o2.getErrors();
        }
    });

    Column<TraceInfoStatsResult, TraceInfoStatsResult> colSumTime = new IdentityColumn<TraceInfoStatsResult>(
            TIME_SUM_CELL);
    grid.addColumn(colSumTime, new ResizableHeader<TraceInfoStatsResult>("Sum Time", grid, colSumTime));
    grid.setColumnWidth(colSumTime, 96, Style.Unit.PX);

    colSumTime.setSortable(true);
    sortHandler.setComparator(colSumTime, new Comparator<TraceInfoStatsResult>() {
        @Override
        public int compare(TraceInfoStatsResult o1, TraceInfoStatsResult o2) {
            return (int) ((o1.getSumTime() - o2.getSumTime()) / 1000000L);
        }
    });

    // avgTime

    Column<TraceInfoStatsResult, TraceInfoStatsResult> colMinTime = new IdentityColumn<TraceInfoStatsResult>(
            TIME_MIN_CELL);
    grid.addColumn(colMinTime, new ResizableHeader<TraceInfoStatsResult>("Min Time", grid, colMinTime));
    grid.setColumnWidth(colMinTime, 96, Style.Unit.PX);

    colMinTime.setSortable(true);
    sortHandler.setComparator(colMinTime, new Comparator<TraceInfoStatsResult>() {
        @Override
        public int compare(TraceInfoStatsResult o1, TraceInfoStatsResult o2) {
            return (int) ((o1.getMinTime() - o2.getMinTime()) / 1000000L);
        }
    });

    Column<TraceInfoStatsResult, TraceInfoStatsResult> colMaxTime = new IdentityColumn<TraceInfoStatsResult>(
            TIME_MAX_CELL);
    grid.addColumn(colMaxTime, new ResizableHeader<TraceInfoStatsResult>("Max Time", grid, colMaxTime));
    grid.setColumnWidth(colMaxTime, 96, Style.Unit.PX);

    colMaxTime.setSortable(true);
    sortHandler.setComparator(colMaxTime, new Comparator<TraceInfoStatsResult>() {
        @Override
        public int compare(TraceInfoStatsResult o1, TraceInfoStatsResult o2) {
            return (int) ((o1.getMaxTime() - o2.getMaxTime()) / 1000000L);
        }
    });

    Column<TraceInfoStatsResult, TraceInfoStatsResult> colAttr = new IdentityColumn<TraceInfoStatsResult>(
            ATTR_CELL);
    colAttr.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT);
    grid.addColumn(colAttr, new ResizableHeader<TraceInfoStatsResult>("Attr", grid, colAttr));
    grid.setColumnWidth(colAttr, 100, Style.Unit.PCT);

    colAttr.setSortable(true);
    sortHandler.setComparator(colAttr, new Comparator<TraceInfoStatsResult>() {
        @Override
        public int compare(TraceInfoStatsResult o1, TraceInfoStatsResult o2) {
            return o1.getAttr().compareTo(o2.getAttr());
        }
    });

    grid.addCellPreviewHandler(new CellPreviewEvent.Handler<TraceInfoStatsResult>() {
        @Override
        public void onCellPreview(CellPreviewEvent<TraceInfoStatsResult> event) {
            NativeEvent nev = event.getNativeEvent();
            String eventType = nev.getType();
            if ((BrowserEvents.KEYDOWN.equals(eventType) && nev.getKeyCode() == KeyCodes.KEY_ENTER)
                    || BrowserEvents.DBLCLICK.equals(nev.getType())) {
                selection.setSelected(event.getValue(), true);
                openSearchView();
            }
            if (BrowserEvents.CONTEXTMENU.equals(eventType)) {
                selection.setSelected(event.getValue(), true);
                if (selection.getSelectedObject() != null) {
                    contextMenu.setPopupPosition(event.getNativeEvent().getClientX(),
                            event.getNativeEvent().getClientY());
                    contextMenu.show();
                }
            }
        }
    });

    grid.addDomHandler(new DoubleClickHandler() {
        @Override
        public void onDoubleClick(DoubleClickEvent event) {
            event.preventDefault();
        }
    }, DoubleClickEvent.getType());
    grid.addDomHandler(new ContextMenuHandler() {
        @Override
        public void onContextMenu(ContextMenuEvent event) {
            event.preventDefault();
        }
    }, ContextMenuEvent.getType());
}

From source file:com.jitlogic.zico.widgets.demo.client.views.UserManagementPanel.java

License:Open Source License

private void createUserGrid() {
    userGrid = new DataGrid<UserInfo>(1024 * 1024, ZicoDataGridResources.INSTANCE, KEY_PROVIDER);
    selectionModel = new SingleSelectionModel<UserInfo>(KEY_PROVIDER);
    userGrid.setSelectionModel(selectionModel);

    Column<UserInfo, String> colUserId = new Column<UserInfo, String>(new TextCell()) {
        @Override/*from w  w w .  j  a  v  a2s  .  c o m*/
        public String getValue(UserInfo object) {
            return "" + object.getId();
        }
    };
    userGrid.addColumn(colUserId, new ResizableHeader<UserInfo>("#", userGrid, colUserId));
    userGrid.setColumnWidth(colUserId, 35, Style.Unit.PX);

    final EditTextCell cellUsername = new EditTextCell();
    Column<UserInfo, String> colUsername = new Column<UserInfo, String>(cellUsername) {
        @Override
        public String getValue(UserInfo user) {
            return user.getUsername();
        }
    };
    colUsername.setFieldUpdater(new FieldUpdater<UserInfo, String>() {
        public void update(int index, UserInfo user, String value) {
            markChange(user);
            user.setUsername(value);
            cellUsername.clearViewData(user.getId());
        }
    });
    userGrid.addColumn(colUsername, new ResizableHeader<UserInfo>("Username", userGrid, colUsername));
    userGrid.setColumnWidth(colUsername, 128, Style.Unit.PX);

    Map<String, Integer> roles = ZicoWidgets.map("VIEWER", 1, "ADMIN", 2);

    final SelectCell<String, Integer> cellRoles = new SelectCell<String, Integer>(roles);
    Column<UserInfo, Integer> colUserRole = new Column<UserInfo, Integer>(cellRoles) {
        @Override
        public Integer getValue(UserInfo user) {
            return user.getRole();
        }
    };
    colUserRole.setFieldUpdater(new FieldUpdater<UserInfo, Integer>() {
        public void update(int index, UserInfo user, Integer value) {
            markChange(user);
            user.setRole(value);
            cellRoles.clearViewData(user.getId());
        }
    });
    userGrid.addColumn(colUserRole, new ResizableHeader<UserInfo>("Role", userGrid, colUserRole));
    userGrid.setColumnWidth(colUserRole, 128, Style.Unit.PX);

    final EditTextCell cellFullname = new EditTextCell();
    Column<UserInfo, String> colFullname = new Column<UserInfo, String>(cellFullname) {
        @Override
        public String getValue(UserInfo user) {
            return user.getFullname();
        }
    };
    colFullname.setFieldUpdater(new FieldUpdater<UserInfo, String>() {
        public void update(int index, UserInfo user, String value) {
            markChange(user);
            user.setFullname(value);
            cellFullname.clearViewData(user.getId());
        }
    });
    userGrid.addColumn(colFullname, new ResizableHeader<UserInfo>("Full Name", userGrid, colFullname));
    userGrid.setColumnWidth(colFullname, 256, Style.Unit.PX);

    final EditTextCell cellComment = new EditTextCell();
    Column<UserInfo, String> colComment = new Column<UserInfo, String>(cellComment) {
        @Override
        public String getValue(UserInfo user) {
            return user.getComment();
        }
    };
    colComment.setFieldUpdater(new FieldUpdater<UserInfo, String>() {
        public void update(int index, UserInfo user, String value) {
            markChange(user);
            user.setComment(value);
            cellComment.clearViewData(user.getId());
        }
    });
    userGrid.addColumn(colComment, "Comment");
    userGrid.setColumnWidth(colComment, 100, Style.Unit.PC);

    userStore = new ListDataProvider<UserInfo>(KEY_PROVIDER);
    userStore.addDataDisplay(userGrid);

    userGrid.addCellPreviewHandler(new CellPreviewEvent.Handler<UserInfo>() {
        public void onCellPreview(CellPreviewEvent<UserInfo> event) {
            NativeEvent nev = event.getNativeEvent();
            String eventType = nev.getType();
            if ((BrowserEvents.KEYDOWN.equals(eventType) && nev.getKeyCode() == KeyCodes.KEY_ENTER)
                    || BrowserEvents.DBLCLICK.equals(nev.getType())) {
                selectionModel.setSelected(event.getValue(), true);
                editUser(null);
            }
            if (BrowserEvents.CONTEXTMENU.equals(eventType)) {
                selectionModel.setSelected(event.getValue(), true);
                if (event.getValue() != null) {
                    contextMenu.setPopupPosition(event.getNativeEvent().getClientX(),
                            event.getNativeEvent().getClientY());
                    contextMenu.show();
                }
            }

        }
    });

    userGrid.addDomHandler(new DoubleClickHandler() {
        public void onDoubleClick(DoubleClickEvent event) {
            event.preventDefault();
        }
    }, DoubleClickEvent.getType());
    userGrid.addDomHandler(new ContextMenuHandler() {
        public void onContextMenu(ContextMenuEvent event) {
            event.preventDefault();
        }
    }, ContextMenuEvent.getType());

}

From source file:com.plr.hanzi.client.view.dictionnary.ZwCharBrowser.java

License:Apache License

public ZwCharBrowser() {

    cellTable = new CellTable<ZhongWenCharacter>(CardData.KEY_PROVIDER);

    // Create rank column.
    TextColumn<ZhongWenCharacter> rankColumn = new TextColumn<ZhongWenCharacter>() {
        @Override/*from  w ww .  j a v  a2 s . c  o m*/
        public String getValue(ZhongWenCharacter zwChar) {
            return "" + zwChar.getId();
        }
    };

    TextColumn<ZhongWenCharacter> zhCharColumn = new TextColumn<ZhongWenCharacter>() {
        @Override
        public String getValue(ZhongWenCharacter zwChar) {
            return zwChar.getSimplifiedCharacter();
        }
    };

    cellTable.addColumn(rankColumn, "Rank");
    cellTable.addColumn(zhCharColumn, "Simplified");

    cellTable.setPageSize(getPageSize());
    cellTable.setKeyboardPagingPolicy(KeyboardPagingPolicy.CHANGE_PAGE);
    cellTable.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.BOUND_TO_SELECTION);

    // // Create a Pager to control the table.
    SimplePager.Resources pagerResources = GWT.create(SimplePager.Resources.class);
    pager = new SimplePager(TextLocation.CENTER, pagerResources, false, 0, true);
    pager.setDisplay(cellTable);

    // Add a selection model so we can select cells.
    final SingleSelectionModel<ZhongWenCharacter> selectionModel = new SingleSelectionModel<ZhongWenCharacter>(
            CardData.KEY_PROVIDER);
    cellTable.setSelectionModel(selectionModel);
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {

        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            ZhongWenCharacter zwChar = selectionModel.getSelectedObject();
            History.newItem(ApplicationConst.CHARARCTER + "/" + zwChar.getId());
        }
    });

    // Add the CellList to the data provider in the database.
    DataControler.get().addDataDisplay(cellTable);

    cellTable.addRangeChangeHandler(new RangeChangeEvent.Handler() {
        @Override
        public void onRangeChange(RangeChangeEvent event) {
            lastAccessedRange = event.getNewRange();
        }
    });

    if (lastAccessedRange != null) {
        cellTable.setVisibleRange(lastAccessedRange);
    }

    initWidget(uiBinder.createAndBindUi(this));
}