33import com .cleanroommc .modularui .ClientProxy ;
44import com .cleanroommc .modularui .api .ITheme ;
55import com .cleanroommc .modularui .api .MCHelper ;
6- import com .cleanroommc .modularui .api .widget .*;
7- import com .cleanroommc .modularui .screen .*;
6+ import com .cleanroommc .modularui .api .widget .IDraggable ;
7+ import com .cleanroommc .modularui .api .widget .IFocusedWidget ;
8+ import com .cleanroommc .modularui .api .widget .IGuiElement ;
9+ import com .cleanroommc .modularui .api .widget .IVanillaSlot ;
10+ import com .cleanroommc .modularui .api .widget .IWidget ;
11+ import com .cleanroommc .modularui .api .widget .ResizeDragArea ;
12+ import com .cleanroommc .modularui .screen .DraggablePanelWrapper ;
13+ import com .cleanroommc .modularui .screen .JeiSettingsImpl ;
14+ import com .cleanroommc .modularui .screen .ModularPanel ;
15+ import com .cleanroommc .modularui .screen .ModularScreen ;
16+ import com .cleanroommc .modularui .screen .PanelManager ;
17+ import com .cleanroommc .modularui .screen .UISettings ;
818
919import net .minecraft .client .Minecraft ;
1020import net .minecraft .client .entity .EntityPlayerSP ;
21+ import net .minecraft .client .gui .GuiScreen ;
1122
1223import org .jetbrains .annotations .ApiStatus ;
1324import org .jetbrains .annotations .NotNull ;
2637 */
2738public class ModularGuiContext extends GuiContext {
2839
29- /* GUI elements */
30- @ Deprecated
31- public final ModularScreen screen ;
40+ private final ModularScreen screen ;
41+ private @ Nullable GuiScreen parent ;
3242 private LocatedWidget focusedWidget = LocatedWidget .EMPTY ;
33- @ Nullable
34- private LocatedWidget hovered ;
43+ private @ Nullable LocatedWidget hovered ;
3544 private int timeHovered = 0 ;
3645 private final HoveredIterable hoveredWidgets ;
3746
@@ -53,6 +62,18 @@ public ModularScreen getScreen() {
5362 return screen ;
5463 }
5564
65+ /**
66+ * @return the screen that was open before when this screen was opened or null of none was open
67+ */
68+ public @ Nullable GuiScreen getParentScreen () {
69+ return parent ;
70+ }
71+
72+ @ ApiStatus .Internal
73+ public void setParentScreen (@ Nullable GuiScreen parent ) {
74+ this .parent = parent ;
75+ }
76+
5677 /**
5778 * @return true if any widget is being hovered
5879 */
@@ -428,4 +449,4 @@ public IGuiElement next() {
428449 };
429450 }
430451 }
431- }
452+ }
0 commit comments