private void onState (final State tgtState, final Signal.Listener<? super Layer> action) { state.connect(new Signal.Listener<State>() { public void onEmit (State state) { if (state == tgtState) action.onEmit(Layer.this); } }); }
@Override protected Connection connect () { conn = mapped.connect(new UnitSlot() { public void onEmit () { reconnect(); } }); return mapped.get().connect(new Listener<M>() { @Override public void onChange (M value, M ovalue) { notifyChange(value, ovalue); } }); } @Override protected void disconnect () {
@Override protected Connection connect () { conn = mapped.connect(new UnitSlot() { public void onEmit () { reconnect(); } }); return mapped.get().connect(new Listener<M>() { @Override public void onChange (M value, M ovalue) { notifyChange(value, ovalue); } }); } @Override protected void disconnect () {
@Override protected Connection connect () { Connection[] conns = new Connection[values.size()]; Iterator<? extends ValueView<Boolean>> iter = values.iterator(); for (int ii = 0; ii < conns.length; ii++) conns[ii] = iter.next().connect(_trigger); return Connection.join(conns); }
@Override protected Connection connect () { Connection[] conns = new Connection[values.size()]; Iterator<? extends ValueView<Boolean>> iter = values.iterator(); for (int ii = 0; ii < conns.length; ii++) conns[ii] = iter.next().connect(_trigger); return Connection.join(conns); }
@Override protected void wasAdded () { super.wasAdded(); _conn = text.connect(textDidChange()); }
@Override public Menu createMenu () { final PagedMenu menu = new PagedMenu(new TableLayout(2), 16); menu.add(new Label("Select a byte").addStyles(Style.COLOR.is(0xFFFFFFFF), Style.BACKGROUND.is(Background.beveled(0xFF8F8F8F, 0xFF4F4F4F, 0xFFCFCFCF). inset(4))).setConstraint(new TableLayout.Colspan(2))); final Button prev = new Button("<< Previous").onClick(menu.incrementPage(-1)); final Button next = new Button("Next >>").onClick(menu.incrementPage(1)); menu.add(prev, next); UnitSlot updateEnabling = new UnitSlot() { @Override public void onEmit () { prev.setEnabled(menu.page().get() > 0); next.setEnabled(menu.page().get() < menu.numPages().get() - 1); } }; menu.page().connect(updateEnabling); menu.numPages().connect(updateEnabling); int sel = -1; for (int ii = 0; ii < 256; ii++) { String hex = new StringBuilder("0x"). append(HEX.charAt((ii>>4)&0xf)). append(HEX.charAt(ii&0xf)).toString(); if (text.get().startsWith(hex)) sel = ii; menu.add(new MenuItem(hex)); } if (sel != -1) menu.setPage(sel / menu.itemsPerPage); updateEnabling.onEmit(); return menu; } };
input.mouseEvents.connect(new playn.scene.Mouse.Dispatcher(rootLayer, true)); graphics.deviceOrient.connect(orient -> displayMenu());
return checked ? tileIcon(squares, 0) : null; }).connect(label2.icon.slot());