Mercurial > projects > mde
annotate mde/gui/WMScreen.d @ 171:7f7b2011b759
Partially complete commit: code runs but context menus don't work.
Moved WMScreen.createRootWidget to WidgetManager.createWidgets.
Put childContext under a popupHandler widget.
TODO: implement IChildWidget.setContent(Content) (see AParentWidget.d:237).
author | Diggory Hardy <diggory.hardy@gmail.com> |
---|---|
date | Sun, 26 Jul 2009 11:04:17 +0200 |
parents | b06b04c75e86 |
children | a1ba9157510e |
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 |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
31 import tango.util.log.Log : Log, Logger; |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
32 |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
33 private Logger logger; |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
34 static this () { |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
35 logger = Log.getLogger ("mde.gui.WMScreen"); |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
36 } |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
37 |
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
|
38 /****************************************************************************** |
122
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
39 * The widget manager. |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
40 * |
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
|
41 * 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
|
42 * 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
|
43 * new input/graphics libraries. |
122
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
44 * |
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
|
45 * 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
|
46 * 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
|
47 * the gui is drawn to a texture. |
122
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
48 * |
159
b06b04c75e86
Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
157
diff
changeset
|
49 * 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
|
50 * 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
|
51 *****************************************************************************/ |
159
b06b04c75e86
Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
157
diff
changeset
|
52 scope class WMScreen : AWidgetLoader, Screen.IDrawable { |
122
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
53 /** Construct a new widget manager. |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
54 * |
128
41582439a42b
Added support for dynamic EnumContent loading and saving, with translation loading.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
126
diff
changeset
|
55 * 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
|
56 * |
122
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
57 * params: |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
58 * 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
|
59 */ |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
60 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
|
61 // 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
|
62 super(file); |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
63 |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
64 Screen.addDrawable (this); |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
65 // 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
|
66 input = Input.singleton; |
264028f4115a
Cleaned up mde.imde and a couple of widget functions.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
131
diff
changeset
|
67 input.addMouseClickCallback(&clickEvent) |
264028f4115a
Cleaned up mde.imde and a couple of widget functions.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
131
diff
changeset
|
68 .addMouseMotionCallback(&motionEvent); |
122
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
69 } |
171
7f7b2011b759
Partially complete commit: code runs but context menus don't work.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
159
diff
changeset
|
70 ~this () { |
7f7b2011b759
Partially complete commit: code runs but context menus don't work.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
159
diff
changeset
|
71 // 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
|
72 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
|
73 } |
122
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
74 |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
75 /** Draw the gui. */ |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
76 void draw() { |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
77 synchronized(mutex) { |
157
a86f8445ccc8
Reduced the number of draws occuring.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
152
diff
changeset
|
78 debug (mdeDrawEvents) |
a86f8445ccc8
Reduced the number of draws occuring.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
152
diff
changeset
|
79 logger.trace ("drawing"); |
159
b06b04c75e86
Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
157
diff
changeset
|
80 wmDrawWidgets(); |
122
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
81 } |
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 |
159
b06b04c75e86
Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
157
diff
changeset
|
84 /** For mouse click events. */ |
122
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
85 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
|
86 try { |
159
b06b04c75e86
Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
157
diff
changeset
|
87 mutex.lock; |
b06b04c75e86
Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
157
diff
changeset
|
88 scope(exit) mutex.unlock; |
b06b04c75e86
Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
157
diff
changeset
|
89 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
|
90 } catch (Exception e) { |
783969f4665c
Simple, inefficient context menus (displaying content description).
Diggory Hardy <diggory.hardy@gmail.com>
parents:
132
diff
changeset
|
91 logger.error ("clickEvent: exception processing event: {}", e.msg); |
783969f4665c
Simple, inefficient context menus (displaying content description).
Diggory Hardy <diggory.hardy@gmail.com>
parents:
132
diff
changeset
|
92 } |
122
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
93 } |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
94 |
159
b06b04c75e86
Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
157
diff
changeset
|
95 /** For mouse motion events. */ |
122
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
96 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
|
97 try { |
783969f4665c
Simple, inefficient context menus (displaying content description).
Diggory Hardy <diggory.hardy@gmail.com>
parents:
132
diff
changeset
|
98 mutex.lock; |
783969f4665c
Simple, inefficient context menus (displaying content description).
Diggory Hardy <diggory.hardy@gmail.com>
parents:
132
diff
changeset
|
99 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
|
100 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
|
101 } catch (Exception e) { |
783969f4665c
Simple, inefficient context menus (displaying content description).
Diggory Hardy <diggory.hardy@gmail.com>
parents:
132
diff
changeset
|
102 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
|
103 } |
122
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
104 } |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
105 |
171
7f7b2011b759
Partially complete commit: code runs but context menus don't work.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
159
diff
changeset
|
106 /** 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
|
107 * |
7f7b2011b759
Partially complete commit: code runs but context menus don't work.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
159
diff
changeset
|
108 * 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
|
109 * 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
|
110 void sizeEvent (int nw, int nh) { // IDrawable function |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
111 mutex.lock; |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
112 scope(exit) mutex.unlock; |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
113 |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
114 w = cast(wdim) nw; |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
115 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
|
116 matchMinimalSize; |
122
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
117 |
171
7f7b2011b759
Partially complete commit: code runs but context menus don't work.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
159
diff
changeset
|
118 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
|
119 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
|
120 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
|
121 childRoot.setPosition (0,0); |
122
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
122 } |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
123 |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
124 protected: |
159
b06b04c75e86
Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
157
diff
changeset
|
125 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
|
126 input.setLetterCallback (dlg); |
b06b04c75e86
Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
157
diff
changeset
|
127 } |
b06b04c75e86
Finished last commit, rearranged code for the WidgetManager class.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
157
diff
changeset
|
128 |
122
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
129 final override void preSave () { |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
130 if (keyFocus) { |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
131 keyFocus.keyFocusLost; |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
132 keyFocus = null; |
132
264028f4115a
Cleaned up mde.imde and a couple of widget functions.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
131
diff
changeset
|
133 input.setLetterCallback (null); |
122
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
134 } |
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
135 } |
132
264028f4115a
Cleaned up mde.imde and a couple of widget functions.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
131
diff
changeset
|
136 |
264028f4115a
Cleaned up mde.imde and a couple of widget functions.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
131
diff
changeset
|
137 Input input; // input singleton |
122
f96e8d18c00a
Missed file from last commit.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
138 } |