Provide generic for TabListWidget -> ElementDrawers dependency.
This commit is contained in:
@@ -102,7 +102,7 @@ public class CraftingMonitorScreen extends BaseScreen<CraftingMonitorContainer>
|
|||||||
private final ICraftingMonitor craftingMonitor;
|
private final ICraftingMonitor craftingMonitor;
|
||||||
|
|
||||||
private List<IGridTab> tasks = Collections.emptyList();
|
private List<IGridTab> tasks = Collections.emptyList();
|
||||||
private final TabListWidget tabs;
|
private final TabListWidget<CraftingMonitorContainer> tabs;
|
||||||
|
|
||||||
private final IElementDrawers drawers = new CraftingMonitorElementDrawers(this, ITEM_WIDTH, ITEM_HEIGHT);
|
private final IElementDrawers drawers = new CraftingMonitorElementDrawers(this, ITEM_WIDTH, ITEM_HEIGHT);
|
||||||
|
|
||||||
@@ -111,7 +111,7 @@ public class CraftingMonitorScreen extends BaseScreen<CraftingMonitorContainer>
|
|||||||
|
|
||||||
this.craftingMonitor = container.getCraftingMonitor();
|
this.craftingMonitor = container.getCraftingMonitor();
|
||||||
|
|
||||||
this.tabs = new TabListWidget(this, new ElementDrawers<>(this), () -> tasks, () -> (int) Math.floor((float) Math.max(0, tasks.size() - 1) / (float) ICraftingMonitor.TABS_PER_PAGE), craftingMonitor::getTabPage, () -> {
|
this.tabs = new TabListWidget<>(this, new ElementDrawers<>(this), () -> tasks, () -> (int) Math.floor((float) Math.max(0, tasks.size() - 1) / (float) ICraftingMonitor.TABS_PER_PAGE), craftingMonitor::getTabPage, () -> {
|
||||||
IGridTab tab = getCurrentTab();
|
IGridTab tab = getCurrentTab();
|
||||||
|
|
||||||
if (tab == null) {
|
if (tab == null) {
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ public class GridScreen extends BaseScreen<GridContainer> implements IScreenInfo
|
|||||||
private ScrollbarWidget scrollbar;
|
private ScrollbarWidget scrollbar;
|
||||||
|
|
||||||
private final IGrid grid;
|
private final IGrid grid;
|
||||||
private final TabListWidget tabs;
|
private final TabListWidget<GridContainer> tabs;
|
||||||
|
|
||||||
private boolean wasConnected;
|
private boolean wasConnected;
|
||||||
private boolean doSort;
|
private boolean doSort;
|
||||||
@@ -72,7 +72,7 @@ public class GridScreen extends BaseScreen<GridContainer> implements IScreenInfo
|
|||||||
this.grid = grid;
|
this.grid = grid;
|
||||||
this.view = grid.getGridType() == GridType.FLUID ? new FluidGridView(this, getDefaultSorter(), getSorters()) : new ItemGridView(this, getDefaultSorter(), getSorters());
|
this.view = grid.getGridType() == GridType.FLUID ? new FluidGridView(this, getDefaultSorter(), getSorters()) : new ItemGridView(this, getDefaultSorter(), getSorters());
|
||||||
this.wasConnected = this.grid.isGridActive();
|
this.wasConnected = this.grid.isGridActive();
|
||||||
this.tabs = new TabListWidget(this, new ElementDrawers<>(this), grid::getTabs, grid::getTotalTabPages, grid::getTabPage, grid::getTabSelected, IGrid.TABS_PER_PAGE);
|
this.tabs = new TabListWidget<>(this, new ElementDrawers<>(this), grid::getTabs, grid::getTotalTabPages, grid::getTabPage, grid::getTabSelected, IGrid.TABS_PER_PAGE);
|
||||||
this.tabs.addListener(new TabListWidget.ITabListListener() {
|
this.tabs.addListener(new TabListWidget.ITabListListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onSelectionChanged(int tab) {
|
public void onSelectionChanged(int tab) {
|
||||||
|
|||||||
@@ -9,13 +9,14 @@ import com.refinedmods.refinedstorage.screen.BaseScreen;
|
|||||||
import com.refinedmods.refinedstorage.util.RenderUtils;
|
import com.refinedmods.refinedstorage.util.RenderUtils;
|
||||||
import net.minecraft.client.gui.FontRenderer;
|
import net.minecraft.client.gui.FontRenderer;
|
||||||
import net.minecraft.client.gui.widget.button.Button;
|
import net.minecraft.client.gui.widget.button.Button;
|
||||||
|
import net.minecraft.inventory.container.Container;
|
||||||
import net.minecraft.util.text.StringTextComponent;
|
import net.minecraft.util.text.StringTextComponent;
|
||||||
|
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public class TabListWidget {
|
public class TabListWidget<T extends Container> {
|
||||||
public interface ITabListListener {
|
public interface ITabListListener {
|
||||||
void onSelectionChanged(int tab);
|
void onSelectionChanged(int tab);
|
||||||
|
|
||||||
@@ -23,7 +24,7 @@ public class TabListWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private final BaseScreen<?> screen;
|
private final BaseScreen<?> screen;
|
||||||
private final ElementDrawers drawers;
|
private final ElementDrawers<T> drawers;
|
||||||
|
|
||||||
private final Supplier<List<IGridTab>> tabs;
|
private final Supplier<List<IGridTab>> tabs;
|
||||||
private int tabHovering;
|
private int tabHovering;
|
||||||
@@ -38,7 +39,7 @@ public class TabListWidget {
|
|||||||
private Button left;
|
private Button left;
|
||||||
private Button right;
|
private Button right;
|
||||||
|
|
||||||
public TabListWidget(BaseScreen<?> screen, ElementDrawers drawers, Supplier<List<IGridTab>> tabs, Supplier<Integer> pages, Supplier<Integer> page, Supplier<Integer> selected, int tabsPerPage) {
|
public TabListWidget(BaseScreen<T> screen, ElementDrawers<T> drawers, Supplier<List<IGridTab>> tabs, Supplier<Integer> pages, Supplier<Integer> page, Supplier<Integer> selected, int tabsPerPage) {
|
||||||
this.screen = screen;
|
this.screen = screen;
|
||||||
this.drawers = drawers;
|
this.drawers = drawers;
|
||||||
this.tabs = tabs;
|
this.tabs = tabs;
|
||||||
|
|||||||
Reference in New Issue
Block a user