Mercurial > hg > openttd
changeset 9547:3510b3758252 draft
(svn r13562) -Codechange: Yet another enumification, which required a bit of explanation/documentation of a trickery some would call a hack
author | belugas <belugas@openttd.org> |
---|---|
date | Wed, 18 Jun 2008 03:19:31 +0000 |
parents | c1c73fc1a29d |
children | 13d2b29b23ed |
files | src/toolbar_gui.cpp |
diffstat | 1 files changed, 16 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/toolbar_gui.cpp +++ b/src/toolbar_gui.cpp @@ -98,7 +98,8 @@ TBSE_SEPARATOR, TBSE_DATEBACKWARD, TBSE_DATEFORWARD, - TBSE_ZOOMIN = 9, + TBSE_SMALLMAP, + TBSE_ZOOMIN, TBSE_ZOOMOUT, TBSE_LANDGENERATE, TBSE_TOWNGENERATE, @@ -108,6 +109,14 @@ TBSE_PLACESIGNS, }; +/** The idea of this enum is to allow a separation between widget position + * and _menu_clicked_procs's entry. By shifting, the "action" id is extracted and + * kept safe for usage when reuired. + * @see ToolbarMenuWindow::OnMouseLoop */ +enum ScenarioEditorMenuActions { + SEMA_MAP_CLICK = 17 << 8, +}; + static ToolbarMode _toolbar_mode; static void SelectSignTool() @@ -658,8 +667,12 @@ static void ToolbarScenMapTownDir(Window *w) { - /* Scenario editor button, *hack*hack* use different button to activate */ - PopupMainToolbMenu(w, 8 | (17 << 8), STR_02DE_MAP_OF_WORLD, 4); + /* Scenario editor button, Use different button to activate. + * This scheme will allow to have an action (SEMA_MAP_CLICK, which is in fact + * an entry in _menu_clicked_procs) while at the same time having a start button + * who is not at the same index as its action + * @see ToolbarMenuWindow::OnMouseLoop */ + PopupMainToolbMenu(w, TBSE_SMALLMAP | SEMA_MAP_CLICK, STR_02DE_MAP_OF_WORLD, 4); } static void ToolbarScenZoomIn(Window *w)