Example usage for com.google.gwt.user.client.ui FocusListener FocusListener

List of usage examples for com.google.gwt.user.client.ui FocusListener FocusListener

Introduction

In this page you can find the example usage for com.google.gwt.user.client.ui FocusListener FocusListener.

Prototype

FocusListener

Source Link

Usage

From source file:cc.alcina.framework.gwt.client.gwittir.widget.BoundSuggestBox.java

License:Apache License

public void suggestOracle(BoundSuggestOracle suggestOracle) {
    this.suggestOracle = suggestOracle;
    base = new SuggestBox(suggestOracle);
    ((DefaultSuggestionDisplay) base.getSuggestionDisplay()).setPopupStyleName("bound-suggest-box-popup");
    ((DefaultSuggestionDisplay) base.getSuggestionDisplay()).setMatchTextBoxWidth(true);
    ((DefaultSuggestionDisplay) base.getSuggestionDisplay()).setMatchTextBoxAdjust(-4);
    if (withPlaceholder) {
        base.getValueBox().getElement().setPropertyString("placeholder", placeholderText);
    }/*  ww w .  ja  v a2  s  .c  om*/
    base.addSelectionHandler(evt -> {
        if (evt.getSelectedItem() != null) {
            setValue((T) ((BoundSuggestOracleSuggestion) evt.getSelectedItem()).typedValue);
        }
    });
    base.addFocusListener(new FocusListener() {
        @Override
        public void onFocus(Widget sender) {
            TextBoxBase baseBox = (TextBoxBase) base.getValueBox();
            String baseTextAtFocusTime = base.getText();
            if (showOnFocus || !Ax.isBlank(baseTextAtFocusTime)) {
                showOnFocus = false;
                if (!Ax.isBlank(baseTextAtFocusTime) && !base.isInSuggestionCallback()) {
                    Scheduler.get().scheduleDeferred(() -> {
                        if (baseBox.getText().equals(baseTextAtFocusTime)) {
                            baseBox.setSelectionRange(0, baseBox.getText().length());
                        }
                    });
                    base.showSuggestions(baseTextAtFocusTime);
                }
            }
        }

        @Override
        public void onLostFocus(Widget sender) {
            if (!Objects.equals(base.getText(), renderer.apply(value))) {
                setValue(null);
            }
        }
    });
    super.initWidget(base);
}

From source file:cc.alcina.framework.gwt.client.gwittir.widget.BoundTableExt.java

License:Open Source License

private void addSelectedFocusListener(final HasFocus widget, final int objectNumber, final int col) {
    FocusListener l = new FocusListener() {
        public void onFocus(Widget sender) {
            setActive(true);//from www .ja  va 2s .  co  m
            int row = calculateObjectToRowOffset(objectNumber);
            // GWT.log("Focus row: " + row + " object: " + objectNumber
            // + " col: " + col, null);
            // GWT.log("SelectedRowLastIndex " + selectedRowLastIndex,
            // null);
            handleSelect(row != selectedRowLastIndex, row, col);
        }

        public void onLostFocus(Widget sender) {
        }
    };
    widget.addFocusListener(l);
    focusListeners.put(widget, l);
}

From source file:cc.alcina.framework.gwt.client.gwittir.widget.BoundTableExt.java

License:Open Source License

protected void addRow(final SourcesPropertyChangeEvents o) {
    int row = table.getRowCount();
    if (((((masks & BoundTableExt.HEADER_MASK) > 0) && (row >= 2))
            || (((masks & BoundTableExt.HEADER_MASK) == 0) && (row >= 1)))
            && ((masks & BoundTableExt.SPACER_ROW_MASK) > 0)) {
        table.setWidget(row, 0, new Label(""));
        table.getFlexCellFormatter().setColSpan(row, 0, this.columns.length);
        table.getRowFormatter().setStyleName(row, "spacer");
        row++;// ww w.  j  a  v a  2  s  . c o  m
    }
    Binding bindingRow = new Binding();
    topBinding.getChildren().add(bindingRow);
    int count = topBinding.getChildren().size();
    final Widget handle;
    int startColumn = 0;
    if ((this.masks & BoundTableExt.ROW_HANDLE_MASK) > 0) {
        if ((this.masks & BoundTableExt.HANDLES_AS_CHECKBOXES) > 0) {
            handle = new Checkbox();
        } else {
            handle = new Button(
                    (this.getActive() && (rowHandles.size() < 9)) ? Integer.toString(this.rowHandles.size() + 1)
                            : " ");
        }
        handle.setStyleName("rowHandle");
        ((HasFocus) handle).addFocusListener(new FocusListener() {
            public void onFocus(Widget sender) {
                if (shiftDown) {
                    return;
                }
                setActive(true);
                List newSelected = null;
                if ((masks & BoundTableExt.MULTIROWSELECT_MASK) > 0) {
                    newSelected = new ArrayList(getSelected());
                    if (newSelected.contains(o)) {
                        newSelected.remove(o);
                    } else {
                        newSelected.add(o);
                    }
                } else {
                    newSelected = new ArrayList();
                    newSelected.add(o);
                }
                setSelected(newSelected);
            }

            public void onLostFocus(Widget sender) {
            }
        });
        ((SourcesClickEvents) handle).addClickListener(new ClickListener() {
            public void onClick(Widget sender) {
                setActive(true);
                List newSelected = null;
                if ((masks & BoundTableExt.MULTIROWSELECT_MASK) > 0) {
                    newSelected = new ArrayList(getSelected());
                    if (newSelected.contains(o)) {
                        newSelected.remove(o);
                    } else {
                        newSelected.add(o);
                    }
                } else {
                    newSelected = new ArrayList();
                    newSelected.add(o);
                }
                if (handle != null) {
                    ((HasFocus) handle).setFocus(true);
                }
                if (handle != null) {
                    ((HasFocus) handle).setFocus(true);
                }
                setSelected(newSelected);
            }
        });
        startColumn++;
        this.rowHandles.add(handle);
        this.table.setWidget(row, 0, handle);
    } else {
        handle = null;
    }
    if (count < 10) {
        SuggestedKeyBinding kb = new SuggestedKeyBinding(Integer.toString(count).charAt(0), false, true, false);
        Task task = new Task() {
            public void run() {
                List newSelected = new ArrayList(getSelected());
                if (newSelected.contains(o)) {
                    newSelected.remove(o);
                } else {
                    newSelected.add(o);
                }
                setSelected(newSelected);
                if (handle != null) {
                    ((HasFocus) handle).setFocus(true);
                }
            }
        };
        this.keyBindings.put(kb, task);
        if (this.getActive()) {
            try {
                KeyboardController.INSTANCE.register(kb, task);
            } catch (KeyBindingException kbe) {
                BoundTableExt.LOG.log(Level.DEBUG, "Unable to register" + kb, kbe);
            }
        }
    }
    for (int col = 0; col < this.columns.length; col++) {
        Widget widget = (Widget) createCellWidget(bindingRow, col, o);
        try {
            table.setWidget(row, col + startColumn, widget);
            if (widget instanceof HasFocus) {
                addSelectedFocusListener((HasFocus) widget, topBinding.getChildren().size() - 1,
                        col + startColumn);
            }
            if (widget instanceof SourcesClickEvents) {
                addSelectedClickListener((SourcesClickEvents) widget, topBinding.getChildren().size() - 1,
                        col + startColumn);
            }
            if (this.columns[col].getWidgetStyleName() != null) {
                widget.addStyleName(this.columns[col].getWidgetStyleName());
            }
            if (this.columns[col].getStyleName() != null) {
                table.getCellFormatter().setStyleName(row, col + startColumn, this.columns[col].getStyleName());
            }
        } catch (RuntimeException e) {
            BoundTableExt.LOG.log(Level.ERROR, widget + "", e);
        }
    }
    if ((this.masks & BoundTableExt.END_ROW_BUTTON) > 0) {
        EndRowButton endRowButton = new EndRowButton();
        table.setWidget(row, this.columns.length + startColumn, endRowButton);
        int f_row = row;
        endRowButton.addClickHandler(e -> {
            EndRowButtonClickedEvent.fire(BoundTableExt.this, f_row, o);
        });
    }
    if (collectionPropertyChangeListener != null) {
        o.addPropertyChangeListener(collectionPropertyChangeListener);
        listenedToByCollectionChangeListener.add(o);
    }
    boolean odd = (this.calculateRowToObjectOffset(new Integer(row)).intValue() % 2) != 0;
    this.table.getRowFormatter().setStyleName(row, odd ? "odd" : "even");
    bindingRow.setLeft();
}

From source file:co.fxl.gui.gwt.GWTElement.java

License:Open Source License

@SuppressWarnings({ "unchecked", "deprecation" })
protected R addFocusListener(final IUpdateListener<Boolean> l, Widget widget) {
    if (!focusListenerSet) {
        ((HasFocus) widget).addFocusListener(new FocusListener() {
            @Override//from www. j  a v a  2  s  .c om
            public void onFocus(Widget sender) {
                notifyFocusListeners(true);
            }

            @Override
            public void onLostFocus(Widget sender) {
                notifyFocusListeners(false);
            }
        });
    }
    focusListeners.add(l);
    return (R) this;
}

From source file:co.fxl.gui.gwt.GWTSuggestField.java

License:Open Source License

GWTSuggestField(final GWTContainer<SuggestBox> container) {
    super(container);
    // assert container != null : "GWTTextField.new: container is null";
    // DefaultSuggestionDisplay sd = (DefaultSuggestionDisplay)
    // container.widget
    // .getSuggestionDisplay();
    // if (!GWTDisplay.isInternetExplorer && !GWTDisplay.isFirefox)
    // sd.setPopupStyleName("gwt-SuggestBoxPopup-FXL");
    // if (GWTDisplay.isInternetExplorer8OrBelow) {
    // container.widget.getElement().getStyle().setPaddingTop(2, Unit.PX);
    // }// w  ww  .jav a2s. co  m
    container.widget.getTextBox().setStyleName("gwt-TextBox");
    ((HasFocus) container.widget).addFocusListener(new FocusListener() {
        @Override
        public void onFocus(Widget sender) {
            if (requestOnFocus || deactivatedFocus)
                container.widget.showSuggestionList();
            deactivatedFocus = false;
        }

        @Override
        public void onLostFocus(Widget sender) {
        }
    });
    // defaultFont();
    // oracle = (MultiWordSuggestOracle) ((SuggestBox) container.widget)
    // .getSuggestOracle();
}

From source file:co.fxl.gui.gwt.GWTSuggestField.java

License:Open Source License

@Override
public ISuggestField autoSelect(boolean autoSelect) {
    assert autoSelect;
    container.widget.getTextBox().addFocusListener(new FocusListener() {

        @Override/*from   www  .jav  a2  s .c o m*/
        public void onFocus(Widget arg0) {
            display().invokeLater(new Runnable() {
                @Override
                public void run() {
                    container.widget.getTextBox().selectAll();
                }
            });
        }

        @Override
        public void onLostFocus(Widget arg0) {
        }
    });
    return this;
}

From source file:com.anzsoft.client.ui.UserIndicator.java

License:Open Source License

public UserIndicator(final String nick) {
    createStatusMenu();/*  w  w  w. j  a va 2 s . co m*/
    setWidth("100%");
    setCellPadding(0);
    setCellSpacing(0);
    setStyleName("indicator");
    FlexCellFormatter formatter = getFlexCellFormatter();

    // Setup the links cell
    /*
    linksPanel = new HorizontalPanel();
    setWidget(0, 0, linksPanel);
    formatter.setStyleName(0, 0, "indicator-links");
    formatter.setHorizontalAlignment(0, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    formatter.setColSpan(0, 0, 2);
    */

    // Setup the title cell
    setTitleWidget(null);
    formatter.setStyleName(0, 0, "indicator-title");

    getRowFormatter().setVerticalAlign(0, HasVerticalAlignment.ALIGN_TOP);
    getRowFormatter().setVerticalAlign(1, HasVerticalAlignment.ALIGN_TOP);

    final ChatIcons icons = ChatIcons.App.getInstance();
    statusImg = new Image();
    statusImg.setWidth("16px");
    statusImg.setHeight("16px");
    icons.online().applyTo(statusImg);

    avatarImg = new Image("images/default_avatar.png");
    avatarImg.setWidth("32px");
    avatarImg.setHeight("32px");
    avatarImg.setStyleName("handler");
    avatarImg.addClickListener(new ClickListener() {
        public void onClick(Widget sender) {
            JabberApp.instance().showInfoSelf();
        }

    });

    nickName = new Label(nick);
    nickName.setDirection(Direction.LTR);
    nickName.setWidth("100%");

    statusLabel = new Label();
    statusLabel.setStyleName("status_label");
    statusLabel.setWidth("100%");

    statusEditor = new TextBox();
    statusEditor.setVisible(false);
    statusEditor.setWidth("100%");

    statusButton = new Button();
    statusButton.setMenu(statusMenu);
    statusButton.setStyleName("Status-Menu-Button");

    //statusMenuLabel = new Label();
    //statusMenuLabel.setStyleName("status_menu_label");

    //addLink(new HTML("<a href=\"http://samespace.anzsoft.com\">SameSpace</a>"));
    // Add the title and some images to the title bar
    HorizontalPanel titlePanel = new HorizontalPanel();
    titlePanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
    titlePanel.setWidth("100%");
    titlePanel.setSpacing(3);

    VerticalPanel statusPanel = new VerticalPanel();
    statusPanel.setWidth("100%");
    statusPanel.add(nickName);

    HorizontalPanel hPanel = new HorizontalPanel();
    hPanel.setWidth("100%");
    hPanel.setSpacing(2);
    hPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_TOP);
    hPanel.add(statusLabel);
    hPanel.add(statusEditor);
    hPanel.add(statusButton);

    statusPanel.add(hPanel);

    titlePanel.add(statusImg);
    titlePanel.add(statusPanel);
    titlePanel.add(avatarImg);

    titlePanel.setCellWidth(statusImg, "20px");
    titlePanel.setCellWidth(statusPanel, "100%");
    titlePanel.setCellWidth(avatarImg, "32px");
    setTitleWidget(titlePanel);

    JabberApp.instance().getSession().getUser().addUserListener(new XmppUserListener() {
        public void onPresenceChanged(XmppPresence presence) {
            String show = new String("");
            PresenceShow presenceShow = presence.getShow();
            if (presenceShow != null)
                show = presenceShow.toString();
            String statusString = presence.getStatus();
            int priority = presence.getPriority();
            boolean avaiable = true;
            String type = presence.getType();
            if (type != null && !type.isEmpty()) {
                if (type.equalsIgnoreCase("unavailable"))
                    avaiable = false;
            }
            status = new XmppContactStatus(show, statusString, priority, avaiable);
            statusLabel.setText(status.status());
            iconFromStatus(status).applyTo(statusImg);
        }
    });

    statusLabel.addClickListener(new ClickListener() {
        public void onClick(Widget sender) {
            statusLabel.setVisible(false);
            statusEditor.setVisible(true);
            statusEditor.setText(statusLabel.getText());
        }

    });

    statusEditor.addKeyboardListener(new KeyboardListener() {

        public void onKeyDown(Widget sender, char keyCode, int modifiers) {

        }

        public void onKeyPress(Widget sender, char keyCode, int modifiers) {

        }

        public void onKeyUp(Widget sender, char keyCode, int modifiers) {
            if (keyCode == 13)
                doneChangeStatusString();
        }

    });

    statusEditor.addFocusListener(new FocusListener() {
        public void onFocus(Widget sender) {
        }

        public void onLostFocus(Widget sender) {
            doneChangeStatusString();
        }

    });

    XmppVCardFactory.instance().addVCardListener(new VCardListener() {
        public void onVCard(XmppID jid, XmppVCard vcard) {
            if (jid.toStringNoResource().equalsIgnoreCase(JabberApp.instance().getJid().toStringNoResource())) {
                if (!vcard.nickName().isEmpty())
                    nickName.setText(vcard.fullName());
                else if (!vcard.fullName().isEmpty())
                    nickName.setText(vcard.fullName());
                String photoData = vcard.photo();
                if (!photoData.isEmpty() && !GXT.isIE) {
                    ImageElement imgEl = avatarImg.getElement().cast();
                    imgEl.removeAttribute("src");
                    imgEl.setSrc("data:image;base64," + photoData);
                }

            }
        }

    });
}

From source file:com.qualogy.qafe.gwt.client.ui.renderer.AbstractTextComponentRenderer.java

License:Apache License

@SuppressWarnings("deprecation")
protected void handleTypeAttribute(UIObject uiObject, final String regExp, final String title,
        final String message) {
    if (uiObject != null && uiObject instanceof TextBox) {
        if (regExp != null && regExp.trim().length() > 0) {
            TextBox textBox = (TextBox) uiObject;
            textBox.addBlurHandler(new BlurHandler() {

                public void onBlur(BlurEvent event) {
                    String textValue = ((TextBoxBase) event.getSource()).getText();
                    if (textValue != null && regExp != null) {
                        if (textValue.replaceFirst(regExp, "").length() > 0) {
                            if (title != null) {
                                ClientApplicationContext.getInstance().log(title, message, true);
                            } else {
                                ClientApplicationContext.getInstance().log("Validation error", message, true);
                            }/*  w  w w  .  j av  a  2 s .  com*/

                        }
                    }
                    //                  String textValue=  ((TextBoxBase)event.getSource()).getText();
                    //                  if (textValue!=null){                                 
                    //                     if (textValue.replaceFirst(regExp, "").length()>0){                     
                    //                        ClientApplicationContext.getInstance().log(title, message,true);
                    //                     }                  
                    //                  }               
                }
            });

        }
    } else if (uiObject != null && uiObject instanceof QSuggestBox) {
        if (regExp != null && regExp.trim().length() > 0) {
            QSuggestBox qSuggestBox = (QSuggestBox) uiObject;
            qSuggestBox.addFocusListener(new FocusListener() {

                public void onLostFocus(Widget sender) {
                    String textValue = ((QSuggestBox) sender).getText();
                    if (textValue != null) {
                        if (textValue.replaceFirst(regExp, "").length() > 0) {
                            ClientApplicationContext.getInstance().log("Validation error", message, true);
                        }
                    }
                }

                public void onFocus(Widget sender) {
                }
            });
        }
    }
}

From source file:com.sun.labs.aura.music.wsitm.client.ui.widget.AbstractSearchWidget.java

License:Open Source License

private void init(MusicSearchInterfaceAsync musicServer, ClientDataManager cdm, Panel searchBoxContainerPanel,
        Oracles type) {// ww w .  j a v  a2s. c o m
    this.musicServer = musicServer;
    this.cdm = cdm;
    this.searchBoxContainerPanel = searchBoxContainerPanel;

    if (loadingBox == null) {
        loadingBox = new TextBox();
        loadingBox.setText("Loading...");
        loadingBox.setEnabled(false);
        if (searchBoxStyleName != null && searchBoxStyleName.length() > 0) {
            loadingBox.setStyleName(searchBoxStyleName);
        }
    }

    focusListener = new FocusListener() {
        @Override
        public void onFocus(Widget sender) {
            if (sB.getText().equals(DEFAULT_TXT)) {
                sB.setText("");
            }
        }

        @Override
        public void onLostFocus(Widget sender) {
            if (sB.getText().length() == 0) {
                sB.setText(DEFAULT_TXT);
            }
        }
    };

    sB = getNewSuggestBox(new PopSortedMultiWordSuggestOracle());
    updateSuggestBox(type);
}

From source file:com.totsp.gwittir.client.ui.SoftButton.java

License:Open Source License

protected void init() {
    this.baseStyleName = "gwittir-SoftButton";
    this.clickers = new ClickListenerCollection();
    this.softBase = new FocusPanel();
    this.grid = new Grid(1, 1);
    DOM.setStyleAttribute(this.softBase.getElement(), "display", "inline");
    this.setContent(new Label());
    this.softBase.setWidget(grid);

    final SoftButton instance = this;
    listener = new ClickListener() {
        public void onClick(Widget sender) {
            //GWT.log("Clicked " + getAction(), null);
            long clickTime = System.currentTimeMillis();

            if ((clickTime - lastClick) >= 100) {
                lastClick = clickTime;/*from ww w .  j a  v a  2  s .  c o  m*/
                clickers.fireClick(instance);

                if (enabled && (getAction() != null)) {
                    getAction().execute(instance);
                }
            }
        }
    };
    this.softBase.addClickListener(listener);
    this.focus = new FocusListener() {
        public void onLostFocus(Widget sender) {
            focused = false;

            if (enabled) {
                setStyleName(getBaseStyleName());
            }
        }

        public void onFocus(Widget sender) {
            focused = true;

            if (enabled && !getStyleName().equals(getBaseStyleName() + "-pressed")) {
                setStyleName(getBaseStyleName() + "-focused");
            }
        }
    };
    this.addFocusListener(this.focus);
    this.hover = new MouseListenerAdapter() {
        public void onMouseUp(Widget sender, int x, int y) {
            if (enabled) {
                setStyleName(getBaseStyleName() + "-focused");
            }
        }

        public void onMouseDown(Widget sender, int x, int y) {
            //GWT.log("Press", null);
            if (enabled) {
                setStyleName(getBaseStyleName() + "-pressed");
            }
        }

        public void onMouseLeave(Widget sender) {
            if (enabled) {
                if (focused) {
                    setStyleName(getBaseStyleName() + "-focused");
                } else {
                    setStyleName(getBaseStyleName());
                }
            }
        }

        public void onMouseEnter(Widget sender) {
            if (enabled) {
                setStyleName(getBaseStyleName() + "-hover");
            }
        }
    };
    this.softBase.addMouseListener(hover);
    this.softBase.addKeyboardListener(new KeyboardListenerAdapter() {
        public void onKeyPress(Widget sender, char keyCode, int modifiers) {
            if ((keyCode == ' ') || (keyCode == KeyboardListener.KEY_ENTER)) {
                if (enabled && (getAction() != null)) {
                    listener.onClick(instance);
                    setStyleName(getBaseStyleName() + "-focused");
                }
            }
        }

        public void onKeyUp(Widget sender, char keyCode, int modifiers) {
            if (enabled) {
                setStyleName(getBaseStyleName() + "-focused");
            }
        }

        public void onKeyDown(Widget sender, char keyCode, int modifiers) {
            if (enabled) {
                setStyleName(getBaseStyleName() + "-pressed");
            }
        }
    });
    this.initWidget(this.softBase);
    this.setStyleName(this.baseStyleName);
    this.setEnabled(true);
}