diff options
Diffstat (limited to 'library/modules/Gui.cpp')
| -rw-r--r-- | library/modules/Gui.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/library/modules/Gui.cpp b/library/modules/Gui.cpp index 10a20dc2..bc7deedc 100644 --- a/library/modules/Gui.cpp +++ b/library/modules/Gui.cpp @@ -691,6 +691,8 @@ df::job *Gui::getSelectedJob(color_ostream &out, bool quiet) return job; } + else if (auto dfscreen = dfhack_viewscreen::try_cast(top)) + return dfscreen->getSelectedJob(); else return getSelectedWorkshopJob(out, quiet); } @@ -781,6 +783,9 @@ static df::unit *getAnyUnit(df::viewscreen *top) return NULL; } + if (auto dfscreen = dfhack_viewscreen::try_cast(top)) + return dfscreen->getSelectedUnit(); + if (!Gui::dwarfmode_hotkey(top)) return NULL; @@ -875,6 +880,9 @@ static df::item *getAnyItem(df::viewscreen *top) return NULL; } + if (auto dfscreen = dfhack_viewscreen::try_cast(top)) + return dfscreen->getSelectedItem(); + if (!Gui::dwarfmode_hotkey(top)) return NULL; @@ -942,6 +950,9 @@ static df::building *getAnyBuilding(df::viewscreen *top) using df::global::world; using df::global::ui_sidebar_menus; + if (auto dfscreen = dfhack_viewscreen::try_cast(top)) + return dfscreen->getSelectedBuilding(); + if (!Gui::dwarfmode_hotkey(top)) return NULL; |
