01: /*
02: *
03: * Copyright 1990-2007 Sun Microsystems, Inc. All Rights Reserved.
04: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
05: *
06: * This program is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU General Public License version
08: * 2 only, as published by the Free Software Foundation.
09: *
10: * This program is distributed in the hope that it will be useful, but
11: * WITHOUT ANY WARRANTY; without even the implied warranty of
12: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13: * General Public License version 2 for more details (a copy is
14: * included at /legal/license.txt).
15: *
16: * You should have received a copy of the GNU General Public License
17: * version 2 along with this work; if not, write to the Free Software
18: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
19: * 02110-1301 USA
20: *
21: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
22: * Clara, CA 95054 or visit www.sun.com if you need additional
23: * information or have any questions.
24: */
25: package com.sun.midp.chameleon.input;
26:
27: /**
28: * An interface which defines the protocol between
29: * TextInputComponent and InputMoode
30: */
31: public interface InputModeMediator {
32:
33: /**
34: * Called by an InputMode in order to automatically commit the given
35: * input to the Text component. For example, when the timer expires
36: * in an AlphaNumeric InputMode it will commit the current pending
37: * character.
38: * @param input String needs to be commited
39: */
40: public void commit(String input);
41:
42: /**
43: * Clear the particular number of symbols
44: *
45: * @param num number of symbols
46: */
47: public void clear(int num);
48:
49: /**
50: * Called by an InputMode to inform a TextComponent of a sub-inputMode
51: * change.
52: */
53: public void subInputModeChanged();
54:
55: /**
56: * Called by an InputMode in order to signal that the input process
57: * has been completed with respect to the InputMode. Subsequent key
58: * input should be handled in a new input session, possibly by the
59: * same InputMode or by a different InputMode alltogether. For example,
60: * when the timer expires in an AlphaNumeric InputMode, the character
61: * is committed and the AlphaNumeric InputMode signals its completion.
62: * Further key input may start a new session with the AlphaNumeric
63: * InputMode or possibly some other InputMode.
64: */
65: public void inputModeCompleted();
66:
67: /**
68: * Returns true if the keyCode is used as 'clear'
69: * @param keyCode key code
70: * @return true if keu code is Clear one, false otherwise
71: */
72: public boolean isClearKey(int keyCode);
73:
74: /**
75: * Returns the available size (number of characters) that can be
76: * stored in this <code>TextInputComponent</code>.
77: * @return available size in characters
78: */
79: public int getAvailableSize();
80: }
|