List of usage examples for com.google.gwt.user.client.ui FocusListener FocusListener
FocusListener
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); }