List of usage examples for com.google.gwt.dom.client TableCellElement getCellIndex
public int getCellIndex()
From source file:com.google.gwt.sample.contacts.client.view.ContactsViewImpl.java
private boolean shouldFireClickEvent(TableCellElement cell) { boolean shouldFireClickEvent = false; if (cell != null) { ColumnDefinition<T> columnDefinition = columnDefinitions.get(cell.getCellIndex()); if (columnDefinition != null) { shouldFireClickEvent = columnDefinition.isClickable(); }/*from w ww . j a va2s. c o m*/ } return shouldFireClickEvent; }
From source file:com.google.gwt.sample.contacts.client.view.ContactsViewImpl.java
private boolean shouldFireSelectEvent(TableCellElement cell) { boolean shouldFireSelectEvent = false; if (cell != null) { ColumnDefinition<T> columnDefinition = columnDefinitions.get(cell.getCellIndex()); if (columnDefinition != null) { shouldFireSelectEvent = columnDefinition.isSelectable(); }/*from w ww .j a v a 2s . com*/ } return shouldFireSelectEvent; }
From source file:org.drools.guvnor.client.widgets.decoratedgrid.VerticalMergableGridWidget.java
License:Apache License
@Override public void onBrowserEvent(Event event) { String eventType = event.getType(); // Get the event target EventTarget eventTarget = event.getEventTarget(); if (!Element.is(eventTarget)) { return;/*from w w w.j av a 2s . c o m*/ } Element target = event.getEventTarget().cast(); //Check whether "group" widget has been clicked boolean bGroupWidgetClick = isGroupWidgetClicked(event, target); // Find the cell where the event occurred. TableCellElement eventTableCell = findNearestParentCell(target); if (eventTableCell == null) { return; } int htmlCol = eventTableCell.getCellIndex(); Element trElem = eventTableCell.getParentElement(); if (trElem == null) { return; } TableRowElement tr = TableRowElement.as(trElem); int htmlRow = tr.getSectionRowIndex(); // Convert HTML coordinates to physical coordinates CellValue<?> htmlCell = data.get(htmlRow).get(htmlCol); Coordinate eventPhysicalCoordinate = htmlCell.getPhysicalCoordinate(); CellValue<?> eventPhysicalCell = data.get(eventPhysicalCoordinate.getRow()) .get(eventPhysicalCoordinate.getCol()); //Event handlers if (eventType.equals("mousedown")) { handleMousedownEvent(event, eventPhysicalCoordinate, bGroupWidgetClick); return; } else if (eventType.equals("mousemove")) { handleMousemoveEvent(event, eventPhysicalCoordinate); return; } else if (eventType.equals("mouseup")) { handleMouseupEvent(event, eventPhysicalCoordinate); return; } else if (eventType.equals("keydown")) { handleKeyboardNavigationEvent(event); if (event.getKeyCode() == KeyCodes.KEY_ENTER) { // Enter key is a special case; as the selected cell needs to be // sent events and not the cell that GWT deemed the target for // events. switch (rangeDirection) { case UP: eventPhysicalCell = selections.first(); break; case DOWN: eventPhysicalCell = selections.last(); break; } eventPhysicalCoordinate = eventPhysicalCell.getCoordinate(); eventTableCell = tbody.getRows().getItem(eventPhysicalCell.getHtmlCoordinate().getRow()).getCells() .getItem(eventPhysicalCell.getHtmlCoordinate().getCol()); } } // Pass event and physical cell to Cell Widget for handling Cell<CellValue<? extends Comparable<?>>> cellWidget = columns.get(eventPhysicalCoordinate.getCol()) .getCell(); // Implementations of AbstractCell aren't forced to initialise consumed events Set<String> consumedEvents = cellWidget.getConsumedEvents(); if (consumedEvents != null && consumedEvents.contains(eventType)) { Context context = new Context(eventPhysicalCoordinate.getRow(), eventPhysicalCoordinate.getCol(), eventPhysicalCoordinate); //The element containing the cell's HTML is nested inside two DIVs Element parent = eventTableCell.getFirstChildElement().getFirstChildElement(); cellWidget.onBrowserEvent(context, parent, eventPhysicalCell, event, null); } }
From source file:org.kaaproject.avro.ui.gwt.client.widget.grid.AvroUiDataGrid.java
License:Apache License
@Override protected void onBrowserEvent2(Event event) { if (hasFilterHeaders()) { EventTarget eventTarget = event.getEventTarget(); if (!Element.is(eventTarget)) { return; }/* w ww .j a v a 2 s. c o m*/ final Element target = event.getEventTarget().cast(); TableSectionElement thead = getTableHeadElement(); TableSectionElement targetTableSection = null; TableCellElement targetTableCell = null; Element headerParent = null; Element maybeTableCell = null; Element cur = target; while (cur != null && targetTableSection == null) { if (cur == thead) { targetTableSection = cur.cast(); if (maybeTableCell != null) { targetTableCell = maybeTableCell.cast(); break; } } String tagName = cur.getTagName(); if (TableCellElement.TAG_TD.equalsIgnoreCase(tagName) || TableCellElement.TAG_TH.equalsIgnoreCase(tagName)) { maybeTableCell = cur; } if (headerParent == null && getHeaderBuilder().isHeader(cur)) { headerParent = cur; } cur = cur.getParentElement(); } if (targetTableCell != null) { String eventType = event.getType(); TableRowElement targetTableRow = targetTableCell.getParentElement().cast(); int col = targetTableCell.getCellIndex(); if (targetTableSection == thead) { if (headerParent != null) { Header<?> header = getHeaderBuilder().getHeader(headerParent); if (header != null) { int headerIndex = getHeaderBuilder().getRowIndex(targetTableRow); if (header instanceof StringFilterHeader) { if (StringFilterHeader.isFilterFocusEvent(eventType)) { filterFocusedCellColumn = col; filterFocusedCellRow = headerIndex; } else { filterFocusedCellColumn = -1; filterFocusedCellRow = -1; } } } } } } } super.onBrowserEvent2(event); }
From source file:org.xwiki.gwt.wysiwyg.client.plugin.table.feature.DeleteCol.java
License:Open Source License
/** * {@inheritDoc}/*ww w . j av a 2 s . com*/ * * @see AbstractTableFeature#execute(String) */ public boolean execute(String parameter) { TableCellElement caretCell = TableUtils.getInstance() .getCell(TableUtils.getInstance().getCaretNode(rta.getDocument())); int cellIndex = caretCell.getCellIndex(); TableElement table = TableUtils.getInstance().getTable(caretCell); NodeList<TableRowElement> rows = table.getRows(); // Move caret TableCellElement newCaretCell = TableUtils.getInstance().getPreviousCellInRow(caretCell); if (newCaretCell == null) { newCaretCell = TableUtils.getInstance().getNextCellInRow(caretCell); } if (newCaretCell != null) { TableUtils.getInstance().putCaretInNode(rta, newCaretCell); } // Loop over table rows to delete a cell in each of them for (int i = 0; i < rows.getLength(); i++) { TableRowElement currentRow = rows.getItem(i); currentRow.deleteCell(cellIndex); } return true; }
From source file:org.xwiki.gwt.wysiwyg.client.plugin.table.util.TableUtils.java
License:Open Source License
/** * Get next cell in cell's row.//from w w w. j a v a 2 s.com * * @param cell currently edited cell. * @return the next TableCellElement if any, null otherwise. */ public TableCellElement getNextCellInRow(TableCellElement cell) { TableRowElement row = getRow(cell); NodeList<TableCellElement> cells = row.getCells(); if (cells.getLength() > cell.getCellIndex() + 1) { return cells.getItem(cell.getCellIndex() + 1); } else { return null; } }
From source file:org.xwiki.gwt.wysiwyg.client.plugin.table.util.TableUtils.java
License:Open Source License
/** * Get previous cell in cell's row./*from w w w .ja va 2 s .c o m*/ * * @param cell currently edited cell. * @return the previous TableCellElement if any, null otherwise. */ public TableCellElement getPreviousCellInRow(TableCellElement cell) { TableRowElement row = getRow(cell); NodeList<TableCellElement> cells = row.getCells(); if (cell.getCellIndex() > 0) { return cells.getItem(cell.getCellIndex() - 1); } else { return null; } }
From source file:org.xwiki.gwt.wysiwyg.client.plugin.table.util.TableUtils.java
License:Open Source License
/** * Get next cell in cell's column./*from ww w. j a v a2 s .c o m*/ * * @param cell currently edited cell. * @return the next TableCellElement if any, null otherwise. */ public TableCellElement getNextCellInColumn(TableCellElement cell) { TableRowElement row = getRow(cell); TableElement table = getTable(row); NodeList<TableRowElement> rows = table.getRows(); if (rows.getLength() > row.getRowIndex() + 1) { return rows.getItem(row.getRowIndex() + 1).getCells().getItem(cell.getCellIndex()); } else { return null; } }
From source file:org.xwiki.gwt.wysiwyg.client.plugin.table.util.TableUtils.java
License:Open Source License
/** * Get previous cell in cell's column.//from ww w.j a va 2 s. c o m * * @param cell currently edited cell. * @return the previous TableCellElement if any, null otherwise. */ public TableCellElement getPreviousCellInColumn(TableCellElement cell) { TableRowElement row = getRow(cell); TableElement table = getTable(row); NodeList<TableRowElement> rows = table.getRows(); if (row.getRowIndex() > 0) { return rows.getItem(row.getRowIndex() - 1).getCells().getItem(cell.getCellIndex()); } else { return null; } }
From source file:org.xwiki.gwt.wysiwyg.client.plugin.table.util.TableUtils.java
License:Open Source License
/** * Insert a column in the currently edited table. * //from www. ja v a 2 s . c om * @param doc the Document to get the selection from. * @param insertBefore indicates the creation position relatively to the currently edited column. */ public void insertCol(Document doc, boolean insertBefore) { TableCellElement cell = getCell(getCaretNode(doc)); TableElement table = getTable(cell); NodeList<TableRowElement> rows = table.getRows(); int index = cell.getCellIndex(); // Loop over table rows to create a new cell in each of them for (int i = 0; i < rows.getLength(); i++) { TableRowElement currentRow = rows.getItem(i); TableCellElement newCell; if (isHeaderRow(currentRow)) { newCell = doc.createTHElement(); if (insertBefore) { currentRow.insertBefore(newCell, currentRow.getCells().getItem(index)); } else { DOMUtils.getInstance().insertAfter(newCell, currentRow.getCells().getItem(index)); } } else { newCell = currentRow.insertCell(insertBefore ? index : index + 1); } newCell.setInnerHTML(CELL_DEFAULTHTML); } }