Package com.totsp.gwittir.example.client

Source Code of com.totsp.gwittir.example.client.KeyBindingExample

package com.totsp.gwittir.example.client;

import com.google.gwt.user.client.Window;
import com.totsp.gwittir.client.action.Action;
import com.totsp.gwittir.client.action.BindingAction;
import com.totsp.gwittir.client.keyboard.KeyBinding;
import com.totsp.gwittir.client.keyboard.KeyBindingEventListener;
import com.totsp.gwittir.client.keyboard.KeyboardController;
import com.totsp.gwittir.client.ui.BoundVerticalPanel;
import com.totsp.gwittir.client.ui.BoundWidget;
import com.totsp.gwittir.client.ui.Button;
import com.totsp.gwittir.client.ui.util.BoundWidgetTypeFactory;

public class KeyBindingExample extends BoundVerticalPanel<Object> {
 
  public KeyBindingExample(){
    super( new BoundWidgetTypeFactory(), null);
    Button keyButton = new Button();
        keyButton.setHTML("<u>S</u>ave");
        keyButton.setKeyBinding(new KeyBinding('S', false, true, false));
        keyButton.setAction(new Action() {
                public void execute(BoundWidget model) {
                    Window.alert("SAVE!");
                }
            });
        add(keyButton);

        final Button suggest = new Button("Suggest");
        suggest.setAction(new BindingAction() {
                public void execute(BoundWidget model) {
                    Window.alert("Suggested");
                }

                public void bind(BoundWidget widget) {
                    KeyboardController.AutoMappedBinding auto = KeyboardController.INSTANCE.findSuggestedMapping(suggest.getText());

                    if (auto != null) {
                        suggest.setHTML(auto.newHtml);
                        suggest.setKeyBinding(auto.binding);
                        auto.binding.addKeyBindingEventListener(new KeyBindingEventListener() {
                                public void onUnbind(KeyBinding binding) {
                                    KeyboardController.AutoMappedBinding auto = KeyboardController.INSTANCE.findSuggestedMapping(suggest.getText());

                                    if (auto != null) {
                                        suggest.setHTML(auto.newHtml);
                                        suggest.setKeyBinding(auto.binding);
                                    } else {
                                        suggest.setValue(suggest.getValue());
                                    }
                                }

                                public void onBind(KeyBinding binding) {
                                }
                            });
                    }
                }

                public void unbind(BoundWidget widget) {
                }

                public void set(BoundWidget widget) {
                }
            });
        add(suggest);
  }

}
TOP

Related Classes of com.totsp.gwittir.example.client.KeyBindingExample

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.