Example usage for com.google.gwt.event.logical.shared SelectionEvent fire

List of usage examples for com.google.gwt.event.logical.shared SelectionEvent fire

Introduction

In this page you can find the example usage for com.google.gwt.event.logical.shared SelectionEvent fire.

Prototype

public static <T> void fire(HasSelectionHandlers<T> source, T selectedItem) 

Source Link

Document

Fires a selection event on all registered handlers in the handler manager.If no such handlers exist, this method will do nothing.

Usage

From source file:org.openelis.gwt.widget.table.TableWidget.java

License:Open Source License

/**
 * This method will cause the table row passed to be selected. If the row is
 * already selected, the column clicked will be opened for editing if the
 * cell is editable and the user has the correct permissions.
 * //from   www. j  a v  a2  s  . com
 * @param row
 * @param col
 */
protected void select(final int row, final int col, boolean byClick) {
    if (getHandlerCount(NavigationSelectionEvent.getType()) > 0 && !queryMode && selectedRow != row) {
        NavigationSelectionEvent.fire(this, row);
        return;
    }
    // Remove selections if not multiselect and no key is held
    if (selectedRow != row) {
        if (!multiSelect || (multiSelect && !shiftKey && !ctrlKey)) {
            while (selections.size() > 0) {
                int index = selections.get(0);
                if (fireEvents) {
                    UnselectionEvent event = UnselectionEvent.fire(this, model.get(index), model.get(row));
                    if (event != null && event.isCanceled())
                        return;
                }
                unselect(index);
            }
        }

        //Fire Before Selection
        if (getHandlerCount(BeforeSelectionEvent.getType()) > 0 && fireEvents) {
            BeforeSelectionEvent<TableRow> event = BeforeSelectionEvent.fire(this,
                    renderer.rows.get(tableIndex(row)));
            if (event.isCanceled())
                return;
        } else if (!isEnabled())
            return;
    }
    finishEditing();
    if (multiSelect && ctrlKey && isSelected(row)) {
        unselect(row);
        selectedCol = -1;
        //sinkEvents(Event.KEYEVENTS);
        return;
    }
    if (selectedRow != row) {
        selectRow(row);
        if (fireEvents)
            SelectionEvent.fire(this, renderer.rows.get(tableIndex(row)));
    }
    if (isEnabled() && canEditCell(row, col)) {
        if (byClick && columns.get(col).getColumnWidget() instanceof CheckBox && !shiftKey && !ctrlKey) {
            clearCellExceptions(row, col);
            if (CheckBox.CHECKED.equals(getCell(row, col).getValue())) {
                setCell(row, col, CheckBox.UNCHECKED);
                if (fireEvents)
                    CellEditedEvent.fire(this, row, col, CheckBox.UNCHECKED);
            } else if (queryMode && CheckBox.UNCHECKED.equals(getCell(row, col).getValue())) {
                setCell(row, col, CheckBox.UNKNOWN);
                if (fireEvents)
                    CellEditedEvent.fire(this, row, col, CheckBox.UNKNOWN);
            } else {
                setCell(row, col, CheckBox.CHECKED);
                if (fireEvents)
                    CellEditedEvent.fire(this, row, col, CheckBox.CHECKED);
            }
            selectedCol = -1;
            //sinkEvents(Event.KEYEVENTS);
        } else {
            selectedCol = col;
            renderer.setCellEditor(row, col);
            //unsinkEvents(Event.KEYEVENTS);
        }
    } else {
        selectedCol = -1;
        //sinkEvents(Event.KEYEVENTS);
    }
}

From source file:org.openelis.gwt.widget.table.TableWidget.java

License:Open Source License

public void selectRow(final int index, boolean fire) {
    if (index > model.size())
        throw new IndexOutOfBoundsException();
    selectedRow = index;/*from  w  w  w.  j ava 2s  .co  m*/
    if (multiSelect && shiftKey) {
        if (selections.size() == 0)
            selections.add(index);
        else {
            Integer max = Collections.max(selections);
            Integer min = Collections.min(selections);
            if (index < min) {
                selections.clear();
                for (int i = index; i <= min; i++) {
                    selections.add(i);
                }
            } else if (index > max) {
                selections.clear();
                for (int i = max; i <= index; i++) {
                    selections.add(i);
                }
            }
        }
    } else {
        if (!multiSelect || (multiSelect && !ctrlKey))
            selections.clear();
        selections.add(index);
        selectedRow = index;
    }
    if (view.isVisible())
        renderer.dataChanged(true);
    if (fire)
        SelectionEvent.fire(this, renderer.getRows().get(tableIndex(index)));
}

From source file:org.openelis.gwt.widget.tree.TreeWidget.java

License:Open Source License

/**
 * This method will cause the table row passed to be selected. If the row is
 * already selected, the column clicked will be opened for editing if the
 * cell is editable and the user has the correct permissions.
 * /*w w  w.j av  a  2  s .c  om*/
 * @param row
 * @param col
 */
protected void select(final int row, final int col, boolean byClick) {
    if (selectedRow != row) {
        if (!multiSelect || (multiSelect && !shiftKey && !ctrlKey)) {
            while (selections.size() > 0) {
                int index = selections.get(0);
                if (fireEvents) {
                    UnselectionEvent event = UnselectionEvent.fire(this, rows.get(index), rows.get(row));
                    if (event != null && event.isCanceled())
                        return;
                }
                unselect(index);
            }
        }

        if (getHandlerCount(BeforeSelectionEvent.getType()) > 0 && fireEvents) {
            BeforeSelectionEvent<TreeDataItem> event = BeforeSelectionEvent.fire(this, rows.get(row));
            if (event.isCanceled())
                return;
        } else if (!isEnabled())
            return;
    }
    finishEditing();
    if (multiSelect && ctrlKey && isSelected(row)) {
        unselect(row);
        selectedCol = -1;
        sinkEvents(Event.ONKEYPRESS);
        return;
    }
    if (selectedRow != row) {
        selectRow(row);
        if (fireEvents)
            SelectionEvent.fire(this, rows.get(row));
    }
    if (isEnabled() && canEditCell(row, col)) {
        if (byClick && columns.get(rows.get(row).leafType).get(col).getColumnWidget() instanceof CheckBox
                && !shiftKey && !ctrlKey) {
            clearCellExceptions(row, col);
            if (CheckBox.CHECKED.equals(getCell(row, col).getValue())) {
                setCell(row, col, CheckBox.UNCHECKED);
                if (fireEvents)
                    CellEditedEvent.fire(this, row, col, CheckBox.UNCHECKED);
            } else if (queryMode && CheckBox.UNCHECKED.equals(getCell(row, col).getValue())) {
                setCell(row, col, CheckBox.UNKNOWN);
                if (fireEvents)
                    CellEditedEvent.fire(this, row, col, CheckBox.UNKNOWN);
            } else {
                setCell(row, col, CheckBox.CHECKED);
                if (fireEvents)
                    CellEditedEvent.fire(this, row, col, CheckBox.CHECKED);
            }
            selectedCol = -1;
            sinkEvents(Event.ONKEYPRESS);
        } else {
            selectedCol = col;
            renderer.setCellEditor(row, col);
            unsinkEvents(Event.ONKEYPRESS);
        }
    } else {
        selectedCol = -1;
        sinkEvents(Event.ONKEYPRESS);
    }

}

From source file:org.openelis.gwt.widget.tree.TreeWidget.java

License:Open Source License

/** 
 * This method will select a TreeDataItem based on its rowIndex[0..lastReachableItem].  The row does not need
 * to be currently drawn in the TreeView. 
 * @param index//from  w  w  w .j av a  2s.c  o m
 */
public void select(int rowIndex) {
    if (selectedRow != rowIndex) {
        while (selections.size() > 0) {
            int index = selections.get(0);
            if (fireEvents) {
                UnselectionEvent event = UnselectionEvent.fire(this, rows.get(index), rows.get(rowIndex));
                if (event != null && event.isCanceled())
                    return;
            }
            unselect(index);
        }

        if (getHandlerCount(BeforeSelectionEvent.getType()) > 0 && fireEvents) {
            BeforeSelectionEvent<TreeDataItem> event = BeforeSelectionEvent.fire(this, rows.get(rowIndex));
            if (event.isCanceled())
                return;
        } else if (!isEnabled())
            return;
    }
    selectRow(rowIndex);
    if (fireEvents)
        SelectionEvent.fire(this, getSelection());
}

From source file:org.openelis.gwt.widget.tree.TreeWidget.java

License:Open Source License

/**
 * Will toggle the treeDataItem at the passed in rowIndex[0..lastReachableItem].  Will also select the item if not
 * currently selected./*  w  w  w.  ja v a2s .  c  om*/
 * @param row
 */
public void toggle(int row) {
    finishEditing();
    if (selectedRow != row) {
        if (!multiSelect || (multiSelect && !shiftKey && !ctrlKey)) {
            while (selections.size() > 0) {
                int index = selections.get(0);
                if (fireEvents) {
                    UnselectionEvent event = UnselectionEvent.fire(this, rows.get(index), rows.get(row));
                    if (event != null && event.isCanceled())
                        return;
                }
                unselect(index);
            }
        }

        if (getHandlerCount(BeforeSelectionEvent.getType()) > 0 && fireEvents) {
            BeforeSelectionEvent<TreeDataItem> event = BeforeSelectionEvent.fire(this, rows.get(row));
            if (event.isCanceled())
                return;
        } else if (!isEnabled())
            return;
        selections.add(row);
        rows.get(row).selected = true;
        renderer.rowSelected(row);
        selectedRow = row;
    }

    if (fireEvents)
        SelectionEvent.fire(this, rows.get(row));

    if (!rows.get(row).open) {
        if (fireEvents) {
            BeforeLeafOpenEvent event = BeforeLeafOpenEvent.fire(this, row, rows.get(row));
            if (event != null && event.isCancelled())
                return;
        }
        rows.get(row).open = true;
        refreshRow(row);
        if (fireEvents)
            LeafOpenedEvent.fire(this, row, rows.get(row));
    } else {
        if (fireEvents) {
            BeforeLeafCloseEvent event = BeforeLeafCloseEvent.fire(this, row, rows.get(row));
            if (event != null && event.isCancelled())
                return;
        }
        rows.get(row).close();
        refreshRow(row);
        if (fireEvents)
            LeafClosedEvent.fire(this, row, rows.get(row));
    }
}

From source file:org.openelis.ui.widget.celltable.Table.java

License:Open Source License

/**
 * Private method that will fire a SelectionEvent for the passed index to
 * notify all registered handlers that row at the passed index was selected.
 * Returns true as a default.//  w w  w.j  a va2  s .  c  o  m
 * 
 * @param index
 * @return
 */
private boolean fireSelectionEvent(int index) {

    if (!queryMode)
        SelectionEvent.fire(this, index);

    return true;
}

From source file:org.openelis.ui.widget.RadioPanel.java

License:Open Source License

public void insert(Widget widget, int before) {
    RadioButton radio;//from   ww  w.  j a v  a2 s. co  m

    deck.insert(widget, before);

    radio = new RadioButton("radios");

    radios.add(radio);

    flow.add(radio);

    radio.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            int index = radios.indexOf(event.getSource());

            if (!BeforeSelectionEvent.fire(source, index).isCanceled()) {
                deck.showWidget(radios.indexOf(event.getSource()));
                SelectionEvent.fire(source, index);
            }

        }
    });

    if (radios.size() == 1) {
        deck.showWidget(0);
        radio.setValue(true);
    }
}

From source file:org.overlord.rtgov.ui.client.local.pages.situations.CallTraceWidget.java

License:Apache License

/**
 * @see com.google.gwt.user.client.ui.Widget#onBrowserEvent(com.google.gwt.user.client.Event)
 *//* w ww.  j  a  v a2s. com*/
@Override
public void onBrowserEvent(Event event) {
    super.onBrowserEvent(event);
    EventTarget target = event.getEventTarget();
    Element elem = (Element) target.cast();
    String nodeId = elem.getAttribute("data-nodeid"); //$NON-NLS-1$

    if (nodeMap.containsKey(nodeId)) {
        TraceNodeBean bean = nodeMap.get(nodeId);
        SelectionEvent.fire(this, bean);
    }
}

From source file:org.overlord.sramp.ui.client.local.pages.ontologies.OntologiesTable.java

License:Apache License

/**
 * Adds a single row to the table.//  w w w  . jav a  2  s.  com
 *
 * @param ontologyBean
 *            the ontology bean
 */
public void addRow(final OntologySummaryBean ontologyBean) {
    int rowIdx = this.rowElements.size();

    final Anchor a = new Anchor(OntologiesUtil.createOntologyLabel(ontologyBean));
    a.getElement().setAttribute("data-uuid", ontologyBean.getUuid()); //$NON-NLS-1$
    a.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            SelectionEvent.fire(OntologiesTable.this, ontologyBean);
        }
    });
    Anchor downloadAnchor = new Anchor();
    // downloadAnchor.setStyleName("download-link");
    String contentUrl = GWT.getModuleBaseURL() + "services/ontologyDownload?uuid=" + ontologyBean.getUuid(); //$NON-NLS-1$
    downloadAnchor.setHref(contentUrl);
    downloadAnchor.setHTML("<div class=\"download-icon\"></div>"); //$NON-NLS-1$

    add(rowIdx, 0, a);
    add(rowIdx, 1, downloadAnchor);
    rows.put(ontologyBean, rowIdx);

}

From source file:org.overlord.sramp.ui.client.local.pages.ontologies.OntologiesTable.java

License:Apache License

/**
 * Select item.//from ww  w.  java  2 s .c om
 *
 * @param ontology
 *            the ontology
 */
public void selectItem(String uuid) {
    for (OntologySummaryBean ontology : rows.keySet()) {
        if (ontology.getUuid() != null && !ontology.getUuid().equals("") //$NON-NLS-1$
                && ontology.getUuid().equals(uuid)) {
            SelectionEvent.fire(OntologiesTable.this, ontology);
        }
    }

}