use of com.vaadin.client.ui.orderedlayout.Slot 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);
}
use of com.vaadin.client.ui.orderedlayout.Slot in project cuba by cuba-platform.
the class Tools method isLayoutChild.
public static boolean isLayoutChild(VAbstractOrderedLayout layout, Widget child) {
for (Widget widget : layout) {
Slot slot = (Slot) widget;
Widget slotWidget = slot.getWidget();
if (slotWidget.equals(child)) {
return true;
}
}
return false;
}
use of com.vaadin.client.ui.orderedlayout.Slot in project cuba by cuba-platform.
the class CubaPopupButtonWidget method resetSelectedItem.
protected void resetSelectedItem() {
for (Widget popupChild : getPopup()) {
if (popupChild instanceof VAbstractOrderedLayout) {
VAbstractOrderedLayout content = (VAbstractOrderedLayout) popupChild;
for (Widget slot : content) {
Widget contentChild = ((Slot) slot).getWidget();
VButton button = null;
if (contentChild instanceof CubaFileUploadWidget) {
button = ((CubaFileUploadWidget) contentChild).getSubmitButton();
} else if (contentChild instanceof VButton) {
button = (VButton) contentChild;
} else if (contentChild instanceof VUpload) {
button = ((VUpload) contentChild).submitButton;
}
if (button != null && button.getStyleName().contains(SELECTED_ITEM_STYLE)) {
button.removeStyleName(SELECTED_ITEM_STYLE);
}
}
}
}
}
use of com.vaadin.client.ui.orderedlayout.Slot in project cuba by cuba-platform.
the class CubaPopupButtonWidget method onPopupOpened.
@Override
protected void onPopupOpened() {
super.onPopupOpened();
if (customLayout) {
return;
}
// find button, assign .v-selected style
for (Widget popupChild : getPopup()) {
if (popupChild instanceof VAbstractOrderedLayout) {
VAbstractOrderedLayout content = (VAbstractOrderedLayout) popupChild;
for (Widget slot : content) {
Widget contentChild = ((Slot) slot).getWidget();
if (contentChild instanceof VButton) {
VButton button = (VButton) contentChild;
if (button.isEnabled() && !button.getStyleName().contains(SELECTED_ITEM_STYLE)) {
button.addStyleName(SELECTED_ITEM_STYLE);
button.setFocus(true);
break;
}
}
}
}
}
// add focus handler
for (Widget popupChild : getPopup()) {
if (popupChild instanceof VAbstractOrderedLayout) {
VAbstractOrderedLayout content = (VAbstractOrderedLayout) popupChild;
for (Widget slot : content) {
Widget contentChild = ((Slot) slot).getWidget();
VButton button = null;
if (contentChild instanceof CubaFileUploadWidget) {
button = ((CubaFileUploadWidget) contentChild).getSubmitButton();
} else if (contentChild instanceof VUpload) {
button = ((VUpload) contentChild).submitButton;
} else if (contentChild instanceof VButton) {
button = (VButton) contentChild;
}
if (button != null) {
final VButton finalButton = button;
button.addFocusHandler(new FocusHandler() {
@Override
public void onFocus(FocusEvent event) {
childWidgetFocused(finalButton);
}
});
// sink mouse over
DOM.sinkEvents(button.getElement(), Event.ONMOUSEOVER | DOM.getEventsSunk(button.getElement()));
}
}
}
}
}
use of com.vaadin.client.ui.orderedlayout.Slot in project cuba by cuba-platform.
the class CubaOrderedActionsLayoutWidget method getSlot.
@Override
public Slot getSlot(Widget widget) {
Slot slot = widgetToSlot.get(widget);
if (slot == null) {
slot = new CubaOrderedLayoutSlot(this, widget);
widgetToSlot.put(widget, slot);
}
return slot;
}
Aggregations