private void addButtonsListeners(VisImageButton upButton, VisImageButton downButton) { upButton.addListener( new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { getStage().setScrollFocus(valueText); increment(true); } }); downButton.addListener( new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { getStage().setScrollFocus(valueText); decrement(true); } }); upButton.addListener( new InputListener() { @Override public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { if (buttonRepeatTask.isScheduled() == false) { buttonRepeatTask.increment = true; buttonRepeatTask.cancel(); Timer.schedule(buttonRepeatTask, buttonRepeatInitialTime, buttonRepeatTime); } return true; } @Override public void touchUp(InputEvent event, float x, float y, int pointer, int button) { buttonRepeatTask.cancel(); } }); downButton.addListener( new InputListener() { @Override public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { if (buttonRepeatTask.isScheduled() == false) { buttonRepeatTask.increment = false; buttonRepeatTask.cancel(); Timer.schedule(buttonRepeatTask, buttonRepeatInitialTime, buttonRepeatTime); } return true; } @Override public void touchUp(InputEvent event, float x, float y, int pointer, int button) { buttonRepeatTask.cancel(); } }); }
public ComponentSelectDialog( EntityProperties properties, ComponentSelectDialogListener listener) { super(false); this.properties = properties; this.listener = listener; setBackground(VisUI.getSkin().getDrawable("tooltip-bg")); // TODO: [plugin] plugin entry point componentClasses.add(ShaderComponent.class); componentClasses.add(PolygonComponent.class); componentClasses.add(PhysicsPropertiesComponent.class); componentClasses.add(VariablesComponent.class); buttonStyle = new VisTextButtonStyle(VisUI.getSkin().get(VisTextButtonStyle.class)); scrollPaneTable = new VisTable(false); scrollPaneTable.top(); VisScrollPane scrollPane = new VisScrollPane(scrollPaneTable); scrollPane.setScrollingDisabled(false, true); scrollPane.setFlickScroll(false); scrollPane.setFadeScrollBars(false); VisImageButton closeButton = new VisImageButton("close"); add(new VisLabel("Select component")); add(closeButton).right().row(); addSeparator().colspan(2); add(scrollPane).colspan(2).expand().fill().padLeft(3).padRight(3); setSize(220, 200); closeButton.addListener(new VisChangeListener((event, actor) -> remove())); inputListener = new InputListener() { @Override public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { if (contains(event.getStageX(), event.getStageY()) == false) { remove(); return true; } return false; } }; }