summaryrefslogtreecommitdiff
path: root/library/modules/Gui.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'library/modules/Gui.cpp')
-rw-r--r--library/modules/Gui.cpp11
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;