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

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

Introduction

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

Prototype

SuggestionHandler

Source Link

Usage

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   www  . j a  va  2s .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();/*  ww w . ja  v a2  s .co 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:gwtBlocks.client.views.SuggestBoxView.java

License:Apache License

@SuppressWarnings("unchecked")
@Override/*from  w w w .j a  v a 2  s  .  co m*/
protected SuggestBox buildView(M model, Object... args) {
    String whiteSpaceChars = (String) args[0];

    if (args.length > 1) {
        BaseModel<List<V>> suggestionModel = (BaseModel<List<V>>) args[1];

        suggestionModel.registerChangeListener(new ValueChangeListener<BaseModel<List<V>>>() {
            public void valueChanged(BaseModel<List<V>> model) {
                setSuggestions(model.getValue());
            }
        });
    }

    _oracle = new MultiWordSuggestOracle(whiteSpaceChars);

    final SuggestBox sb = new SuggestBox(_oracle);

    sb.addEventHandler(new SuggestionHandler() {
        public void onSuggestionSelected(SuggestionEvent event) {
            getModel().setValue(_lookupMap.get(event.getSelectedSuggestion().getReplacementString()));
        }
    });

    sb.addChangeListener(new ChangeListener() {
        public void onChange(Widget sender) {
            getModel().setValue(_lookupMap.get(sb.getText()));
        }
    });

    return sb;
}

From source file:org.jboss.bpm.console.client.report.search.SearchDefinitionView.java

License:Open Source License

public void update(List<ProcessDefinitionRef> definitions) {
    this.clear();
    this.selection = null;

    Label desc = new Label("Please enter a process definition ID");
    //desc.setStyleName("bpm-label-header");
    this.add(desc);

    suggestBox = new SuggestBox(createOracle(definitions));

    suggestBox.addEventHandler(new SuggestionHandler() {
        public void onSuggestionSelected(SuggestionEvent suggestionEvent) {
            selection = suggestionEvent.getSelectedSuggestion().getReplacementString();
        }/*  w  w  w .  j av a2  s .  co m*/
    });

    this.add(suggestBox);

    Grid g = new Grid(2, 2);
    g.setWidget(0, 0, new Label("ID: "));
    g.setWidget(0, 1, suggestBox);

    Button button = new Button(delegate.getActionName(), new ClickListener() {
        public void onClick(Widget widget) {
            if (selection != null) {
                delegate.handleResult(selection);
                parent.close();
            }
        }
    });

    g.setWidget(1, 1, button);
    this.add(g);

    // TODO: -Rikkola-
    //    invalidate();
}

From source file:org.jboss.bpm.console.client.search.SearchDefinitionView.java

License:Open Source License

public void update(List<ProcessDefinitionRef> definitions) {
    this.clear();
    this.selection = null;

    Label desc = new Label("Please enter a process definition ID");
    //desc.setStyleName("bpm-label-header");
    this.add(desc, new BoxLayoutData(BoxLayoutData.FillStyle.HORIZONTAL));

    suggestBox = new SuggestBox(createOracle(definitions));

    suggestBox.addEventHandler(new SuggestionHandler() {
        public void onSuggestionSelected(SuggestionEvent suggestionEvent) {
            selection = suggestionEvent.getSelectedSuggestion().getReplacementString();
        }//from  w w w.  ja va  2 s  .  com
    });

    this.add(suggestBox);

    Grid g = new Grid(2, 2);
    g.setWidget(0, 0, new Label("ID: "));
    g.setWidget(0, 1, suggestBox);

    Button button = new Button(delegate.getActionName(), new ClickListener() {
        public void onClick(Widget widget) {
            if (selection != null) {
                delegate.handleResult(selection);
                parent.close();
            }
        }
    });

    g.setWidget(1, 1, button);
    this.add(g, new BoxLayoutData(BoxLayoutData.FillStyle.HORIZONTAL));

    invalidate();
}