Search in sources :

Example 11 with TitledCell

use of ivorius.reccomplex.gui.table.cell.TitledCell in project RecurrentComplex by Ivorforce.

the class TableDataSourceExpression method cellForIndex.

@Override
public TableCell cellForIndex(GuiTable table, int index) {
    if (index == 0) {
        expressionCell = new TableCellString("expression", e.getExpression());
        expressionCell.setTooltip(expressionTooltip);
        expressionCell.setEnabled(canEdit());
        expressionCell.setShowsValidityState(true);
        expressionCell.setValidityState(getValidityState(e, u));
        expressionCell.addListener(val -> {
            e.setExpression(val);
            expressionCell.setValidityState(getValidityState(e, u));
        });
        expressionCell.setChangeListener(() -> {
            if (parsed != null)
                parsed.setDisplayString(parsedString());
        });
        return new TitledCell(title, expressionCell).withTitleTooltip(tooltip);
    } else if (index == 1) {
        parsed = new TableCellTitle("parsedExpression", parsedString());
        parsed.setPositioning(TableCellTitle.Positioning.TOP);
        return new TitledCell(parsed);
    }
    return null;
}
Also used : TitledCell(ivorius.reccomplex.gui.table.cell.TitledCell) TableCellTitle(ivorius.reccomplex.gui.table.cell.TableCellTitle) TableCellString(ivorius.reccomplex.gui.table.cell.TableCellString)

Example 12 with TitledCell

use of ivorius.reccomplex.gui.table.cell.TitledCell in project RecurrentComplex by Ivorforce.

the class RCGuiTables method defaultWeightElement.

public static TitledCell defaultWeightElement(Consumer<Float> consumer, Float value, String title, @Nullable List<String> tooltip) {
    TableCellFloatNullable cell = new TableCellFloatNullable("value", value, 1.0f, 0, 1000, IvTranslations.get("reccomplex.gui.random.weight.default.short"), IvTranslations.get("reccomplex.gui.random.weight.custom.short"));
    cell.setScale(Scales.pow(5));
    cell.addListener(consumer);
    return new TitledCell(title, cell).withTitleTooltip(tooltip);
}
Also used : TitledCell(ivorius.reccomplex.gui.table.cell.TitledCell) TableCellFloatNullable(ivorius.reccomplex.gui.table.cell.TableCellFloatNullable)

Example 13 with TitledCell

use of ivorius.reccomplex.gui.table.cell.TitledCell in project RecurrentComplex by Ivorforce.

the class TableDataSourceMazeRuleConnectAll method cellForIndexInSegment.

@Override
public TableCell cellForIndexInSegment(GuiTable table, int index, int segment) {
    if (segment == 0) {
        TableCellBoolean preventCell = new TableCellBoolean("prevent", rule.preventConnection, TextFormatting.GOLD + IvTranslations.get("reccomplex.mazerule.connect.prevent"), TextFormatting.GREEN + IvTranslations.get("reccomplex.mazerule.connect.prevent"));
        preventCell.addListener(val -> rule.preventConnection = val);
        return new TitledCell(preventCell);
    } else if (segment == 2) {
        TableCellBoolean cell = new TableCellBoolean("additive", rule.additive, TextFormatting.GREEN + IvTranslations.get("reccomplex.mazerule.connectall.additive"), TextFormatting.GOLD + IvTranslations.get("reccomplex.mazerule.connectall.subtractive"));
        cell.addListener(val -> {
            rule.additive = val;
            tableDelegate.reloadData();
        });
        return new TitledCell(cell);
    } else if (segment == 4) {
        return new TitledCell(new TableCellTitle("", IvTranslations.get("reccomplex.mazerule.connectall.preview")));
    } else if (segment == 5) {
        ConnectorFactory factory = new ConnectorFactory();
        Set<Connector> blockedConnections = Collections.singleton(factory.get(ConnectorStrategy.DEFAULT_WALL));
        List<SavedMazePath> exitPaths = MazeRuleConnectAll.getPaths(rule.exits, expected, blockedConnections, factory).collect(Collectors.toList());
        return new TitledCell(new TableCellTitle("", exitPaths.get(index).toString()));
    }
    return super.cellForIndexInSegment(table, index, segment);
}
Also used : TitledCell(ivorius.reccomplex.gui.table.cell.TitledCell) IvTranslations(ivorius.ivtoolkit.tools.IvTranslations) TableDataSourceMazePathList(ivorius.reccomplex.gui.worldscripts.mazegenerator.TableDataSourceMazePathList) TableCellTitle(ivorius.reccomplex.gui.table.cell.TableCellTitle) TableCell(ivorius.reccomplex.gui.table.cell.TableCell) ivorius.reccomplex.world.gen.feature.structure.generic.maze(ivorius.reccomplex.world.gen.feature.structure.generic.maze) GuiTable(ivorius.reccomplex.gui.table.GuiTable) TableCellBoolean(ivorius.reccomplex.gui.table.cell.TableCellBoolean) TableDataSourceSegmented(ivorius.reccomplex.gui.table.datasource.TableDataSourceSegmented) TextFormatting(net.minecraft.util.text.TextFormatting) Set(java.util.Set) TableDataSourcePreloaded(ivorius.reccomplex.gui.table.datasource.TableDataSourcePreloaded) Selection(ivorius.reccomplex.world.gen.feature.structure.generic.Selection) Collectors(java.util.stream.Collectors) TableNavigator(ivorius.reccomplex.gui.table.TableNavigator) TitledCell(ivorius.reccomplex.gui.table.cell.TitledCell) List(java.util.List) Side(net.minecraftforge.fml.relauncher.Side) TableDelegate(ivorius.reccomplex.gui.table.TableDelegate) MazeRuleConnectAll(ivorius.reccomplex.world.gen.feature.structure.generic.maze.rules.saved.MazeRuleConnectAll) SideOnly(net.minecraftforge.fml.relauncher.SideOnly) Nonnull(javax.annotation.Nonnull) Collections(java.util.Collections) TableCellBoolean(ivorius.reccomplex.gui.table.cell.TableCellBoolean) Set(java.util.Set) TableCellTitle(ivorius.reccomplex.gui.table.cell.TableCellTitle) TableDataSourceMazePathList(ivorius.reccomplex.gui.worldscripts.mazegenerator.TableDataSourceMazePathList) List(java.util.List)

Example 14 with TitledCell

use of ivorius.reccomplex.gui.table.cell.TitledCell in project RecurrentComplex by Ivorforce.

the class TableDataSourceMazeRuleConnect method cellForIndexInSegment.

@Override
public TableCell cellForIndexInSegment(GuiTable table, int index, int segment) {
    if (segment == 0) {
        TableCellBoolean preventCell = new TableCellBoolean("prevent", rule.preventConnection, TextFormatting.GOLD + IvTranslations.get("reccomplex.mazerule.connect.prevent"), TextFormatting.GREEN + IvTranslations.get("reccomplex.mazerule.connect.ensure"));
        preventCell.addListener(val -> rule.preventConnection = val);
        return new TitledCell(preventCell);
    }
    return super.cellForIndexInSegment(table, index, segment);
}
Also used : TitledCell(ivorius.reccomplex.gui.table.cell.TitledCell) TableCellBoolean(ivorius.reccomplex.gui.table.cell.TableCellBoolean)

Example 15 with TitledCell

use of ivorius.reccomplex.gui.table.cell.TitledCell in project RecurrentComplex by Ivorforce.

the class TableDataSourceConnector method cellForIndex.

@Override
public TableCell cellForIndex(GuiTable table, int index) {
    TableCellString cell = new TableCellString("connectorID", connector.id);
    cell.addListener(val -> connector.id = val);
    return new TitledCell(title, cell).withTitleTooltip(IvTranslations.formatLines("reccomplex.maze.connector.tooltip"));
}
Also used : TitledCell(ivorius.reccomplex.gui.table.cell.TitledCell) TableCellString(ivorius.reccomplex.gui.table.cell.TableCellString)

Aggregations

TitledCell (ivorius.reccomplex.gui.table.cell.TitledCell)15 IvTranslations (ivorius.ivtoolkit.tools.IvTranslations)5 TableCell (ivorius.reccomplex.gui.table.cell.TableCell)5 TableDataSourceSegmented (ivorius.reccomplex.gui.table.datasource.TableDataSourceSegmented)5 TableCellInteger (ivorius.reccomplex.gui.table.cell.TableCellInteger)4 TableCellString (ivorius.reccomplex.gui.table.cell.TableCellString)4 TableCellStringInt (ivorius.reccomplex.gui.table.cell.TableCellStringInt)4 Nonnull (javax.annotation.Nonnull)4 IntegerRange (ivorius.ivtoolkit.gui.IntegerRange)3 TableDataSourceExpression (ivorius.reccomplex.gui.TableDataSourceExpression)3 ivorius.reccomplex.gui.table (ivorius.reccomplex.gui.table)3 TableCellBoolean (ivorius.reccomplex.gui.table.cell.TableCellBoolean)3 GuiTable (ivorius.reccomplex.gui.table.GuiTable)2 TableDelegate (ivorius.reccomplex.gui.table.TableDelegate)2 TableNavigator (ivorius.reccomplex.gui.table.TableNavigator)2 TableCellEnum (ivorius.reccomplex.gui.table.cell.TableCellEnum)2 TableCellTitle (ivorius.reccomplex.gui.table.cell.TableCellTitle)2 EnumFacing (net.minecraft.util.EnumFacing)2 Directions (ivorius.ivtoolkit.blocks.Directions)1 FloatRange (ivorius.ivtoolkit.gui.FloatRange)1