List of usage examples for com.google.gwt.dom.client Element getAbsoluteRight
@Override
public int getAbsoluteRight()
From source file:com.alkacon.acacia.client.ui.ChoiceSubmenu.java
License:Open Source License
/** * Helper method to position a submenu on the left side of a menu entry.<p> * /*from w ww . j a v a 2 s . co m*/ * @param widgetEntry the widget entry relative to which the submenu should be positioned */ protected void positionNextToMenuEntry(final ChoiceMenuEntryWidget widgetEntry) { Element elem = getElement(); elem.getStyle().setPosition(Style.Position.ABSOLUTE); Element referenceElement = null; int startX = -2000; int startY = -2000; int deltaX = 0; int deltaY = 0; referenceElement = widgetEntry.getElement(); Style style = elem.getStyle(); style.setLeft(startX, Unit.PX); style.setTop(startY, Unit.PX); int myRight = elem.getAbsoluteRight(); int myTop = elem.getAbsoluteTop(); int refLeft = referenceElement.getAbsoluteLeft(); int refTop = referenceElement.getAbsoluteTop(); int newLeft = startX + (refLeft - myRight) + deltaX; int newTop; if (openAbove(referenceElement)) { int myHeight = elem.getOffsetHeight(); int refHeight = referenceElement.getOffsetHeight(); newTop = startY + ((refTop + refHeight) - (myTop + myHeight)) + deltaY; } else { newTop = startY + (refTop - myTop) + deltaY; } style.setLeft(newLeft, Unit.PX); style.setTop(newTop, Unit.PX); }
From source file:com.bearsoft.gwt.ui.containers.window.WindowPanel.java
@Override public void maximize() { if (!maximized) { restoreSnapshot();// ww w . j a v a2 s . c o m maximized = true; updateDecorCursors(); snapshotMetrics(); // editing Element movableElement = getMovableTarget().getElement(); Style targetStyle = getWidget().getElement().getStyle(); // content int leftInset = getWidget().getElement().getAbsoluteLeft() - movableElement.getAbsoluteLeft(); int rightInset = movableElement.getAbsoluteRight() - getWidget().getElement().getAbsoluteRight(); int hInsets = leftInset + rightInset; int topInset = getWidget().getElement().getAbsoluteTop() - movableElement.getAbsoluteTop(); int bottomInset = movableElement.getAbsoluteBottom() - getWidget().getElement().getAbsoluteBottom(); int vInsets = topInset + bottomInset; Element parentElement = getMovableTarget().getParent().getElement(); int parentScrollWidth = parentElement.getScrollWidth(); int parentScrollHeight; if (parentElement == Document.get().getBody())// Some browsers // return incorrect // height for body // element { parentScrollHeight = Document.get().getClientHeight(); } else { parentScrollHeight = parentElement.getScrollHeight(); } targetStyle.setWidth(parentScrollWidth - hInsets, Style.Unit.PX); targetStyle.setHeight(parentScrollHeight - vInsets, Style.Unit.PX); // editing targetStyle = movableElement.getStyle(); // window targetStyle.setLeft(0, Style.Unit.PX); targetStyle.setTop(0, Style.Unit.PX); onResize(); MaximizeEvent.<WindowUI>fire(this, this); } }
From source file:com.bfr.client.selection.RangeEndPoint.java
License:Apache License
private static int closerOffset(Element ele, int relX) { return ((relX - ele.getAbsoluteLeft()) <= (ele.getAbsoluteRight() - relX)) ? 0 : 1; }
From source file:com.bfr.client.selection.RangeEndPoint.java
License:Apache License
private static boolean contains(Element ele, int relX, int relY) { /*/*ww w . j a v a 2 s.c o m*/ int l = ele.getAbsoluteLeft(); int r = ele.getAbsoluteRight(); int t = ele.getAbsoluteTop(); int b = ele.getAbsoluteBottom(); */ return ((ele.getAbsoluteLeft() <= relX) && (ele.getAbsoluteRight() >= relX) && (ele.getAbsoluteTop() <= relY) && (ele.getAbsoluteBottom() >= relY)); }
From source file:com.bfr.client.selection.RangeEndPoint.java
License:Apache License
private static int getLocDistance(Element ele, int relX, int relY) { int top = ele.getAbsoluteTop(); int bot = ele.getAbsoluteBottom(); int res = 0;//w w w. j a va 2 s . co m if (relY < bot) { res = bot - relY; } else if (relY > top) { res = relY - top; } int left = ele.getAbsoluteLeft(); int right = ele.getAbsoluteRight(); if (relX < left) { res += left - relX; } else if (relX > right) { res += right - relX; } return res; }
From source file:com.ephesoft.gxt.core.client.ui.widget.DetailGrid.java
License:Open Source License
private void setEditing() { editingGrid = new GridInlineEditing<DetailsDTO>(this) { @SuppressWarnings("rawtypes") @Override//from ww w.j a va 2 s. co m protected <N, O> void doStartEditing(final com.sencha.gxt.widget.core.client.grid.Grid.GridCell cell) { super.doStartEditing(cell); final ColumnModel<DetailsDTO> columnModel = cm; setEditorDimension(cell, columnModel); } private void setEditorDimension(final com.sencha.gxt.widget.core.client.grid.Grid.GridCell cell, final ColumnModel<DetailsDTO> columnModel) { if (null != columnModel) { final ColumnConfig<DetailsDTO, ?> columnConfig = columnModel.getColumn(cell.getCol()); if (null != columnConfig) { final IsField editor = getEditor(columnConfig); final Element cellElement = getView().getCell(cell.getRow(), cell.getCol()); if (editor instanceof Component) { final Component field = (Component) editor; final int client_y = cellElement.getOffsetTop(); final int client_x = cellElement.getOffsetLeft(); final int margin = Math.abs(cellElement.getAbsoluteLeft() - client_x) / 2; final int width = cellElement.getAbsoluteRight() - client_x - margin; field.setWidth(250); field.setPosition(client_x, client_y); } } } } }; }
From source file:com.ephesoft.gxt.core.client.ui.widget.Grid.java
License:Open Source License
private GridInlineEditing<T> getGridEditing() { return new GridInlineEditing<T>(this) { @Override// w w w. j a v a2 s . c o m protected <N, O> void doStartEditing(com.sencha.gxt.widget.core.client.grid.Grid.GridCell cell) { super.doStartEditing(cell); ColumnModel<T> columnModel = getColumnModel(); if (null != columnModel) { ColumnConfig<T, ?> columnConfig = columnModel.getColumn(cell.getCol()); if (null != columnConfig) { IsField<T> editor = getEditor(columnConfig); Element cellElement = Grid.this.getView().getCell(cell.getRow(), cell.getCol()); if (editor instanceof Field) { Field<T> field = (Field<T>) editor; Widget editorWidget = editor.asWidget(); int client_y = cellElement.getOffsetTop(); int client_x = cellElement.getOffsetLeft(); int width = cellElement.getAbsoluteRight() - cellElement.getAbsoluteLeft(); int height = cellElement.getAbsoluteBottom() - cellElement.getAbsoluteTop() + 3; field.setPixelSize(width, height); editorWidget.getElement().getStyle().setTop(client_y, Unit.PX); editorWidget.getElement().getStyle().setLeft(client_x, Unit.PX); } } } } }; }
From source file:com.ephesoft.gxt.rv.client.widget.DataTableGrid.java
License:Open Source License
private void setEditable() { editingGrid = new GridInlineEditing<Row>(this) { @Override//from ww w. j a v a 2 s . c o m protected <N, O> void doStartEditing(final com.sencha.gxt.widget.core.client.grid.Grid.GridCell cell) { super.doStartEditing(cell); final ColumnModel<Row> columnModel = getColumnModel(); if (null != columnModel) { final ColumnConfig<Row, ?> columnConfig = columnModel.getColumn(cell.getCol()); if (null != columnConfig) { final IsField editor = getEditor(columnConfig); final Element cellElement = DataTableGrid.this.getView().getCell(cell.getRow(), cell.getCol()); if (editor instanceof Field) { final Field field = (Field) editor; final int client_y = cellElement.getOffsetTop(); final int client_x = cellElement.getOffsetLeft(); final int margin = Math.abs(cellElement.getAbsoluteLeft() - client_x) / 2; final int width = cellElement.getAbsoluteRight() - client_x - margin; field.setWidth(width); field.setPosition(client_x, client_y); if (field instanceof ColumnSuggestionBox) { ColumnSuggestionBox columnSuggestionBox = (ColumnSuggestionBox) field; addAlternateValue(columnSuggestionBox, cell); } } } } } }; this.setEditors(); }
From source file:com.smartgwt.mobile.client.widgets.tableview.TableView.java
License:Open Source License
@Override public void onBrowserEvent(Event event) { super.onBrowserEvent(event); if (!isEnabled()) return;/* w ww . ja va 2s. c o m*/ final Element targetElem = EventUtil.getTargetElem(event); if (targetElem != null) { final Element element; final JsArray<Touch> touches; final int clientX, clientY; final boolean wasContextClickFired; switch (event.getTypeInt()) { case Event.ONMOUSEDOWN: onStart(event, null); break; case Event.ONTOUCHSTART: touches = event.getTouches(); if (touches.length() == 1 && touchIdentifier == null) { onStart(event, touches.get(0)); } else { // Another finger is touching the screen. onEnd(event); } break; case Event.ONMOUSEMOVE: if (touchActive) { clientX = event.getClientX(); clientY = event.getClientY(); if (Math.abs(touchPointX - clientX) >= 10 || Math.abs(touchPointY - clientY) >= 10) { onEnd(event); } } break; case Event.ONTOUCHMOVE: if (touchActive) { touches = event.getTouches(); if (touches.length() == 1 && touchIdentifier != null) { final Touch touch = touches.get(0); if (touch.getIdentifier() == touchIdentifier.intValue()) { clientX = touch.getClientX(); clientY = touch.getClientY(); if (Math.abs(touchPointX - clientX) >= 10 || Math.abs(touchPointY - clientY) >= 10) { onEnd(event); } } } } break; case Event.ONMOUSEUP: case Event.ONMOUSEOUT: case Event.ONTOUCHEND: case Event.ONTOUCHCANCEL: element = activeElement; wasContextClickFired = contextClickFired; onEnd(event); if (element != null && wasContextClickFired) { onClick(element, null); } break; case Event.ONCLICK: if (!isEnabled()) return; element = _findElement(event); onClick(element, targetElem); break; case Event.ONCONTEXTMENU: if (!isEnabled()) return; element = _findElement(event); if (element != null) { // Find the "context clickable element". // The context clickable element is the title element, unless there // is no title element, in which case it is the <li>. Element contextClickableElement = element; final NodeList<Node> children = element.getChildNodes(); final int children_length = children.getLength(); for (int i = 0; i < children_length; ++i) { final Node child = children.getItem(i); if (child.getNodeType() != Node.ELEMENT_NODE) continue; final Element childElem = (Element) child; if (ElementUtil.hasClassName(childElem, TableView.RECORD_TITLE_CLASS_NAME)) { contextClickableElement = childElem; if (touchActive) contextClickFired = true; break; } } if (contextClickableElement.isOrHasChild(targetElem)) { final Integer recordIndex = _findRecordIndex(element); if (recordIndex != null) { final Record record = _getData().get(recordIndex.intValue()); final boolean cancelled = RowContextClickEvent._fire(this, -1, record, recordIndex.intValue()); if (!cancelled) { final Menu contextMenu = getContextMenu(); if (contextMenu != null) { contextClickableElement.addClassName(_CSS.contextClickedElementClass()); final Object recordID = getRecordId(record); final Element li = elementMap.get(recordID); assert li != null; final Element finalContextClickableElement = contextClickableElement; new BeforeMenuHiddenHandler() { private HandlerRegistration beforeMenuHiddenRegistration = contextMenu ._addBeforeMenuHiddenHandler(this); @Override public void _onBeforeMenuHidden(BeforeMenuHiddenEvent event) { beforeMenuHiddenRegistration.removeHandler(); finalContextClickableElement .removeClassName(_CSS.contextClickedElementClass()); } }; contextMenu._showAt(this, event.getClientX(), event.getClientY(), contextClickableElement.getAbsoluteLeft(), contextClickableElement.getAbsoluteRight(), contextClickableElement.getAbsoluteTop(), contextClickableElement.getAbsoluteBottom()); if (touchActive) contextClickFired = true; break; } } } } } break; } } }
From source file:com.vaadin.addon.spreadsheet.client.SheetTabSheet.java
private void updateInputSize() { String text = input.getValue(); if (text.length() > 31) { text = text.substring(0, 31);//from w ww .ja va2 s. c o m input.setValue(text); } tempElement.setInnerText(text); int textWidth = tempElement.getOffsetWidth(); if (textWidth < 50) { textWidth = 50; } // check that the edited tab doesn't overflow the tab sheet Element selectedTab = (Element) tabs.get(selectedTabIndex).cast(); int rootAbsoluteRight = root.getAbsoluteRight(); int selectedTabAbsoluteRight = selectedTab.getAbsoluteRight() + 10; while (selectedTabAbsoluteRight > rootAbsoluteRight && tabScrollIndex < (tabs.length() - 1)) { double width = getTabWidth(tabScrollIndex); selectedTabAbsoluteRight -= width; tabScrollMargin -= width; tabScrollIndex++; } container.getStyle().setMarginLeft(tabScrollMargin, Unit.PX); input.getStyle().setWidth(textWidth + 5, Unit.PX); selectedTab.getStyle().setWidth(textWidth, Unit.PX); }