private void processSoftKeyboard() { SoftTextDialogInput softTextDialogInput = JmeSystem.getSoftTextDialogInput(); if (softTextDialogInput != null) { Element element = nifty.getCurrentScreen().getFocusHandler().getKeyboardFocusElement(); if (element != null) { final TextField textField = element.getNiftyControl(TextField.class); if (textField != null) { Logger.getLogger(InputSystemJme.class.getName()).log(Level.FINE, "Current TextField: {0}", textField.getId()); String initialValue = textField.getRealText(); if (initialValue == null) { initialValue = ""; } softTextDialogInput.requestDialog(SoftTextDialogInput.TEXT_ENTRY_DIALOG, "Enter Text", initialValue, new SoftTextDialogInputListener() { public void onSoftText(int action, String text) { if (action == SoftTextDialogInputListener.COMPLETE) { textField.setText(text); } } }); } } } } }
@Override public void onStartScreen() { focusHandler = screen.getFocusHandler(); }
@Override public void bind( @Nonnull final Nifty nifty, @Nonnull final Screen screen, @Nonnull final Element element, @Nonnull final Parameters parameter) { bind(element); focusHandler = screen.getFocusHandler(); }
@Override public void bind( @Nonnull final Nifty nifty, @Nonnull final Screen screen, @Nonnull final Element element, @Nonnull final Parameters parameter) { bind(element); focusHandler = screen.getFocusHandler(); }
@Override public void bind( @Nonnull final Nifty nifty, @Nonnull final Screen screen, @Nonnull final Element element, @Nonnull final Parameters parameter) { this.element = element; FocusHandler focusHandler = screen.getFocusHandler(); nextPrevHelper = new NextPrevHelper(element, focusHandler); }
@Override public void init(@Nonnull final Parameters parameter) { super.init(parameter); if (screen == null || nifty == null) { log.severe("Required instances not found, binding did not run or failed."); } String id = getId(); if (id == null) { log.warning("Checkbox has not ID, can't register a event subscriber to monitor update events. Checkbox " + "functionality will be limited."); } else { focusHandler = screen.getFocusHandler(); nifty.subscribe(screen, id, ElementShowEvent.class, this); } }
@Override public void init(@Nonnull final Parameters parameter) { super.init(parameter); if (screen == null || nifty == null) { log.severe("Required instances not found, binding did not run or failed."); } String id = getId(); if (id == null) { log.warning("Checkbox has not ID, can't register a event subscriber to monitor update events. Checkbox " + "functionality will be limited."); } else { focusHandler = screen.getFocusHandler(); nifty.subscribe(screen, id, ElementShowEvent.class, this); } }
@Override public void bind( @Nonnull final Nifty niftyParam, @Nonnull final Screen screenParam, @Nonnull final Element newElement, @Nonnull final Parameters parameter) { super.bind(newElement); nifty = niftyParam; final Element text = newElement.findElementById("#text"); if (text == null) { log.severe("Button element misses the text content element."); return; } buttonTextElement = text; if (newElement.getId() == null) { log.warning("Button element has no ID and can't publish any events properly."); } final TextRenderer renderer = buttonTextElement.getRenderer(TextRenderer.class); if (renderer == null) { throw new RuntimeException("ButtonControl is corrupted, #text element found, but missing TextRenderer"); } buttonTextRenderer = renderer; focusHandler = screenParam.getFocusHandler(); }
@Override public void bind( @Nonnull final Nifty niftyParam, @Nonnull final Screen screenParam, @Nonnull final Element newElement, @Nonnull final Parameters parameter) { super.bind(newElement); nifty = niftyParam; final Element text = newElement.findElementById("#text"); if (text == null) { log.severe("Button element misses the text content element."); return; } buttonTextElement = text; if (newElement.getId() == null) { log.warning("Button element has no ID and can't publish any events properly."); } final TextRenderer renderer = buttonTextElement.getRenderer(TextRenderer.class); if (renderer == null) { throw new RuntimeException("ButtonControl is corrupted, #text element found, but missing TextRenderer"); } buttonTextRenderer = renderer; focusHandler = screenParam.getFocusHandler(); }
@Nonnull public Element createRootLayer( @Nonnull final String id, @Nonnull final Nifty nifty, @Nonnull final Screen screen, @Nonnull final TimeProvider time) { return new Element( nifty, new ElementType(), id, null, createRootLayerLayoutPart(nifty), screen.getFocusHandler(), false, time, createPanelRenderer()); }
public void setDefaultFocus() { if (focusHandler.getKeyboardFocusElement() != null) { return; } if (defaultFocusElementId != null) { Element defaultFocus = getFocusHandler().findElement(defaultFocusElementId); if (defaultFocus != null) { defaultFocus.setFocus(); return; } } // fall back to first element Element firstFocus = getFocusHandler().getFirstFocusElement(); if (firstFocus != null) { firstFocus.setFocus(); } }
@Nonnull private Element internalCreateElement( @Nonnull final Element parent, @Nonnull final Nifty nifty, @Nonnull final Screen screen, @Nonnull final LayoutPart layoutPart, @Nonnull final Attributes attrib, final int index) { ElementRenderer[] renderer = null; if (elementRendererCreator != null) { renderer = elementRendererCreator.createElementRenderer(nifty); } if (renderer == null) { renderer = new ElementRenderer[0]; } Element element = new Element( nifty, this, attrib.get("id"), parent, layoutPart, screen.getFocusHandler(), false, nifty.getTimeProvider(), renderer); parent.insertChild(element, index); return element; }
@Override public boolean inputEvent(@Nonnull final NiftyInputEvent inputEvent) { if (inputEvent == NiftyStandardInputEvent.Activate) { onClick(); return true; } if (screen == null) { return false; } Element element = getElement(); if (element != null) { if (inputEvent == NiftyStandardInputEvent.NextInputElement) { screen.getFocusHandler().getNext(element).setFocus(); return true; } if (inputEvent == NiftyStandardInputEvent.PrevInputElement) { screen.getFocusHandler().getPrev(element).setFocus(); return true; } } return false; }
@Override public boolean inputEvent(@Nonnull final NiftyInputEvent inputEvent) { if (inputEvent == NiftyStandardInputEvent.Activate) { onClick(); return true; } if (screen == null) { return false; } Element element = getElement(); if (element != null) { if (inputEvent == NiftyStandardInputEvent.NextInputElement) { screen.getFocusHandler().getNext(element).setFocus(); return true; } if (inputEvent == NiftyStandardInputEvent.PrevInputElement) { screen.getFocusHandler().getPrev(element).setFocus(); return true; } } return false; }
return; focusHandler = screen.getFocusHandler();
return; focusHandler = screen.getFocusHandler();
this.nifty = nifty; this.screen = screen; focusHandler = screen.getFocusHandler();
this.nifty = nifty; this.screen = screen; focusHandler = screen.getFocusHandler();
@Override public void bind( @Nonnull final Nifty nifty, @Nonnull final Screen screen, @Nonnull final Element element, @Nonnull final Parameters parameter) { bind(element); elementBackground = element.findElementById("#background"); elementPosition = element.findElementById("#position"); nextPrevHelper = new NextPrevHelper(element, screen.getFocusHandler()); if (elementBackground == null) { log.severe("Background element of slider not found. Slider will not work properly. Looked for: #background"); } if (elementPosition == null) { log.severe("Position element of slider not found. Slider will not work properly. Looked for: #position"); } else if (elementBackground != null) { if ("verticalSlider".equals(parameter.get("name"))) { sliderView = new SliderViewVertical(nifty, this, elementBackground, elementPosition); } else { sliderView = new SliderViewHorizontal(nifty, this, elementBackground, elementPosition); } } float min = parameter.getAsFloat("min", 0.f); float max = parameter.getAsFloat("max", 100.f); float initial = parameter.getAsFloat("initial", 0.f); float stepSize = parameter.getAsFloat("stepSize", 1.f); float buttonStepSize = parameter.getAsFloat("buttonStepSize", 25.f); sliderImpl.bindToView(sliderView, min, max, stepSize, buttonStepSize); sliderImpl.setValue(initial); }
@Override public void bind( @Nonnull final Nifty nifty, @Nonnull final Screen screen, @Nonnull final Element element, @Nonnull final Parameters parameter) { bind(element); elementBackground = element.findElementById("#background"); elementPosition = element.findElementById("#position"); nextPrevHelper = new NextPrevHelper(element, screen.getFocusHandler()); if (elementBackground == null) { log.severe("Background element of slider not found. Slider will not work properly. Looked for: #background"); } if (elementPosition == null) { log.severe("Position element of slider not found. Slider will not work properly. Looked for: #position"); } else if (elementBackground != null) { if ("verticalSlider".equals(parameter.get("name"))) { sliderView = new SliderViewVertical(nifty, this, elementBackground, elementPosition); } else { sliderView = new SliderViewHorizontal(nifty, this, elementBackground, elementPosition); } } float min = parameter.getAsFloat("min", 0.f); float max = parameter.getAsFloat("max", 100.f); float initial = parameter.getAsFloat("initial", 0.f); float stepSize = parameter.getAsFloat("stepSize", 1.f); float buttonStepSize = parameter.getAsFloat("buttonStepSize", 25.f); sliderImpl.bindToView(sliderView, min, max, stepSize, buttonStepSize); sliderImpl.setValue(initial); }