diff options
author | rubidium <rubidium@openttd.org> | 2008-05-08 11:50:34 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2008-05-08 11:50:34 +0000 |
commit | 23fc96c3e8c252edbf2e7c22cefab633a0474410 (patch) | |
tree | 23ad171b2093a5c5980b9d912bf60056102af9fa /src/window_gui.h | |
parent | 2eef026fe35b9236606062f7d8a59d5661a5c748 (diff) | |
download | openttd-23fc96c3e8c252edbf2e7c22cefab633a0474410.tar.xz |
(svn r13005) -Codechange: prepare AllocateWindowDescFront for subclassing of Window.
Diffstat (limited to 'src/window_gui.h')
-rw-r--r-- | src/window_gui.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/window_gui.h b/src/window_gui.h index 32352d3ea..14e666a63 100644 --- a/src/window_gui.h +++ b/src/window_gui.h @@ -561,7 +561,19 @@ Window *FindWindowFromPt(int x, int y); bool IsWindowOfPrototype(const Window *w, const Widget *widget); void AssignWidgetToWindow(Window *w, const Widget *widget); -Window *AllocateWindowDescFront(const WindowDesc *desc, int window_number, void *data = NULL); +/** + * Open a new window. + * @param *desc The pointer to the WindowDesc to be created + * @param window_number the window number of the new window + * @param data arbitrary data that is send with the WE_CREATE message + * @return see Window pointer of the newly created window + */ +template <typename Wcls> +Wcls *AllocateWindowDescFront(const WindowDesc *desc, int window_number, void *data = NULL) +{ + if (BringWindowToFrontById(desc->cls, window_number)) return NULL; + return new Wcls(desc, data, window_number); +} void DrawWindowViewport(const Window *w); |