List of usage examples for com.badlogic.gdx.scenes.scene2d.ui ScrollPane ScrollPane
public ScrollPane(Actor widget)
From source file:awakening.view.menu.WaitingRoomClient.java
License:Apache License
/** * Constructor/* w ww . j ava2 s .c o m*/ * * @param game Tower Awakening's Game * @param sound Main menu's music * @param effect Button's effect */ public WaitingRoomClient(TAGame game, Music sound, Sound effect) { this.game = game; this.sound = sound; this.effect = effect; try { socket = new Socket(InetAddress.getByName(null), 1134); input = new BufferedReader(new InputStreamReader(socket.getInputStream())); output = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } th1 = new Thread(new Runnable() { @Override public void run() { try { while (true) { String messagePlayer = input.readLine(); if (messagePlayer != null) { TextArea t = new TextArea(messagePlayer, skin); t.setTouchable(Touchable.disabled); chatBox.row(); chatBox.add(t).height(75).width(500); } } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); th1.start(); stage = new Stage(); try { if (game.getLanguage().equals("ENGLISH")) { language = ResourceBundle.getBundle("awakening.view.menu.res_en_EN", locales[0]); } else if (game.getLanguage().equals("FRENCH")) { language = ResourceBundle.getBundle("awakening.view.menu.res_fr_FR", locales[1]); } else if (game.getLanguage().equals("ITALIAN")) { language = ResourceBundle.getBundle("awakening.view.menu.res_it_IT", locales[2]); } else { language = ResourceBundle.getBundle("awakening.view.menu.res", locales[0]); } } catch (java.util.MissingResourceException e) { System.out.println("yolo"); } ///Viewport camera = new OrthographicCamera(); view = new StretchViewport(Gdx.app.getGraphics().getWidth(), Gdx.app.getGraphics().getWidth(), camera); ///Background background = new Texture(Gdx.files.internal("img/menu/Background-2.png")); batch = new SpriteBatch(); ///Skin skin = new Skin(Gdx.files.internal("uiskin.json")); ///Title title = new Label(language.getString("label_waiting_room"), skin); ///Widgets Background widgetsBackground = new Image(new Texture(Gdx.files.internal("img/widget/window_selection.png"))); widgetsBackground.setSize(Gdx.app.getGraphics().getWidth() - Gdx.app.getGraphics().getWidth() / 8, Gdx.app.getGraphics().getHeight() - Gdx.app.getGraphics().getHeight() / 8); ///Back Button btnBack = new TextButton(language.getString("button_back"), skin); ///ChatBox chatBox = new Table(); scroll = new ScrollPane(chatBox); scroll.setForceScroll(false, true); scroll.setFlickScroll(true); scroll.setOverscroll(false, false); ///Message message = new TextField("", skin); btnSend = new TextButton(language.getString("button_send"), skin); }
From source file:awakening.view.menu.WaitingRoomServer.java
License:Apache License
/** * Constructor//from w w w. j a v a 2s . c o m * * @param game Tower Awakening's Game * @param sound Main menu's music * @param effect Button's effect */ public WaitingRoomServer(TAGame game, Music sound, Sound effect) { this.game = game; this.sound = sound; this.effect = effect; try { serverSocket = new ServerSocket(portEcoute); } catch (IOException e) { System.err.println("Creation de la socket impossible : " + e); System.exit(-1); } stage = new Stage(); try { if (game.getLanguage().equals("ENGLISH")) { language = ResourceBundle.getBundle("awakening.view.menu.res_en_EN", locales[0]); } else if (game.getLanguage().equals("FRENCH")) { language = ResourceBundle.getBundle("awakening.view.menu.res_fr_FR", locales[1]); } else if (game.getLanguage().equals("ITALIAN")) { language = ResourceBundle.getBundle("awakening.view.menu.res_it_IT", locales[2]); } else { language = ResourceBundle.getBundle("awakening.view.menu.res", locales[0]); } } catch (java.util.MissingResourceException e) { System.out.println("yolo"); } ///Viewport camera = new OrthographicCamera(); view = new StretchViewport(Gdx.app.getGraphics().getWidth(), Gdx.app.getGraphics().getWidth(), camera); ///Background background = new Texture(Gdx.files.internal("img/menu/Background-2.png")); batch = new SpriteBatch(); ///Skin skin = new Skin(Gdx.files.internal("uiskin.json")); ///Title title = new Label(language.getString("label_waiting_room"), skin); ///Widgets Background widgetsBackground = new Image(new Texture(Gdx.files.internal("img/widget/window_selection.png"))); widgetsBackground.setSize(Gdx.app.getGraphics().getWidth() - Gdx.app.getGraphics().getWidth() / 8, Gdx.app.getGraphics().getHeight() - Gdx.app.getGraphics().getHeight() / 8); ///Back Button btnBack = new TextButton(language.getString("button_back"), skin); ///ChatBox chatBox = new Table(); scroll = new ScrollPane(chatBox); scroll.setForceScroll(false, true); scroll.setFlickScroll(true); scroll.setOverscroll(false, false); ///Message message = new TextField("", skin); btnSend = new TextButton(language.getString("button_send"), skin); ///Start Button btnStart = new TextButton(language.getString("button_start"), skin); }
From source file:com.advancedtelematic.toyapp.AboutScreen.java
@Override public void resize(int width, int height) { super.resize(width, height); //To change body of overridden methods use File | Settings | File Templates. Stage stage = getStage();//from w w w . j a v a 2 s . c om Skin skin = getSkin(); Label licenseLabel = new Label(Gdx.files.internal("freebsd_license.txt").readString("UTF-8"), skin); ScrollPane pane = new ScrollPane(licenseLabel); pane.setFillParent(true); stage.addActor(pane); }
From source file:com.agateau.ui.UiBuilder.java
License:Apache License
protected ScrollPane createScrollPane(XmlReader.Element element) { String styleName = element.getAttribute("style", ""); ScrollPane pane;//from ww w .j a va2 s. c o m if (styleName.isEmpty()) { pane = new ScrollPane(null); } else { pane = new ScrollPane(null, mSkin, styleName); } Actor child = doBuild(element, null); if (child != null) { pane.setWidget(child); } return pane; }
From source file:com.andgate.ikou.view.FloorSelectScreen.java
License:Open Source License
public void buildStage() { stage.clear();//from ww w . j a v a 2 s . c o m stage.getViewport().setWorldSize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); stage.getViewport().update(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), true); final Label.LabelStyle titleLabelStyle = new Label.LabelStyle(game.menuTitleFont, Color.CYAN); final ShaderLabel titleLabel = new ShaderLabel(SELECT_FLOOR_TEXT, titleLabelStyle, game.fontShader); final Label.LabelStyle floorOptionLabelStyle = new Label.LabelStyle(game.menuOptionFont, Color.BLACK); final Label.LabelStyle lockedFloorOptionLabelStyle = new Label.LabelStyle(game.menuOptionFont, Color.GRAY); Table floorOptionsTable = new Table(); float padding = 0.5f * game.ppm; float actorLength = (float) Gdx.graphics.getWidth() / COLUMNS - padding * 2.0f; for (int floorNumber = 1; floorNumber <= levelData.totalFloors; floorNumber++) { ShaderLabel floorLabel = null; if (floorNumber <= levelData.completedFloors + 1) { floorLabel = new ShaderLabel("" + floorNumber, floorOptionLabelStyle, game.fontShader); floorLabel.addListener(new FloorOptionClickListener(game, this, levelData, floorNumber)); } else { floorLabel = new ShaderLabel("?", lockedFloorOptionLabelStyle, game.fontShader); } floorOptionsTable.add(floorLabel).pad(padding).width(actorLength).height(actorLength).center(); if (floorNumber % COLUMNS == 0) { floorOptionsTable.row(); } } ScrollPane scrollPane = new ScrollPane(floorOptionsTable); Table table = new Table(); table.add(titleLabel).center().top().row(); table.add(scrollPane).fill().expand().top().left(); table.setFillParent(true); stage.addActor(table); stage.setDebugAll(true); }
From source file:com.andgate.ikou.view.LevelSelectScreen.java
License:Open Source License
private Table buildLevelSelectorTable() { final LabelStyle titleLabelStyle = new Label.LabelStyle(game.menuTitleFont, Color.CYAN); final ShaderLabel titleLabel = new ShaderLabel(SELECT_LEVEL_HEADER, titleLabelStyle, game.fontShader); Table levelsTable = buildLevelsTable(); ScrollPane scrollPane = new ScrollPane(levelsTable); Table levelSelectorTable = new Table(); levelSelectorTable.add(titleLabel).row(); // Needs default/custom toggle switches for levels levelSelectorTable.add(scrollPane);/* ww w.j ava 2 s. co m*/ return levelSelectorTable; }
From source file:com.badlogic.gdx.spriter.demo.SpriterDemoApp.java
@Override public void create() { // Initialize object batch = new SpriteBatch(); camera = new OrthographicCamera(); FileHandleResolver resolver = new InternalFileHandleResolver(); assetManager = new AssetManager(resolver); assetManager.setLoader(SpriterData.class, new SpriterDataLoader(resolver)); resolver = new AbsoluteFileHandleResolver(); externalAssetManager = new AssetManager(resolver); externalAssetManager.setLoader(SpriterData.class, new SpriterDataLoader(resolver)); assetManager.load("uiskin.json", Skin.class); assetManager.finishLoading();/*from w w w .j a v a2 s . c om*/ skin = assetManager.get("uiskin.json"); // Create widgets stage = new Stage(new ScreenViewport(camera), batch); Label titleLabel = new Label("gdx-spriter", skin); titleLabel.setFontScale(3f); Label fpsLabel = new Label("FPS", skin) { @Override public void act(float delta) { this.setText(Gdx.graphics.getFramesPerSecond() + " FPS"); super.act(delta); } }; fileChooser = new SelectBox<SpriterDemoFileHandle>(skin); fileChooser.setName("Files"); fileChooser.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { changeSpriterFile(fileChooser.getSelected()); lastUsedSelectBox = fileChooser; } }); Button fileFinder = new TextButton("Browse", skin); fileFinder.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { FileDialog fileDialog = new FileDialog((java.awt.Frame) null, "Choose Spriter file", FileDialog.LOAD); fileDialog.setDirectory(lastFolderBrowsed); fileDialog.setResizable(true); fileDialog.setVisible(true); String file = fileDialog.getFile(); String directory = fileDialog.getDirectory(); if (directory != null) { lastFolderBrowsed = directory; } if (file != null) { String path = directory + file; addFile(Gdx.files.absolute(path), externalAssetManager); fileChooser.setItems(files); fileChooser.setSelectedIndex(fileChooser.getItems().size - 1); } } }); entityChooser = new SelectBox<SpriterAnimator>(skin); entityChooser.setName("Entities"); entityChooser.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { changeAnimator(entityChooser.getSelected()); lastUsedSelectBox = entityChooser; } }); animationChooser = new SelectBox<String>(skin); animationChooser.setName("Animations"); animationChooser.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { changeAnimation(animationChooser.getSelected()); lastUsedSelectBox = animationChooser; } }); final CheckBox transitionCheckbox = new CheckBox("Transition", skin); transitionCheckbox.setChecked(transition); transitionCheckbox.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { transition = transitionCheckbox.isChecked(); } }); charmapChooser = new List<SpriterCharacterMap>(skin); ArraySelection<SpriterCharacterMap> selection = charmapChooser.getSelection(); selection.setMultiple(true); selection.setRangeSelect(false); selection.setToggle(false); selection.setRequired(false); charmapChooser.setName("Charmaps"); charmapChooser.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { changeCharacterMaps(charmapChooser.getSelection().items().orderedItems()); } }); angleSlider = new SpriterDemoAnimatorSlider(0, 360, 1f, skin, "%.0f") { @Override public void setValue(SpriterAnimator animator, float value) { spriterAnimator.setRotation(value); } @Override protected float getValue(SpriterAnimator animator) { return spriterAnimator.getRotation(); } }; pivotXSlider = new SpriterDemoAnimatorSlider(-1000f, 1000f, 1f, skin, "%.0f") { @Override public void setValue(SpriterAnimator animator, float value) { animator.setPivotX(value); } @Override protected float getValue(SpriterAnimator animator) { return animator.getPivotX(); } }; pivotYSlider = new SpriterDemoAnimatorSlider(-1000f, 1000f, 1f, skin, "%.0f") { @Override public void setValue(SpriterAnimator animator, float value) { animator.setPivotY(value); } @Override protected float getValue(SpriterAnimator animator) { return animator.getPivotY(); } }; scaleXSlider = new SpriterDemoAnimatorSlider(-10f, 10f, 0.1f, skin) { @Override public void setValue(SpriterAnimator animator, float value) { spriterAnimator.setScaleX(value); } @Override protected float getValue(SpriterAnimator animator) { return spriterAnimator.getScaleX(); } }; scaleYSlider = new SpriterDemoAnimatorSlider(-10f, 10f, 0.1f, skin) { @Override public void setValue(SpriterAnimator animator, float value) { spriterAnimator.setScaleY(value); } @Override protected float getValue(SpriterAnimator animator) { return spriterAnimator.getScaleY(); } }; alphaSlider = new SpriterDemoAnimatorSlider(0f, 1f, 0.01f, skin, "%.2f") { @Override public void setValue(SpriterAnimator animator, float value) { animator.setAlpha(value); } @Override protected float getValue(SpriterAnimator animator) { return animator.getAlpha(); } }; speedSlider = new SpriterDemoAnimatorSlider(0f, 10f, 0.1f, skin) { @Override public void setValue(SpriterAnimator animator, float value) { animator.setSpeed(value); } @Override protected float getValue(SpriterAnimator animator) { return animator.getSpeed(); } }; allAnimatorSliders = new SpriterDemoAnimatorSlider[] { scaleXSlider, scaleYSlider, pivotXSlider, pivotYSlider, angleSlider, alphaSlider, speedSlider }; metaLabel = new Label("Meta: ", skin); metaLabel.setWrap(true); metaLabel.setAlignment(Align.topLeft); spriterPlaceholder = new Label("No animator", skin); spriterPlaceholder.setAlignment(Align.center); spriterAnimator = new SpriterAnimatorActor(animator); spriterAnimator.debug(); playPauseButton = new ImageButton(skin, "play"); playPauseButton.setChecked(true); playPauseButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { boolean playing = playPauseButton.isChecked(); spriterAnimator.setDisabled(!playing); } }); timeSlider = new Slider(0f, 2000f, 1, false, skin); timeSlider.addListener(timeSliderListener = new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (animator == null) return; animator.setTime(timeSlider.getValue()); animator.update(0f); } }); timeLabel = new Label("---", skin); // Put everything in place Table titleTable = new Table(skin); titleTable.add(titleLabel).pad(6f); titleTable.add().expandX(); titleTable.add(fpsLabel).padRight(10f); Table selectionTable = new Table(skin); selectionTable.defaults().pad(3f); Table filesTable = new Table(skin); filesTable.row(); filesTable.add(fileChooser).expand().fillX(); filesTable.add(fileFinder).padLeft(2f).padRight(1f); Table animationsTable = new Table(skin); animationsTable.row(); animationsTable.add(animationChooser).expand().fill(); animationsTable.add(transitionCheckbox).fillX().padLeft(2f); ScrollPane scrollableCharmapChooser = new ScrollPane(charmapChooser); Table menuTable = new Table(skin); menuTable.defaults().pad(3f).expandX().fillX(); menuTable.row(); menuTable.add(titleTable).colspan(2); menuTable.row(); menuTable.add("File"); menuTable.add(filesTable).pad(4f); menuTable.row(); menuTable.add("Entity"); menuTable.add(entityChooser).pad(4f); menuTable.row(); menuTable.add("Animation"); menuTable.add(animationsTable).pad(4f); menuTable.row(); menuTable.add("Maps"); menuTable.add(scrollableCharmapChooser).pad(4f); menuTable.row(); menuTable.add("Angle"); menuTable.add(angleSlider); menuTable.row(); menuTable.add("Pivot X"); menuTable.add(pivotXSlider); menuTable.row(); menuTable.add("Pivot Y"); menuTable.add(pivotYSlider); menuTable.row(); menuTable.add("Scale X"); menuTable.add(scaleXSlider); menuTable.row(); menuTable.add("Scale Y"); menuTable.add(scaleYSlider); menuTable.row(); menuTable.add("Alpha"); menuTable.add(alphaSlider); menuTable.row(); menuTable.add("Speed"); menuTable.add(speedSlider); menuTable.row(); menuTable.add().expandY(); Table contentTable = new Table(skin); contentTable.row(); contentTable.add(metaLabel).left().expandX().maxHeight(1f); contentTable.row(); contentTable.stack(spriterPlaceholder, spriterAnimator).expand(); Table timelineTable = new Table(skin); timelineTable.row(); timelineTable.add("Timeline").expandX().align(Align.bottom); timelineTable.row(); timelineTable.add(timeSlider).expandX().fillX(); timelineTable.row(); timelineTable.add(timeLabel).expandX().align(Align.top); Table controlTable = new Table(skin); controlTable.add(playPauseButton).space(5f).expandY().fillY(); controlTable.add(timelineTable).expandX().fillX(); rootTable = new Table(skin); rootTable.setFillParent(true); rootTable.row(); rootTable.add(menuTable).expandY().fill(); rootTable.add(contentTable).expand().fill(); rootTable.row(); rootTable.add(controlTable).colspan(2).expandX().fillX(); stage.addActor(rootTable); // Bring input processing to the party InputProcessor globalInput = new InputProcessor() { @Override public boolean keyDown(int keycode) { switch (keycode) { case Keys.UP: case Keys.Z: case Keys.W: if (lastUsedSelectBox != null) lastUsedSelectBox.setSelectedIndex(Math.max(lastUsedSelectBox.getSelectedIndex() - 1, 0)); break; case Keys.DOWN: case Keys.S: if (lastUsedSelectBox != null) lastUsedSelectBox.setSelectedIndex(Math.min(lastUsedSelectBox.getSelectedIndex() + 1, lastUsedSelectBox.getItems().size - 1)); break; default: break; } return true; } @Override public boolean keyUp(int keycode) { return false; } @Override public boolean keyTyped(char character) { return false; } @Override public boolean touchDown(int screenX, int screenY, int pointer, int button) { return false; } @Override public boolean touchUp(int screenX, int screenY, int pointer, int button) { return false; } @Override public boolean touchDragged(int screenX, int screenY, int pointer) { return false; } @Override public boolean mouseMoved(int screenX, int screenY) { return false; } @Override public boolean scrolled(int amount) { amount *= 0.05f; // Zoom coefficient scaleXSlider.setValue(scaleXSlider.getValue() + amount); scaleYSlider.setValue(scaleYSlider.getValue() + amount); return false; } }; Gdx.input.setInputProcessor(new InputMultiplexer(stage, globalInput)); // Add default test resources Array<String> testResources = new Array<String>(SpriterTestData.scml); testResources.addAll(SpriterTestData.scon); testResources.sort(); for (String path : testResources) addFile(Gdx.files.internal(path.replaceFirst("/", "")), assetManager); // Also go discover some unknown exotic resources! (won't work in jar though) Array<FileHandle> spriterFiles = SpriterDemoUtils.findFiles(new String[] { "scml", "scon" }); for (FileHandle f : spriterFiles) addFile(f, assetManager); fileChooser.setItems(files); lastUsedSelectBox = fileChooser; if (playPauseButton.isChecked()) animator.play(animator.getAnimations().iterator().next()); }
From source file:com.badlogic.gdx.tests.gwt.GwtTestWrapper.java
License:Apache License
@Override public void create() { Gdx.app.setLogLevel(Application.LOG_DEBUG); Gdx.app.log("GdxTestGwt", "Setting up for " + tests.length + " tests."); ui = new Stage(); skin = new Skin(Gdx.files.internal("data/uiskin.json")); font = new BitmapFont(Gdx.files.internal("data/arial-15.fnt"), false); container = new Table(); ui.addActor(container);/*from w w w . j a v a 2 s . c om*/ container.debug(); Table table = new Table(); ScrollPane scroll = new ScrollPane(table); container.add(scroll).expand().fill(); table.pad(10).defaults().expandX().space(4); for (final Instancer instancer : tests) { table.row(); TextButton button = new TextButton(instancer.instance().getClass().getName(), skin); button.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { ((InputWrapper) Gdx.input).multiplexer.removeProcessor(ui); test = instancer.instance(); Gdx.app.log("GdxTestGwt", "Clicked on " + test.getClass().getName()); test.create(); test.resize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); } }); table.add(button).expandX().fillX(); } container.row(); container.add( new Label("Click on a test to start it, press ESC to close it.", new LabelStyle(font, Color.WHITE))) .pad(5, 5, 5, 5); Gdx.input = new InputWrapper(Gdx.input) { @Override public boolean keyUp(int keycode) { if (keycode == Keys.ESCAPE) { if (test != null) { Gdx.app.log("GdxTestGwt", "Exiting current test."); dispose = true; } } return false; } @Override public boolean touchDown(int screenX, int screenY, int pointer, int button) { if (screenX < Gdx.graphics.getWidth() / 10.0 && screenY < Gdx.graphics.getHeight() / 10.0) { if (test != null) { dispose = true; } } return false; } }; ((InputWrapper) Gdx.input).multiplexer.addProcessor(ui); Gdx.app.log("GdxTestGwt", "Test picker UI setup complete."); }
From source file:com.bladecoder.engine.ui.DebugScreen.java
License:Apache License
@Override public void show() { float size = DPIUtils.getPrefButtonSize(); float margin = DPIUtils.getMarginSize(); stage = new Stage(new ScreenViewport()); table = new Table(ui.getSkin()); table.setFillParent(true);/*from w w w.jav a 2 s. c o m*/ table.left().top(); table.pad(margin); table.addListener(new InputListener() { @Override public boolean keyUp(InputEvent event, int keycode) { if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK) ui.setCurrentScreen(Screens.SCENE_SCREEN); return true; } }); stage.setKeyboardFocus(table); Button back = new Button(ui.getSkin(), "back"); back.addListener(new ClickListener() { public void clicked(InputEvent event, float x, float y) { ui.setCurrentScreen(Screens.SCENE_SCREEN); } }); Label title = new Label("DEBUG SCREEN", ui.getSkin(), "title"); Table header = new Table(); header.padBottom(margin); Container<Button> cont = new Container<Button>(back); cont.size(size); header.add(cont); header.add(title).fillX().expandX().left(); table.add(header).colspan(3).fillX().expandX().left(); // ------------- SPEED speedText = new TextField(Float.toString(((SceneScreen) ui.getScreen(Screens.SCENE_SCREEN)).getSpeed()), ui.getSkin()); TextButton speedButton = new TextButton("Set Speed", ui.getSkin()); speedButton.addListener(new ClickListener() { public void clicked(InputEvent event, float x, float y) { SceneScreen scnScr = (SceneScreen) ui.getScreen(Screens.SCENE_SCREEN); scnScr.setSpeed(Float.parseFloat(speedText.getText())); } }); speedButton.pad(2, 3, 2, 3); HorizontalGroup sGroup = new HorizontalGroup(); sGroup.space(10); sGroup.addActor(speedText); sGroup.addActor(speedButton); table.row().pad(5).align(Align.left); table.add(new Label("Game Speed: ", ui.getSkin(), "debug")); table.add(sGroup); // ------------- RECORDING final Recorder r = ui.getRecorder(); TextButton play = new TextButton(r.isPlaying() ? "Stop" : "Play", ui.getSkin()); rec = new TextButton(r.isRecording() ? "Stop Rec" : "Rec", ui.getSkin()); play.addListener(new ClickListener() { public void clicked(InputEvent event, float x, float y) { final Recorder r = ui.getRecorder(); if (!r.isPlaying()) { r.setFilename(recordings.getSelected()); r.load(); r.setPlaying(true); ui.setCurrentScreen(Screens.SCENE_SCREEN); } else { r.setPlaying(false); ui.setCurrentScreen(Screens.SCENE_SCREEN); } } }); rec.addListener(new ClickListener() { public void clicked(InputEvent event, float x, float y) { final Recorder r = ui.getRecorder(); if (r.isPlaying()) { r.setPlaying(false); } if (!r.isRecording()) r.setFilename(recFilename.getText()); r.setRecording(!r.isRecording()); rec.setText(r.isRecording() ? "Stop Rec" : "Rec"); if (r.isRecording()) ui.setCurrentScreen(Screens.SCENE_SCREEN); } }); recordings = new SelectBox<String>(ui.getSkin()); String[] testFiles = EngineAssetManager.getInstance().listAssetFiles("/tests"); ArrayList<String> al = new ArrayList<String>(); for (String file : testFiles) if (file.endsWith(Recorder.RECORD_EXT)) al.add(file.substring(0, file.indexOf(Recorder.RECORD_EXT))); FileHandle[] testFiles2 = EngineAssetManager.getInstance().getUserFolder().list(); for (FileHandle file : testFiles2) if (file.name().endsWith(Recorder.RECORD_EXT)) al.add(file.name().substring(0, file.name().indexOf(Recorder.RECORD_EXT))); recordings.setItems(al.toArray(new String[al.size()])); play.pad(2, 3, 2, 3); rec.pad(2, 3, 2, 3); recFilename = new TextField(r.getFileName(), ui.getSkin()); HorizontalGroup rGroup = new HorizontalGroup(); rGroup.space(10); rGroup.addActor(recordings); rGroup.addActor(play); rGroup.addActor(new Label("Rec. Filename", ui.getSkin(), "debug")); rGroup.addActor(recFilename); rGroup.addActor(rec); table.row().pad(5).align(Align.left); table.add(new Label("Game Recording: ", ui.getSkin(), "debug")); table.add(rGroup); // ------------- SCENES TextButton go = new TextButton("Go", ui.getSkin()); go.addListener(new ClickListener() { public void clicked(InputEvent event, float x, float y) { World.getInstance().resume(); World.getInstance().setCutMode(false); World.getInstance().setCurrentScene(scenes.getSelected()); ui.setCurrentScreen(Screens.SCENE_SCREEN); } }); go.pad(2, 3, 2, 3); scenes = new SelectBox<String>(ui.getSkin()); scenes.setItems(World.getInstance().getScenes().keySet() .toArray(new String[World.getInstance().getScenes().size()])); HorizontalGroup scGroup = new HorizontalGroup(); scGroup.space(10); scGroup.addActor(scenes); scGroup.addActor(go); table.row().pad(5).align(Align.left); table.add(new Label("Go to Scene: ", ui.getSkin(), "debug")); table.add(scGroup); // ------------- TESTERBOT final TesterBot bot = ui.getTesterBot(); TextButton runBot = new TextButton(bot.isEnabled() ? "Stop" : "Run", ui.getSkin()); runBot.addListener(new ClickListener() { public void clicked(InputEvent event, float x, float y) { final TesterBot bot = ui.getTesterBot(); bot.setMaxWaitInverval(Float.parseFloat(testerTimeConf.getText())); bot.setInSceneTime(Float.parseFloat(inSceneTimeConf.getText())); bot.setExcludeList(testerExcludeList.getText()); bot.setEnabled(!bot.isEnabled()); ui.setCurrentScreen(Screens.SCENE_SCREEN); } }); runBot.pad(2, 3, 2, 3); testerTimeConf = new TextField(Float.toString(bot.getMaxWaitInverval()), ui.getSkin()); inSceneTimeConf = new TextField(Float.toString(bot.getInSceneTime()), ui.getSkin()); testerExcludeList = new TextField(bot.getExcludeList(), ui.getSkin()); TextButton testerLeaveConf = new TextButton("Leave", ui.getSkin(), "toggle"); testerLeaveConf.addListener(new ClickListener() { public void clicked(InputEvent event, float x, float y) { final TesterBot bot = ui.getTesterBot(); bot.setRunLeaveVerbs(!bot.isRunLeaveVerbs()); } }); testerLeaveConf.setChecked(bot.isRunLeaveVerbs()); TextButton testerGotoConf = new TextButton("Goto", ui.getSkin(), "toggle"); testerGotoConf.addListener(new ClickListener() { public void clicked(InputEvent event, float x, float y) { final TesterBot bot = ui.getTesterBot(); bot.setRunGoto(!bot.isRunGoto()); } }); testerGotoConf.setChecked(bot.isRunGoto()); TextButton testerPassText = new TextButton("Pass Texts", ui.getSkin(), "toggle"); testerPassText.addListener(new ClickListener() { public void clicked(InputEvent event, float x, float y) { final TesterBot bot = ui.getTesterBot(); bot.setPassTexts(!bot.isPassTexts()); } }); testerPassText.setChecked(bot.isPassTexts()); TextButton testerWaitWhenWalking = new TextButton("Wait When Walking", ui.getSkin(), "toggle"); testerWaitWhenWalking.addListener(new ClickListener() { public void clicked(InputEvent event, float x, float y) { final TesterBot bot = ui.getTesterBot(); bot.setWaitWhenWalking(!bot.isWaitWhenWalking()); } }); testerWaitWhenWalking.setChecked(bot.isWaitWhenWalking()); HorizontalGroup botGroup = new HorizontalGroup(); botGroup.space(10); botGroup.addActor(testerLeaveConf); botGroup.addActor(testerGotoConf); botGroup.addActor(testerPassText); botGroup.addActor(testerWaitWhenWalking); HorizontalGroup botGroup2 = new HorizontalGroup(); botGroup2.space(10); botGroup2.addActor(new Label("Excl. List: ", ui.getSkin(), "debug")); botGroup2.addActor(testerExcludeList); botGroup2.addActor(new Label("Interval: ", ui.getSkin(), "debug")); botGroup2.addActor(testerTimeConf); botGroup2.addActor(new Label("Scn Time: ", ui.getSkin(), "debug")); botGroup2.addActor(inSceneTimeConf); botGroup2.addActor(runBot); table.row().pad(5).align(Align.left); table.add(new Label("Tester Bot: ", ui.getSkin(), "debug")); table.add(botGroup); table.row().pad(5).align(Align.left); table.add(); table.add(botGroup2); // ------------- VERSION LABEL NOT IN TABLE String versionString = Config.getProperty(Config.TITLE_PROP, "title unspecified") + " v" + Config.getProperty(Config.VERSION_PROP, "unspecified") + "\n" + "Blade Engine: v" + Config.getProperty("bladeEngineVersion", "unspecified") + "\n" + "libGdx: v" + Config.getProperty("gdxVersion", "unspecified") + "\n" + "RoboVM: v" + Config.getProperty("roboVMVersion", "unspecified") + "\n"; // + "Gdx.app.getVersion: " + Gdx.app.getVersion(); Label version = new Label(versionString, ui.getSkin(), "debug"); version.setColor(Color.LIGHT_GRAY); Table versionStack = new Table(); versionStack.defaults().pad(DPIUtils.getSpacing()); versionStack.pad(0); versionStack.add(version); versionStack.bottom().left(); versionStack.setFillParent(true); versionStack.pack(); table.row(); table.add(versionStack).colspan(3).left(); table.pack(); ScrollPane scrollPane = new ScrollPane(table); scrollPane.setFillParent(true); stage.addActor(scrollPane); pointer = new Pointer(ui.getSkin()); stage.addActor(pointer); Gdx.input.setInputProcessor(stage); }
From source file:com.cookbook.samples.client.GwtSampleWrapper.java
License:Apache License
@Override public void create() { Gdx.app.setLogLevel(Application.LOG_DEBUG); Gdx.app.log("GdxSampleGwt", "Setting up for " + tests.length + " tests."); ui = new Stage(); skin = new Skin(Gdx.files.internal("data/uiskin.json")); font = new BitmapFont(Gdx.files.internal("data/arial-15.fnt"), false); container = new Table(); ui.addActor(container);/*from w w w. ja va2s. c o m*/ container.debug(); Table table = new Table(); ScrollPane scroll = new ScrollPane(table); container.add(scroll).expand().fill(); table.pad(10).defaults().expandX().space(4); for (final Instancer instancer : tests) { table.row(); TextButton button = new TextButton(instancer.instance().getClass().getName(), skin); button.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { ((InputWrapper) Gdx.input).multiplexer.removeProcessor(ui); test = instancer.instance(); Gdx.app.log("GdxSampleGwt", "Clicked on " + test.getClass().getName()); test.create(); test.setPlatformResolver(new WebResolver()); test.resize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); } }); table.add(button).expandX().fillX(); } container.row(); container.add( new Label("Click on a test to start it, press ESC to close it.", new LabelStyle(font, Color.WHITE))) .pad(5, 5, 5, 5); Gdx.input = new InputWrapper(Gdx.input) { @Override public boolean keyUp(int keycode) { if (keycode == Keys.ESCAPE) { if (test != null) { Gdx.app.log("GdxSampleGwt", "Exiting current test."); dispose = true; } } return false; } @Override public boolean touchDown(int screenX, int screenY, int pointer, int button) { if (screenX < Gdx.graphics.getWidth() / 10.0 && screenY < Gdx.graphics.getHeight() / 10.0) { if (test != null) { dispose = true; } } return false; } }; ((InputWrapper) Gdx.input).multiplexer.addProcessor(ui); Gdx.app.log("GdxSampleGwt", "Test picker UI setup complete."); }