annotate mde/gui/WMScreen.d @ 173:a1ba9157510e

Enabled ServiceContentList to call its callbacks when its value changes. Tried to fix some other bugs, but this is not a very clean commit, due to wanting to make some big changes to enable better use of invariants next.
author Diggory Hardy <diggory.hardy@gmail.com>
date Sat, 08 Aug 2009 15:53:10 +0200
parents 7f7b2011b759
children 3d58adc17d20
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
1 /* LICENSE BLOCK
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
2 Part of mde: a Modular D game-oriented Engine
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
3 Copyright © 2007-2008 Diggory Hardy
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
4
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
5 This program is free software: you can redistribute it and/or modify it under the terms
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
6 of the GNU General Public License as published by the Free Software Foundation, either
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
7 version 2 of the License, or (at your option) any later version.
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
8
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
9 This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
10 without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
11 See the GNU General Public License for more details.
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
12
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
13 You should have received a copy of the GNU General Public License
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
14 along with this program. If not, see <http://www.gnu.org/licenses/>. */
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
15
131
9cff74f68b84 Major revisions to popup handling. Buttons can close menus now, plus some smaller impovements. Removed Widget module.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 128
diff changeset
16 /******************************************************************************
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
17 * A gui manager class using mde.setup.Screen and mde.input.Input.
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
18 *
131
9cff74f68b84 Major revisions to popup handling. Buttons can close menus now, plus some smaller impovements. Removed Widget module.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 128
diff changeset
19 * This is the module to use externally to create a graphical user interface
9cff74f68b84 Major revisions to popup handling. Buttons can close menus now, plus some smaller impovements. Removed Widget module.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 128
diff changeset
20 * (likely also with content modules).
9cff74f68b84 Major revisions to popup handling. Buttons can close menus now, plus some smaller impovements. Removed Widget module.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 128
diff changeset
21 *****************************************************************************/
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
22 module mde.gui.WMScreen;
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
23
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
24 import mde.gui.WidgetManager;
159
b06b04c75e86 Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 157
diff changeset
25 import mde.gui.WidgetLoader;
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
26 import mde.gui.widget.Ifaces;
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
27
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
28 import mde.setup.Screen;
132
264028f4115a Cleaned up mde.imde and a couple of widget functions.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 131
diff changeset
29 import mde.input.Input;
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
30
173
a1ba9157510e Enabled ServiceContentList to call its callbacks when its value changes. Tried to fix some other bugs, but this is not a very clean commit, due to wanting to make some big changes to enable better use of invariants next.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 171
diff changeset
31 import tango.io.Console; // to print exception stack-trace
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
32 import tango.util.log.Log : Log, Logger;
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
33
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
34 private Logger logger;
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
35 static this () {
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
36 logger = Log.getLogger ("mde.gui.WMScreen");
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
37 }
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
38
131
9cff74f68b84 Major revisions to popup handling. Buttons can close menus now, plus some smaller impovements. Removed Widget module.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 128
diff changeset
39 /******************************************************************************
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
40 * The widget manager.
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
41 *
131
9cff74f68b84 Major revisions to popup handling. Buttons can close menus now, plus some smaller impovements. Removed Widget module.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 128
diff changeset
42 * This provides a layer on top of WidgetLoader, handling input and rendering.
9cff74f68b84 Major revisions to popup handling. Buttons can close menus now, plus some smaller impovements. Removed Widget module.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 128
diff changeset
43 * Other functionality is contained in the super class, to simplify supporting
9cff74f68b84 Major revisions to popup handling. Buttons can close menus now, plus some smaller impovements. Removed Widget module.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 128
diff changeset
44 * new input/graphics libraries.
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
45 *
131
9cff74f68b84 Major revisions to popup handling. Buttons can close menus now, plus some smaller impovements. Removed Widget module.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 128
diff changeset
46 * Currently mouse coordinates are passed to widgets untranslated. It may make
9cff74f68b84 Major revisions to popup handling. Buttons can close menus now, plus some smaller impovements. Removed Widget module.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 128
diff changeset
47 * sense to translate them and possibly drop events for some uses, such as if
9cff74f68b84 Major revisions to popup handling. Buttons can close menus now, plus some smaller impovements. Removed Widget module.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 128
diff changeset
48 * the gui is drawn to a texture.
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
49 *
159
b06b04c75e86 Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 157
diff changeset
50 * Public non IWidget* methods should be thread-safe, even to the same
b06b04c75e86 Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 157
diff changeset
51 * instance (by locking on a mutex).
131
9cff74f68b84 Major revisions to popup handling. Buttons can close menus now, plus some smaller impovements. Removed Widget module.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 128
diff changeset
52 *****************************************************************************/
159
b06b04c75e86 Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 157
diff changeset
53 scope class WMScreen : AWidgetLoader, Screen.IDrawable {
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
54 /** Construct a new widget manager.
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
55 *
128
41582439a42b Added support for dynamic EnumContent loading and saving, with translation loading.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 126
diff changeset
56 * Must be run after static this.
41582439a42b Added support for dynamic EnumContent loading and saving, with translation loading.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 126
diff changeset
57 *
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
58 * params:
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
59 * fileName = Name of file specifying the gui, excluding path and extension.
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
60 */
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
61 this (char[] file) {
128
41582439a42b Added support for dynamic EnumContent loading and saving, with translation loading.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 126
diff changeset
62 // Doesn't need a lock - cannot conflict with other class functions.
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
63 super(file);
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
64
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
65 Screen.addDrawable (this);
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
66 // Events we want to know about:
132
264028f4115a Cleaned up mde.imde and a couple of widget functions.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 131
diff changeset
67 input = Input.singleton;
264028f4115a Cleaned up mde.imde and a couple of widget functions.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 131
diff changeset
68 input.addMouseClickCallback(&clickEvent)
264028f4115a Cleaned up mde.imde and a couple of widget functions.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 131
diff changeset
69 .addMouseMotionCallback(&motionEvent);
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
70 }
171
7f7b2011b759 Partially complete commit: code runs but context menus don't work.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 159
diff changeset
71 ~this () {
7f7b2011b759 Partially complete commit: code runs but context menus don't work.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 159
diff changeset
72 // Make sure the keyboard is not locked in text-entry mode.
7f7b2011b759 Partially complete commit: code runs but context menus don't work.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 159
diff changeset
73 input.setLetterCallback (null);
7f7b2011b759 Partially complete commit: code runs but context menus don't work.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 159
diff changeset
74 }
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
75
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
76 /** Draw the gui. */
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
77 void draw() {
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
78 synchronized(mutex) {
157
a86f8445ccc8 Reduced the number of draws occuring.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 152
diff changeset
79 debug (mdeDrawEvents)
a86f8445ccc8 Reduced the number of draws occuring.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 152
diff changeset
80 logger.trace ("drawing");
159
b06b04c75e86 Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 157
diff changeset
81 wmDrawWidgets();
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
82 }
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
83 }
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
84
159
b06b04c75e86 Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 157
diff changeset
85 /** For mouse click events. */
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
86 void clickEvent (ushort usx, ushort usy, ubyte b, bool state) {
146
783969f4665c Simple, inefficient context menus (displaying content description).
Diggory Hardy <diggory.hardy@gmail.com>
parents: 132
diff changeset
87 try {
159
b06b04c75e86 Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 157
diff changeset
88 mutex.lock;
b06b04c75e86 Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 157
diff changeset
89 scope(exit) mutex.unlock;
b06b04c75e86 Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 157
diff changeset
90 wmMouseClick (cast(wdabs) usx, cast(wdabs) usy, b, state);
146
783969f4665c Simple, inefficient context menus (displaying content description).
Diggory Hardy <diggory.hardy@gmail.com>
parents: 132
diff changeset
91 } catch (Exception e) {
783969f4665c Simple, inefficient context menus (displaying content description).
Diggory Hardy <diggory.hardy@gmail.com>
parents: 132
diff changeset
92 logger.error ("clickEvent: exception processing event: {}", e.msg);
173
a1ba9157510e Enabled ServiceContentList to call its callbacks when its value changes. Tried to fix some other bugs, but this is not a very clean commit, due to wanting to make some big changes to enable better use of invariants next.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 171
diff changeset
93 e.writeOut(delegate void(char[]s){ Cerr(s); });
a1ba9157510e Enabled ServiceContentList to call its callbacks when its value changes. Tried to fix some other bugs, but this is not a very clean commit, due to wanting to make some big changes to enable better use of invariants next.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 171
diff changeset
94 }
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
95 }
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
96
159
b06b04c75e86 Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 157
diff changeset
97 /** For mouse motion events. */
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
98 void motionEvent (ushort scx, ushort scy) {
146
783969f4665c Simple, inefficient context menus (displaying content description).
Diggory Hardy <diggory.hardy@gmail.com>
parents: 132
diff changeset
99 try {
783969f4665c Simple, inefficient context menus (displaying content description).
Diggory Hardy <diggory.hardy@gmail.com>
parents: 132
diff changeset
100 mutex.lock;
783969f4665c Simple, inefficient context menus (displaying content description).
Diggory Hardy <diggory.hardy@gmail.com>
parents: 132
diff changeset
101 scope(exit) mutex.unlock;
159
b06b04c75e86 Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 157
diff changeset
102 wmMouseMotion (cast(wdabs) scx, cast(wdabs) scy);
146
783969f4665c Simple, inefficient context menus (displaying content description).
Diggory Hardy <diggory.hardy@gmail.com>
parents: 132
diff changeset
103 } catch (Exception e) {
783969f4665c Simple, inefficient context menus (displaying content description).
Diggory Hardy <diggory.hardy@gmail.com>
parents: 132
diff changeset
104 logger.error ("motionEvent: exception processing event: {}", e.msg);
783969f4665c Simple, inefficient context menus (displaying content description).
Diggory Hardy <diggory.hardy@gmail.com>
parents: 132
diff changeset
105 }
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
106 }
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
107
171
7f7b2011b759 Partially complete commit: code runs but context menus don't work.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 159
diff changeset
108 /** Notification of externally-caused screen resize.
7f7b2011b759 Partially complete commit: code runs but context menus don't work.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 159
diff changeset
109 *
7f7b2011b759 Partially complete commit: code runs but context menus don't work.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 159
diff changeset
110 * Should be called before createWidgets to prevent widgets being squashed
7f7b2011b759 Partially complete commit: code runs but context menus don't work.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 159
diff changeset
111 * to min-dims on loading (losing saved dimensions of columns, etc). */
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
112 void sizeEvent (int nw, int nh) { // IDrawable function
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
113 mutex.lock;
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
114 scope(exit) mutex.unlock;
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
115
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
116 w = cast(wdim) nw;
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
117 h = cast(wdim) nh;
171
7f7b2011b759 Partially complete commit: code runs but context menus don't work.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 159
diff changeset
118 matchMinimalSize;
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
119
171
7f7b2011b759 Partially complete commit: code runs but context menus don't work.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 159
diff changeset
120 if (!childRoot) return; // if not created yet.
7f7b2011b759 Partially complete commit: code runs but context menus don't work.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 159
diff changeset
121 childRoot.setWidth (w, -1);
7f7b2011b759 Partially complete commit: code runs but context menus don't work.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 159
diff changeset
122 childRoot.setHeight (h, -1);
7f7b2011b759 Partially complete commit: code runs but context menus don't work.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 159
diff changeset
123 childRoot.setPosition (0,0);
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
124 }
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
125
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
126 protected:
159
b06b04c75e86 Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 157
diff changeset
127 final override void setLetterCallback(void delegate(ushort, char[]) dlg) {
b06b04c75e86 Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 157
diff changeset
128 input.setLetterCallback (dlg);
b06b04c75e86 Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 157
diff changeset
129 }
b06b04c75e86 Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 157
diff changeset
130
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
131 final override void preSave () {
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
132 if (keyFocus) {
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
133 keyFocus.keyFocusLost;
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
134 keyFocus = null;
132
264028f4115a Cleaned up mde.imde and a couple of widget functions.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 131
diff changeset
135 input.setLetterCallback (null);
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
136 }
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
137 }
132
264028f4115a Cleaned up mde.imde and a couple of widget functions.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 131
diff changeset
138
264028f4115a Cleaned up mde.imde and a couple of widget functions.
Diggory Hardy <diggory.hardy@gmail.com>
parents: 131
diff changeset
139 Input input; // input singleton
122
f96e8d18c00a Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff changeset
140 }