Search in sources :

Example 1 with VVerticalLayout

use of com.vaadin.client.ui.VVerticalLayout in project cuba by cuba-platform.

the class Tools method showPopup.

public static void showPopup(VOverlay overlay, int left, int top) {
    overlay.setAutoHideEnabled(true);
    overlay.setVisible(false);
    overlay.show();
    Widget widget = overlay.getWidget();
    if (widget instanceof VVerticalLayout) {
        resetItemSelection(widget);
        VVerticalLayout verticalLayout = (VVerticalLayout) widget;
        if (verticalLayout.getStyleName().contains(CUBA_CONTEXT_MENU_CONTAINER)) {
            int widgetCount = verticalLayout.getWidgetCount();
            if (widgetCount > 1) {
                Widget verticalSlot = verticalLayout.getWidget(0);
                Widget buttonWidget = ((Slot) verticalSlot).getWidget();
                buttonWidget.addStyleName(SELECTED_ITEM_STYLE);
                if (buttonWidget instanceof FocusWidget) {
                    ((FocusWidget) buttonWidget).setFocus(true);
                }
            }
        }
    }
    // mac FF gets bad width due GWT popups overflow hacks,
    // re-determine width
    int offsetWidth = overlay.getOffsetWidth();
    int offsetHeight = overlay.getOffsetHeight();
    if (offsetWidth + left > Window.getClientWidth()) {
        left = left - offsetWidth;
        if (left < 0) {
            left = 0;
        }
    }
    if (offsetHeight + top > Window.getClientHeight()) {
        top = top - offsetHeight;
        if (top < 0) {
            top = 0;
        }
    }
    overlay.setPopupPosition(left, top);
    overlay.setVisible(true);
}
Also used : FocusWidget(com.google.gwt.user.client.ui.FocusWidget) CubaButtonWidget(com.haulmont.cuba.web.toolkit.ui.client.button.CubaButtonWidget) CubaFileUploadWidget(com.haulmont.cuba.web.toolkit.ui.client.jqueryfileupload.CubaFileUploadWidget) Widget(com.google.gwt.user.client.ui.Widget) FocusWidget(com.google.gwt.user.client.ui.FocusWidget) VVerticalLayout(com.vaadin.client.ui.VVerticalLayout) Slot(com.vaadin.client.ui.orderedlayout.Slot)

Example 2 with VVerticalLayout

use of com.vaadin.client.ui.VVerticalLayout in project cuba by cuba-platform.

the class Tools method showPopup.

public static void showPopup(VOverlay overlay, int left, int top) {
    overlay.setAutoHideEnabled(true);
    overlay.setVisible(false);
    overlay.show();
    Widget widget = overlay.getWidget();
    if (widget instanceof VVerticalLayout) {
        resetItemSelection(widget);
        VVerticalLayout verticalLayout = (VVerticalLayout) widget;
        if (verticalLayout.getStyleName().contains(CUBA_CONTEXT_MENU_CONTAINER)) {
            int widgetCount = verticalLayout.getWidgetCount();
            if (widgetCount > 1) {
                Widget verticalSlot = verticalLayout.getWidget(0);
                Widget buttonWidget = ((Slot) verticalSlot).getWidget();
                buttonWidget.addStyleName(SELECTED_ITEM_STYLE);
                if (buttonWidget instanceof FocusWidget) {
                    ((FocusWidget) buttonWidget).setFocus(true);
                }
            }
        }
    }
    // mac FF gets bad width due GWT popups overflow hacks,
    // re-determine width
    int offsetWidth = overlay.getOffsetWidth();
    int offsetHeight = overlay.getOffsetHeight();
    if (offsetWidth + left > Window.getClientWidth()) {
        left = left - offsetWidth;
        if (left < 0) {
            left = 0;
        }
    }
    if (offsetHeight + top > Window.getClientHeight()) {
        top = top - offsetHeight;
        if (top < 0) {
            top = 0;
        }
    }
    overlay.setPopupPosition(left, top);
    overlay.setVisible(true);
}
Also used : FocusWidget(com.google.gwt.user.client.ui.FocusWidget) CubaFileUploadWidget(com.haulmont.cuba.web.widgets.client.jqueryfileupload.CubaFileUploadWidget) Widget(com.google.gwt.user.client.ui.Widget) FocusWidget(com.google.gwt.user.client.ui.FocusWidget) VVerticalLayout(com.vaadin.client.ui.VVerticalLayout) Slot(com.vaadin.client.ui.orderedlayout.Slot)

Aggregations

FocusWidget (com.google.gwt.user.client.ui.FocusWidget)2 Widget (com.google.gwt.user.client.ui.Widget)2 VVerticalLayout (com.vaadin.client.ui.VVerticalLayout)2 Slot (com.vaadin.client.ui.orderedlayout.Slot)2 CubaButtonWidget (com.haulmont.cuba.web.toolkit.ui.client.button.CubaButtonWidget)1 CubaFileUploadWidget (com.haulmont.cuba.web.toolkit.ui.client.jqueryfileupload.CubaFileUploadWidget)1 CubaFileUploadWidget (com.haulmont.cuba.web.widgets.client.jqueryfileupload.CubaFileUploadWidget)1