package mods.eln.sixnode.wirelesssignal.rx;
import mods.eln.gui.*;
import static mods.eln.i18n.I18N.tr;
public class WirelessSignalRxGui extends GuiScreenEln {
GuiTextFieldEln channel;
private WirelessSignalRxRender render;
AggregatorBt buttonBigger, buttonSmaller, buttonToogle;
class AggregatorBt extends GuiButtonEln {
byte id;
public AggregatorBt(int x, int y, int width, int height, String str, byte id) {
super(x, y, width, height, str);
this.id = id;
}
@Override
public void onMouseClicked() {
render.clientSetByte(WirelessSignalRxElement.setSelectedAggregator, id);
super.onMouseClicked();
}
@Override
public void idraw(int x, int y, float f) {
this.enabled = render.selectedAggregator != id;
super.idraw(x, y, f);
}
}
public WirelessSignalRxGui(WirelessSignalRxRender render) {
this.render = render;
}
@Override
public void initGui() {
super.initGui();
channel = newGuiTextField(6, 6, 220);
channel.setText(render.channel);
channel.setComment(0, tr("Specify the channel"));
int w = 72;
int x = 6;
int y = 6 + 12 + 4;
add(buttonBigger = new AggregatorBt(x, y, w, 20, tr("Biggest"), (byte) 0));
x += 2 + w;
add(buttonSmaller = new AggregatorBt(x, y, w, 20, tr("Smallest"), (byte) 1));
x += 2 + w;
add(buttonToogle = new AggregatorBt(x, y, w, 20, tr("Toggle"), (byte) 2));
buttonBigger.setHelper(helper);
int lineNumber = 0;
for (String line : tr("Uses the biggest\nvalue on the channel.").split("\n"))
buttonBigger.setComment(lineNumber++, line);
buttonSmaller.setHelper(helper);
lineNumber = 0;
for (String line : tr("Uses the smallest\nvalue on the channel.").split("\n"))
buttonSmaller.setComment(lineNumber++, line);
buttonToogle.setHelper(helper);
lineNumber = 0;
for (String line : tr("Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light.").split("\n"))
buttonToogle.setComment(lineNumber++, line);
}
@Override
protected GuiHelper newHelper() {
return new GuiHelper(this, 220 + 12, 12 + 1 + 24 * 1 + 12);
}
@Override
protected void preDraw(float f, int x, int y) {
if (render.connection)
channel.setComment(1, "\u00a72" + tr("Connected"));
else
channel.setComment(1, "\u00a74" + tr("Not connected"));
super.preDraw(f, x, y);
}
@Override
public void guiObjectEvent(IGuiObject object) {
if (object == channel) {
render.clientSetString(WirelessSignalRxElement.setChannelId, channel.getText());
}
super.guiObjectEvent(object);
}
}