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

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

Introduction

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

Prototype

public SuggestBox(SuggestOracle oracle) 

Source Link

Document

Constructor for SuggestBox .

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);
    }//from   www .  j  a v a  2 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:ch.heftix.mailxel.client.AddressEditBar.java

License:Open Source License

public AddressEditBar(final MailServiceAsync mailxelService, final MailxelPanel mailxelPanel) {

    // mlPanel = new MultiLinePanel(100, new Label(","), 1);
    mlPanel = new MultiLinePanel(100, null);
    AddressSuggestOracle oracle = new AddressSuggestOracle(mailxelService, mailxelPanel);
    sb = new SuggestBox(oracle);
    sb.setWidth("80px");
    sb.addSelectionHandler(new SelectionHandler<Suggestion>() {

        public void onSelection(SelectionEvent<Suggestion> event) {
            AddressSuggestion s = (AddressSuggestion) event.getSelectedItem();
            AddressTO aTO = s.getAddressTO();
            addAddress(aTO);/*from  w w w . j  av  a2s .  c om*/
            sb.setValue("");
        }
    });
    Image add = new Image("img/plus.png");
    add.setTitle("add recipient");
    add.addClickHandler(new ClickHandler() {

        public void onClick(ClickEvent event) {
            String tmp = sb.getText();
            if (null != tmp && tmp.length() > 3 && tmp.contains("@")) {
                AddressTO aTO = new AddressTO();
                aTO.address = tmp.trim();
                addAddress(aTO);
                sb.setValue("");
            }
        }
    });

    Image erase = new Image("img/eraser.png");
    erase.setTitle("remove all recipients");
    erase.addClickHandler(new ClickHandler() {

        public void onClick(ClickEvent event) {
            for (DeletableItem<AddressTO> di : items) {
                mlPanel.removeWidget(di);
            }
            items.clear();
        }
    });
    add(sb);
    add(add);
    add(erase);
    add(mlPanel);
}

From source file:ch.heftix.mailxel.client.CategorizationToolbar.java

License:Open Source License

public CategorizationToolbar(final HasPrevNext prevNextProvider, final MailDetailDisplay mailDetailDisplay,
        final MailServiceAsync mailxelService, final MailxelPanel mailxelPanel) {

    this.prevNextProvider = prevNextProvider;
    this.mailDetailDisplay = mailDetailDisplay;

    final AsyncCallback<Void> markCatCallback = new AsyncCallback<Void>() {

        public void onSuccess(Void result) {
            // mailxelPanel.setWorking(false);
            showNext();/* w w w  . j  a  v a2 s.co m*/
            mailxelPanel.updateMailCounts();
        }

        public void onFailure(Throwable caught) {
            // mailxelPanel.setWorking(false);
            mailxelPanel.statusError("set categories failed", caught);
        }
    };

    Image fwd = new Image("img/resultset_next.png");
    fwd.setTitle("Next");
    fwd.setStylePrimaryName("mailxel-toolbar-item");
    fwd.addClickHandler(new ClickHandler() {

        public void onClick(ClickEvent sender) {
            showNext();
        }
    });

    Image prev = new Image("img/resultset_previous.png");
    prev.setTitle("Next");
    prev.setStylePrimaryName("mailxel-toolbar-item");
    prev.addClickHandler(new ClickHandler() {

        public void onClick(ClickEvent sender) {
            showPrev();
        }
    });

    Image scheduleForLater = new Image("img/clock_go.png");
    scheduleForLater.setTitle("Schedule for Later");
    scheduleForLater.setStylePrimaryName("mailxel-toolbar-item");
    scheduleForLater.addClickHandler(new ClickHandler() {

        public void onClick(ClickEvent sender) {
            if (currentMessageId > 0) {
                mailxelService.markStatus(currentMessageId, 999, markCatCallback);
            }
        }
    });

    // Image scheduleForToday = new Image("img/target.png");
    // scheduleForToday.setTitle("Schedule for Today");
    // scheduleForToday.setStylePrimaryName("mailxel-toolbar-item");
    // scheduleForToday.addClickHandler(new ClickHandler() {
    //
    // public void onClick(ClickEvent sender) {
    // if (currentMessageId > 0) {
    // mailxelService.markStatus(currentMessageId, 992, markCatCallback);
    // }
    // }
    // });

    Image imgLike = new Image("img/star-small.png");
    imgLike.setTitle("Like");
    imgLike.setStylePrimaryName("mailxel-toolbar-item");
    imgLike.addClickHandler(new ClickHandler() {

        public void onClick(ClickEvent sender) {
            if (currentMessageId > 0) {
                mailxelService.markStatus(currentMessageId, 989, markCatCallback);
            }
        }
    });

    Image ignore = new Image("img/ignore.png");
    ignore.setTitle("Ignore");
    ignore.setStylePrimaryName("mailxel-toolbar-item");
    ignore.addClickHandler(new ClickHandler() {

        public void onClick(ClickEvent sender) {
            if (currentMessageId > 0) {
                mailxelService.markStatus(currentMessageId, 994, markCatCallback);
            }
        }
    });

    Image tookNote = new Image("img/eye.png");
    tookNote.setTitle("Took Note");
    tookNote.setStylePrimaryName("mailxel-toolbar-item");
    tookNote.addClickHandler(new ClickHandler() {

        public void onClick(ClickEvent sender) {
            if (currentMessageId > 0) {
                mailxelService.markStatus(currentMessageId, 993, markCatCallback);
            }
        }
    });

    Image waitForAnswer = new Image("img/hourglass.png");
    waitForAnswer.setTitle("waiting for answer");
    waitForAnswer.setStylePrimaryName("mailxel-toolbar-item");
    waitForAnswer.addClickHandler(new ClickHandler() {

        public void onClick(ClickEvent sender) {
            if (currentMessageId > 0) {
                mailxelService.markStatus(currentMessageId, 998, markCatCallback);
            }
        }
    });

    Image done = new Image("img/tick.png");
    done.setTitle("task completed");
    done.setStylePrimaryName("mailxel-toolbar-item");
    done.addClickHandler(new ClickHandler() {

        public void onClick(ClickEvent sender) {
            if (currentMessageId > 0) {
                mailxelService.markStatus(currentMessageId, 997, markCatCallback);
            }
        }
    });

    Image trash = new Image("img/bin.png");
    trash.setTitle("trash");
    trash.setStylePrimaryName("mailxel-toolbar-item");
    trash.addClickHandler(new ClickHandler() {

        public void onClick(ClickEvent sender) {
            if (currentMessageId > 0) {
                List<Integer> ids = new ArrayList<Integer>();
                ids.add(currentMessageId);
                mailxelService.markAsDeleted(ids, markCatCallback);
            }
        }
    });

    CategorySuggestOracle oracle = new CategorySuggestOracle(mailxelService);
    final SuggestBox gtdSb = new SuggestBox(oracle);
    gtdSb.setWidth("50px");
    gtdSb.setTitle("add category");

    Image categorize = new Image("img/categorize.png");
    categorize.setTitle("categorize");
    categorize.setStylePrimaryName("mailxel-toolbar-item");
    categorize.addClickHandler(new ClickHandler() {

        public void onClick(ClickEvent sender) {

            String gtd = gtdSb.getText();
            if (currentMessageId > 0 && null != gtd) {
                List<Integer> ids = new ArrayList<Integer>();
                ids.add(currentMessageId);
                mailxelService.updateCategories(ids, gtd, markCatCallback);
            }
        }
    });

    HorizontalPanel gtdBar = new HorizontalPanel();
    gtdBar.add(gtdSb);
    gtdBar.add(categorize);

    add(prev);
    add(scheduleForLater);
    //      add(scheduleForToday);
    add(imgLike);
    add(waitForAnswer);
    add(done);
    add(tookNote);
    add(ignore);
    add(trash);
    add(gtdBar);
    add(fwd);
}

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

License:Open Source License

@Override
public ISuggestField suggestField() {
    GWTSuggestField.OracleAdapter suggestOracle = new GWTSuggestField.OracleAdapter();
    setComponent((T) new SuggestBox(suggestOracle));
    GWTSuggestField gsf = new GWTSuggestField((GWTContainer<SuggestBox>) this);
    suggestOracle.element = gsf;/*from ww w. j  a v  a  2 s.c o m*/
    element = gsf;
    return (ISuggestField) element;
}

From source file:com.appspot.socialinquirer.client.view.HomeViewImpl.java

License:Apache License

/**
 * Instantiates a new home view impl./*w  ww.ja  va2  s.c om*/
 *
 * @param constants the constants
 * @param oracle the oracle
 */
public HomeViewImpl(final EverScribeConstants constants, SingleWordSuggestOracle oracle) {
    this.constants = constants;
    questionsTable = new CellTable<Question>();
    SimplePager.Resources ideasPagerResources = GWT.create(SimplePager.Resources.class);
    questionsPaginator = new SimplePager(TextLocation.CENTER, ideasPagerResources, false, 0, true);
    questionsPaginator.setDisplay(questionsTable);
    final SelectionModel<Question> questionsSelectionModel = new SingleSelectionModel<Question>(
            new KeyProvider<Question>());
    questionsTable.setSelectionModel(questionsSelectionModel,
            DefaultSelectionEventManager.<Question>createCheckboxManager());
    initTableColumns(questionsTable, questionsSelectionModel);
    questionsSearchBox = new SuggestBox(oracle);
    templatesTable = new CellTable<Message>();
    SimplePager.Resources linkedHubPagerResources = GWT.create(SimplePager.Resources.class);
    templatesPaginator = new SimplePager(TextLocation.CENTER, linkedHubPagerResources, false, 0, true);
    templatesPaginator.setPageSize(5);
    templatesTable.setPageSize(5);
    templatesPaginator.setDisplay(templatesTable);
    //       final SelectionModel<Message> linkedHubConnectionsSelectionModel = new MultiSelectionModel<Message>(
    //               new KeyProvider<Message>());
    //       templatesTable.setSelectionModel(linkedHubConnectionsSelectionModel,
    //               DefaultSelectionEventManager.<Message>createCheckboxManager());
    initTableColumns(templatesTable);

    initWidget(uiBinder.createAndBindUi(this));
    searchResults.setVisible(false);
    introduction.setVisible(true);
    feeds.setVisible(false);

    viewMenu.setCommand(new Command() {
        @Override
        public void execute() {
            presenter.onViewClicked(getSelectedQuestion());
        }
    });

    //       followMenu.setCommand(new Command() {
    //         @Override
    //         public void execute() {
    //            presenter.onFollowClicked(getSelectedQuestion());
    //         }
    //      });
    analyzeMenu.setCommand(new Command() {
        @Override
        public void execute() {
            presenter.onAnalyzeClicked(getSelectedQuestion());
        }
    });
    summarizeMenu.setCommand(new Command() {
        @Override
        public void execute() {
            presenter.onSummarizeClicked(getSelectedQuestion());
        }
    });
    suggestAnswerMenu.setCommand(new Command() {
        @Override
        public void execute() {
            presenter.onSuggestAnswerClicked(getSelectedQuestion());
        }
    });
    spellCheckMenu.setCommand(new Command() {
        @Override
        public void execute() {
            presenter.onSpellCheckClicked(getSelectedQuestion());
        }
    });
    speakMenu.setCommand(new Command() {
        @Override
        public void execute() {
            presenter.onSpeakClicked(getSelectedQuestion());
        }
    });
    runCodeMenu.setCommand(new Command() {
        @Override
        public void execute() {
            presenter.onRunCodeClicked(getSelectedQuestion());
        }
    });

    for (final TextLanguage language : TextLanguage.values()) {
        MenuItem menuItem = new MenuItem(language.name(), new Command() {

            @Override
            public void execute() {
                presenter.onTranslateClicked(getSelectedQuestion(), language);
            }
        });
        menuItem.setEnabled(true);
        languageBar.addItem(menuItem);
    }
}

From source file:com.appspot.socialinquirer.client.view.XmppSettingsViewImpl.java

License:Apache License

/**
 * Instantiates a new xmpp settings view impl.
 *
 * @param oracle the oracle//from  ww  w  .j  a va 2s  .co m
 */
public XmppSettingsViewImpl(SingleWordSuggestOracle oracle) {
    showRelatedMode = new ListBox(false);
    translateMode = new ListBox(false);
    textToSpeechMode = new ListBox(false);
    summarizeMode = new ListBox(false);
    spellCheckMode = new ListBox(false);
    grammarCheckMode = new ListBox(false);
    for (ReplyMode mode : ReplyMode.values()) {
        showRelatedMode.addItem(mode.value(), mode.name());
        translateMode.addItem(mode.value(), mode.name());
        textToSpeechMode.addItem(mode.value(), mode.name());
        summarizeMode.addItem(mode.value(), mode.name());
    }
    for (CheckMode mode : CheckMode.values()) {
        spellCheckMode.addItem(mode.value(), mode.name());
        grammarCheckMode.addItem(mode.value(), mode.name());
    }

    identifyingTags = new SuggestBox(oracle);
    initWidget(uiBinder.createAndBindUi(this));
    advancedOptions.setAnimationEnabled(true);
}

From source file:com.apress.progwt.client.calculator.Calculator.java

License:Apache License

public Calculator() {

    DockPanel dockPanel = new DockPanel();

    Grid controls = new Grid(5, 2);
    Grid numbersP = new Grid(4, 3);

    // initialize the 1-9 buttons
    for (int row = 0; row < 3; row++) {
        for (int col = 0; col < 3; col++) {
            numbersP.setWidget(row, col, new NumberButton(this, row * 3 + col + 1));
        }/*from   w ww.j  a v a2s.  c  om*/
    }
    numbersP.setWidget(3, 0, new NumberButton(this, 0));
    numbersP.setWidget(3, 1, new NumberButton(this, "."));
    numbersP.setWidget(3, 2, new ControlButton(this, new ControlAction(this, "+/-") {
        @Override
        public boolean isMultiArg() {
            return false;
        }

        @Override
        public double performAction(ControlAction lastAction, double previous, double current) {
            return -1 * current;
        }
    }));

    controls.setWidget(0, 0, new ControlButton(this, new ControlAction(this, "/") {

        @Override
        public double performAction(ControlAction lastAction, double previous, double current) {
            return previous / current;
        }
    }));

    controls.setWidget(0, 1, new ControlButton(this, new ControlAction(this, "sqrt") {
        @Override
        public boolean isMultiArg() {
            return false;
        }

        @Override
        public double performAction(ControlAction lastAction, double previous, double current) {
            return Math.sqrt(current);
        }
    }));

    controls.setWidget(1, 0, new ControlButton(this, new ControlAction(this, "*") {
        @Override
        public double performAction(ControlAction lastAction, double previous, double current) {
            return previous * current;
        }
    }));
    controls.setWidget(1, 1, new ControlButton(this, new ControlAction(this, "%") {
        @Override
        public double performAction(ControlAction lastAction, double previous, double current) {
            return previous % current;
        }
    }));
    controls.setWidget(2, 0, new ControlButton(this, new ControlAction(this, "-") {
        @Override
        public double performAction(ControlAction lastAction, double previous, double current) {
            return previous - current;
        }
    }));
    controls.setWidget(2, 1, new ControlButton(this, new ControlAction(this, "1/x") {
        @Override
        public boolean isMultiArg() {
            return false;
        }

        @Override
        public double performAction(ControlAction lastAction, double previous, double current) {
            return 1 / current;
        }
    }));
    controls.setWidget(3, 0, new ControlButton(this, new ControlAction(this, "+") {
        @Override
        public double performAction(ControlAction lastAction, double previous, double current) {
            return previous + current;
        }
    }));
    controls.setWidget(3, 1, new ControlButton(this, new ControlAction(this, "=") {
        @Override
        public boolean isMultiArg() {
            return false;
        }

        @Override
        public double performAction(ControlAction lastAction, double previous, double current) {
            if (lastAction == null) {
                return current;
            }
            return lastAction.performAction(null, previous, current);
        }

    }));

    controls.setWidget(4, 0, new ControlButton(this, new ControlAction(this, "bksp") {
        @Override
        public boolean isMultiArg() {
            return false;
        }

        @Override
        public double performAction(ControlAction lastAction, double previous, double current) {
            String cStr = current + "";
            if (cStr.endsWith(".0")) {
                cStr = cStr.substring(0, cStr.length() - 3);
            } else {
                cStr = cStr.substring(0, cStr.length() - 1);
            }
            if (cStr.equals("")) {
                cStr = "0";
            }
            return Double.parseDouble(cStr);
        }

    }));

    controls.setWidget(4, 1, new ControlButton(this, new ControlAction(this, "clear") {
        @Override
        public boolean isMultiArg() {
            return false;
        }

        @Override
        public double performAction(ControlAction lastAction, double previous, double current) {
            return 0;
        }
    }));

    dockPanel.add(numbersP, DockPanel.CENTER);
    dockPanel.add(controls, DockPanel.EAST);

    inputBox = new TextBox();
    inputBox.addStyleName("ResultBox");
    dockPanel.add(inputBox, DockPanel.NORTH);

    ticker = new TextArea();
    ticker.setSize("7em", "140px");

    MultiWordSuggestOracle oracle = new MultiWordSuggestOracle();
    oracle.add("Jill");
    oracle.add("Jeff");
    oracle.add("James");
    oracle.add("Jennifer");

    SuggestBox box = new SuggestBox(oracle);
    box.addEventHandler(new SuggestionHandler() {
        public void onSuggestionSelected(SuggestionEvent suggE) {
            String selected = suggE.getSelectedSuggestion().getReplacementString();
            // do something with selected suggestion
        }
    });

    dockPanel.add(box, DockPanel.SOUTH);

    HorizontalPanel mainP = new HorizontalPanel();
    mainP.add(dockPanel);
    mainP.add(ticker);

    initWidget(mainP);

    setResult(0);

}

From source file:com.apress.progwt.client.suggest.AbstractCompleter.java

License:Apache License

public AbstractCompleter(AbstractSuggestOracle<T> oracle, CompleteListener<T> completeListener) {
    super();/*from  www  .jav a  2 s  .c  o m*/
    this.oracle = oracle;
    this.completeListener = completeListener;

    suggestBox = new SuggestBox(oracle);
    suggestBox.addEventHandler(new SuggestionHandler() {

        public void onSuggestionSelected(SuggestionEvent event) {
            Log.debug("On Suggestion Selected! " + event.getSelectedSuggestion().getReplacementString());

            // Important, this prevents duplications
            if (keyboardEnterTimer != null) {
                keyboardEnterTimer.cancel();
            }

            complete(event.getSelectedSuggestion().getReplacementString());
        }
    });

    suggestBox.addKeyboardListener(new KeyboardListenerAdapter() {
        // @Override
        public void onKeyPress(Widget sender, char keyCode, int modifiers) {
            if (keyCode == KEY_ENTER) {

                keyboardEnterTimer = new Timer() {
                    // @Override
                    public void run() {
                        complete(suggestBox.getText());
                    }
                };
                keyboardEnterTimer.schedule(400);
            }
        }
    });
    initWidget(suggestBox);
}

From source file:com.cubusmail.client.widgets.SuggestBoxItem.java

License:Open Source License

public SuggestBoxItem(String s, String s1, SuggestOracle suggestOracle) {

    super(s, s1);

    suggestBoxField = new SuggestBox(suggestOracle);
    suggestBoxField.setWidth("100%");

    suggestBoxField.setStyleName("gwt-SuggestBox");
    suggestBoxField.setHeight(getHeight() + "px");

    canvas.setHeight(getHeight());/*from w  ww. j a  va  2s . c  o  m*/
    canvas.setStyleName("gwt-SuggestBoxCanvas");
    canvas.addChild(suggestBoxField);

    setCanvas(canvas);
}

From source file:com.dawg6.gwt.client.widgets.SearchableComboBox.java

License:Open Source License

public SearchableComboBox(ComboBox<T> comboBox) {

    VerticalPanel panel = new VerticalPanel();
    initWidget(panel);//from ww  w  .ja v a  2 s .c  om

    this.comboBox = comboBox;
    this.oracle = new MultiWordSuggestOracle();
    this.textField = new SuggestBox(oracle);

    panel.add(textField);
    panel.add(comboBox);

    comboBox.setWidth("100%");

    comboBox.addObserver(new ListChangedHandler<T>() {

        @Override
        public void listChanged(List<T> list) {
            setSuggestions(list);
        }
    });

    textField.addSelectionHandler(new SelectionHandler<Suggestion>() {

        @Override
        public void onSelection(SelectionEvent<Suggestion> event) {
            suggestionSelected(event);
        }
    });
}