All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.lessvoid.nifty.controls.listbox.ListBoxItemController Maven / Gradle / Ivy

There is a newer version: 1.4.3
Show newest version
package de.lessvoid.nifty.controls.listbox;

import de.lessvoid.nifty.Nifty;
import de.lessvoid.nifty.controls.AbstractController;
import de.lessvoid.nifty.controls.Parameters;
import de.lessvoid.nifty.elements.Element;
import de.lessvoid.nifty.input.NiftyInputEvent;
import de.lessvoid.nifty.screen.Screen;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;

public class ListBoxItemController extends AbstractController {
  @Nullable
  private ListBoxImpl listBox;
  private int visualItemIndex;
  @Nullable
  private Nifty nifty;
  @Nullable
  private Screen screen;

  @Override
  public void bind(
      @Nonnull final Nifty nifty,
      @Nonnull final Screen screen,
      @Nonnull final Element element,
      @Nonnull final Parameters properties) {
    bind(element);
    this.nifty = nifty;
    this.screen = screen;
  }

  @Override
  public void onStartScreen() {
  }

  @Override
  public void onFocus(final boolean getFocus) {
    super.onFocus(getFocus);
  }

  @Override
  public boolean inputEvent(@Nonnull final NiftyInputEvent inputEvent) {
    return false;
  }

  @Nullable
  protected ListBoxImpl getListBox() {
    return listBox;
  }

  protected int getVisualItemIndex() {
    return this.visualItemIndex;
  }

  @Nullable
  protected Nifty getNifty() {
    return nifty;
  }

  @Nullable
  protected Screen getScreen() {
    return screen;
  }

  public void listBoxItemClicked() {
    if (listBox != null) {
      final T item = getItem();
      listBox.setFocusItem(item);
      if (listBox.getSelection().contains(item)) {
        listBox.deselectItemByVisualIndex(visualItemIndex);
      } else {
        listBox.selectItemByVisualIndex(visualItemIndex);
      }
    }
  }

  @Nullable
  protected T getItem() {
    if (listBox == null) {
      return null;
    }
    return listBox.getItemByVisualIndex(visualItemIndex);
  }

  public void setListBox(@Nullable final ListBoxImpl listBox) {
    this.listBox = listBox;
  }

  public void setItemIndex(final int visualItemIndex) {
    this.visualItemIndex = visualItemIndex;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy