X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=_UIImplementation.pde;h=03379ce81d072740ccefc56b05c700f3cd4aa6ae;hb=1f42cce70281d4d70378a2be362f6cb2c6d5f45f;hp=c8b99306d3f6eb9a3c4311872f5a21c580687844;hpb=d626bc9b0197a1b5fd51a86f33f666a2a46579a2;p=SugarCubes.git diff --git a/_UIImplementation.pde b/_UIImplementation.pde index c8b9930..03379ce 100644 --- a/_UIImplementation.pde +++ b/_UIImplementation.pde @@ -95,9 +95,9 @@ class UICrossfader extends UIWindow { for (LXTransition t : transitions) { items.add(new TransitionScrollItem(t)); } - new UIScrollList(1, titleHeight, w-2, 60).setItems(items).addToContainer(this); - new UIParameterSlider(6, titleHeight + 66, w-12, 24).setParameter(lx.engine.getDeck(1).getCrossfader()).addToContainer(this); - new UIToggleSet(6, 122, w-12, 20) { + new UIScrollList(1, titleHeight, w-2, 120).setItems(items).addToContainer(this); + new UIParameterSlider(4, titleHeight + 126, w-10, 24).setParameter(lx.engine.getDeck(1).getCrossfader()).addToContainer(this); + new UIToggleSet(4, 182, w-10, 20) { protected void onToggle(String value) { displayMode = value; } @@ -220,21 +220,39 @@ class UIOutput extends UIWindow { public UIOutput(float x, float y, float w, float h) { super("OUTPUT", x, y, w, h); float yp = titleHeight; + + final UIScrollList outputs = new UIScrollList(1, titleHeight, w-2, 80); + + List items = new ArrayList(); for (final PandaDriver panda : pandaBoards) { - final UIButton button = new UIButton(4, yp, w-8, 20) { - protected void onToggle(boolean active) { - panda.setEnabled(active); - } - }.setLabel(panda.ip); - button.addToContainer(this); + items.add(new PandaScrollItem(panda)); panda.setListener(new PandaDriver.Listener() { public void onToggle(boolean active) { - button.setActive(active); + outputs.redraw(); } }); - yp += 24; } - } + outputs.setItems(items).addToContainer(this); + } + + class PandaScrollItem extends AbstractScrollItem { + final PandaDriver panda; + PandaScrollItem(PandaDriver panda) { + this.panda = panda; + } + + public String getLabel() { + return panda.ip; + } + + public boolean isSelected() { + return panda.isEnabled(); + } + + public void select() { + panda.toggle(); + } + } } class UITempo extends UIWindow { @@ -243,7 +261,7 @@ class UITempo extends UIWindow { UITempo(float x, float y, float w, float h) { super("TEMPO", x, y, w, h); - tempoButton = new UIButton(4, titleHeight, w-8, 20) { + tempoButton = new UIButton(4, titleHeight, w-10, 20) { protected void onToggle(boolean active) { if (active) { lx.tempo.tap(); @@ -285,7 +303,7 @@ class UIMapping extends UIWindow { mappingTool = tool; int yp = titleHeight; - new UIToggleSet(4, yp, w-8, 20) { + new UIToggleSet(4, yp, w-10, 20) { protected void onToggle(String value) { if (value == MAP_MODE_ALL) mappingTool.mappingMode = mappingTool.MAPPING_MODE_ALL; else if (value == MAP_MODE_CHANNEL) mappingTool.mappingMode = mappingTool.MAPPING_MODE_CHANNEL; @@ -293,25 +311,25 @@ class UIMapping extends UIWindow { } }.setOptions(new String[] { MAP_MODE_ALL, MAP_MODE_CHANNEL, MAP_MODE_CUBE }).addToContainer(this); yp += 24; - new UILabel(4, yp+8, w-8, 20).setLabel("CHANNEL ID").addToContainer(this); + new UILabel(4, yp+8, w-10, 20).setLabel("CHANNEL ID").addToContainer(this); yp += 24; - (channelBox = new UIIntegerBox(4, yp, w-8, 20) { + (channelBox = new UIIntegerBox(4, yp, w-10, 20) { protected void onValueChange(int value) { mappingTool.setChannel(value-1); } }).setRange(1, mappingTool.numChannels()).addToContainer(this); yp += 24; - new UILabel(4, yp+8, w-8, 20).setLabel("CUBE ID").addToContainer(this); + new UILabel(4, yp+8, w-10, 20).setLabel("CUBE ID").addToContainer(this); yp += 24; - (cubeBox = new UIIntegerBox(4, yp, w-8, 20) { + (cubeBox = new UIIntegerBox(4, yp, w-10, 20) { protected void onValueChange(int value) { mappingTool.setCube(value-1); } }).setRange(1, glucose.model.cubes.size()).addToContainer(this); yp += 24; - new UILabel(4, yp+8, w-8, 20).setLabel("COLORS").addToContainer(this); + new UILabel(4, yp+8, w-10, 20).setLabel("COLORS").addToContainer(this); yp += 24; new UIScrollList(1, yp, w-2, 60).setItems(Arrays.asList(new ScrollItem[] { @@ -321,10 +339,10 @@ class UIMapping extends UIWindow { })).addToContainer(this); yp += 64; - new UILabel(4, yp+8, w-8, 20).setLabel("STRIP MODE").addToContainer(this); + new UILabel(4, yp+8, w-10, 20).setLabel("STRIP MODE").addToContainer(this); yp += 24; - new UIToggleSet(4, yp, w-8, 20) { + new UIToggleSet(4, yp, w-10, 20) { protected void onToggle(String value) { if (value == CUBE_MODE_ALL) mappingTool.cubeMode = mappingTool.CUBE_MODE_ALL; else if (value == CUBE_MODE_STRIP) mappingTool.cubeMode = mappingTool.CUBE_MODE_SINGLE_STRIP; @@ -333,10 +351,10 @@ class UIMapping extends UIWindow { }.setOptions(new String[] { CUBE_MODE_ALL, CUBE_MODE_STRIP, CUBE_MODE_PATTERN }).addToContainer(this); yp += 24; - new UILabel(4, yp+8, w-8, 20).setLabel("STRIP ID").addToContainer(this); + new UILabel(4, yp+8, w-10, 20).setLabel("STRIP ID").addToContainer(this); yp += 24; - (stripBox = new UIIntegerBox(4, yp, w-8, 20) { + (stripBox = new UIIntegerBox(4, yp, w-10, 20) { protected void onValueChange(int value) { mappingTool.setStrip(value-1); }