public Button createButton(String name, Shape shape, int keyCode, String keyName, Hashtable inputToChars) { return new SwtButton(name, shape, keyCode, keyName, inputToChars); }
public boolean isChar(char c, int inputMode) { c = Character.toLowerCase(c); char[] chars = getChars(inputMode); if (chars != null) { for (int i = 0; i < chars.length; i++) { if (c == Character.toLowerCase(chars[i])) { return true; } } } return false; }
public String getKeyName(int keyCode) throws IllegalArgumentException { for (Iterator it = DeviceFactory.getDevice().getButtons().iterator(); it.hasNext(); ) { SwtButton button = (SwtButton) it.next(); if (button.getKeyCode() == keyCode) { return button.getName(); } } for (Iterator it = DeviceFactory.getDevice().getButtons().iterator(); it.hasNext(); ) { SwtButton button = (SwtButton) it.next(); if (button.getKeyboardKey() == keyCode) { return button.getName(); } } throw new IllegalArgumentException(); }
public SwtButton getButton(KeyEvent ev) { for (Enumeration e = DeviceFactory.getDevice().getButtons().elements(); e.hasMoreElements(); ) { SwtButton button = (SwtButton) e.nextElement(); if (ev.keyCode == button.getKeyCode()) { return button; } if (button.isChar(ev.character, getInputMode())) { return button; } } return null; }
public void keyReleased(KeyEvent ev) { if (MIDletBridge.getCurrentMIDlet() == null) { return; } Device device = DeviceFactory.getDevice(); for (Iterator it = device.getButtons().iterator(); it.hasNext(); ) { SwtButton button = (SwtButton) it.next(); if (ev.keyCode == button.getKeyboardKey()) { ev.keyCode = button.getKeyCode(); break; } } ((SwtInputMethod) device.getInputMethod()).keyReleased(ev); prevOverButton = pressedButton; pressedButton = null; if (prevOverButton != null) { org.microemu.device.impl.Shape shape = prevOverButton.getShape(); if (shape != null) { Rectangle r = shape.getBounds(); redraw(r.x, r.y, r.width, r.height, true); } } else { redraw(); } } };
event.widget = e.widget; KeyEvent ev = new KeyEvent(event); ev.keyCode = pressedButton.getKeyCode(); inputMethod.mousePressed(ev); Rectangle r = pressedButton.getShape().getBounds(); redraw(r.x, r.y, r.width, r.height, true);
for (Enumeration e = DeviceFactory.getDevice().getButtons().elements(); e.hasMoreElements();) { SwtButton button = (SwtButton) e.nextElement(); if (ev.keyCode == button.getKeyCode()) { int caret = inputMethodListener.getCaretPosition(); String tmp = inputMethodListener.getText(); synchronized (this) { lastButtonCharIndex++; char[] buttonChars = filterConstraints(filterInputMode(button.getChars(getInputMode()))); if (buttonChars.length > 0) { if (lastButtonCharIndex == buttonChars.length) {
private SwtButton getButton(int x, int y) { for (Enumeration e = DeviceFactory.getDevice().getButtons().elements(); e.hasMoreElements(); ) { SwtButton button = (SwtButton) e.nextElement(); if (button.getShape() != null) { try { org.microemu.device.impl.Shape tmp = (org.microemu.device.impl.Shape) button.getShape().clone(); if (tmp.contains(x, y)) { return button; } } catch (CloneNotSupportedException ex) { ex.printStackTrace(); } } } return null; }
/** * @param name * @param shape * @param keyCode - Integer.MIN_VALUE when unspecified * @param keyName * @param chars */ public SwtButton(String name, Shape shape, int keyCode, String keyName, Hashtable inputToChars) { this.name = name; this.shape = shape; this.keyboardKey = parseKeyboardKey(keyName); if (keyCode == Integer.MIN_VALUE) { if (keyName != null) { this.keyCode = this.keyboardKey; } else { this.keyCode = -1; } } else { this.keyCode = keyCode; } this.inputToChars = inputToChars; }
public void keyPressed(KeyEvent ev) { if (MIDletBridge.getCurrentMIDlet() == null) { return; } Device device = DeviceFactory.getDevice(); for (Iterator it = device.getButtons().iterator(); it.hasNext(); ) { SwtButton button = (SwtButton) it.next(); if (ev.keyCode == button.getKeyboardKey()) { ev.keyCode = button.getKeyCode(); break; } } ((SwtInputMethod) device.getInputMethod()).keyPressed(ev); pressedButton = ((SwtInputMethod) device.getInputMethod()).getButton(ev); if (pressedButton != null) { org.microemu.device.impl.Shape shape = pressedButton.getShape(); if (shape != null) { Rectangle r = shape.getBounds(); redraw(r.x, r.y, r.width, r.height, true); } } else { redraw(); } }
SwtButton prevOverButton = getButton(e.x, e.y); if (prevOverButton != null) { inputMethod.mouseReleased(prevOverButton.getKeyCode()); Rectangle r = prevOverButton.getShape().getBounds(); redraw(r.x, r.y, r.width, r.height, true); } else {
org.microemu.device.impl.Shape shape = prevOverButton.getShape(); if (shape != null) { drawImageInShape( org.microemu.device.impl.Shape shape = overButton.getShape(); if (shape != null) { drawImageInShape( org.microemu.device.impl.Shape shape = pressedButton.getShape(); if (shape != null) { drawImageInShape( rect = prevOverButton.getShape().getBounds(); if (rect != null) { gc.drawImage(((SwtImmutableImage) DeviceFactory.getDevice().getNormalImage()).getImage(), rect = overButton.getShape().getBounds(); if (rect != null) { gc.drawImage(((SwtImmutableImage) DeviceFactory.getDevice().getOverImage()).getImage(), rect = pressedButton.getShape().getBounds(); if (rect != null) { gc.drawImage(((SwtImmutableImage) DeviceFactory.getDevice().getPressedImage()).getImage(),