List of usage examples for com.badlogic.gdx.scenes.scene2d.ui TextArea TextArea
public TextArea(String text, TextFieldStyle style)
From source file:awakening.view.menu.WaitingRoomClient.java
License:Apache License
/** * Constructor//from w w w . ja va 2 s. c om * * @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.WaitingRoomClient.java
License:Apache License
@Override public void show() { Gdx.input.setInputProcessor(stage);/*from w ww . j a v a 2 s. c o m*/ ///Title title.setPosition(Gdx.app.getGraphics().getWidth() / 2 - title.getWidth() / 2, Gdx.app.getGraphics().getHeight() - 30); stage.addActor(title); ///Widgets Background widgetsBackground.setPosition(Gdx.app.getGraphics().getWidth() / 2 - widgetsBackground.getWidth() / 2, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2); stage.addActor(widgetsBackground); ///Back Button btnBack.setWidth(100); btnBack.setPosition(Gdx.app.getGraphics().getWidth() / 2 - btnBack.getWidth() / 2, Gdx.app.getGraphics().getHeight() - widgetsBackground.getHeight() + 10); btnBack.addListener(new ClickListener() { @Override public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) { effect.play(game.getSoundVolume()); th1.interrupt(); game.setScreen(new MainMenu(game, sound, effect)); return false; } }); stage.addActor(btnBack); stage.addActor(btnSend); stage.addActor(message); scroll.setSize(widgetsBackground.getWidth() - ((1 / 8) * widgetsBackground.getWidth()), widgetsBackground.getHeight() - widgetsBackground.getHeight() / 2); scroll.setPosition(Gdx.app.getGraphics().getWidth() / 2 - scroll.getWidth() / 2, Gdx.app.getGraphics().getHeight() / 2 - scroll.getHeight() / 2); stage.addActor(scroll); btnSend.setPosition(500, 30); message.setPosition(btnBack.getX() - message.getWidth() / 2, btnBack.getY() + btnBack.getHeight() + 5); btnSend.setWidth(100); btnSend.setPosition(message.getX() + message.getWidth(), message.getY()); btnSend.addListener(new ClickListener() { @Override public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) { if (!message.getText().equals("")) { TextArea t = new TextArea("Client : " + message.getText(), skin); t.setTouchable(Touchable.disabled); chatBox.row(); chatBox.add(t).height(75).width(500); if (output != null) { output.println(t.getText()); } message.setText(""); } return false; } }); }
From source file:awakening.view.menu.WaitingRoomServer.java
License:Apache License
@Override public void show() { Gdx.input.setInputProcessor(stage);/*from w ww . j a v a 2s. c o m*/ ///Title title.setPosition(Gdx.app.getGraphics().getWidth() / 2 - title.getWidth() / 2, Gdx.app.getGraphics().getHeight() - 30); stage.addActor(title); ///Widgets Background widgetsBackground.setPosition(Gdx.app.getGraphics().getWidth() / 2 - widgetsBackground.getWidth() / 2, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2); stage.addActor(widgetsBackground); ///Back Button btnBack.setWidth(100); btnBack.setPosition(Gdx.app.getGraphics().getWidth() / 2 - btnBack.getWidth() / 2, Gdx.app.getGraphics().getHeight() - widgetsBackground.getHeight() + 10); btnBack.addListener(new ClickListener() { @Override public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) { effect.play(game.getSoundVolume()); th1.interrupt(); game.setScreen(new MainMenu(game, sound, effect)); return false; } }); stage.addActor(btnBack); scroll.setSize(widgetsBackground.getWidth() - ((1 / 8) * widgetsBackground.getWidth()), widgetsBackground.getHeight() - widgetsBackground.getHeight() / 2); scroll.setPosition(Gdx.app.getGraphics().getWidth() / 2 - scroll.getWidth() / 2, Gdx.app.getGraphics().getHeight() / 2 - scroll.getHeight() / 2); stage.addActor(scroll); btnSend.setWidth(100); btnSend.setPosition(btnBack.getX(), btnBack.getY() + btnBack.getHeight() + 5); btnSend.addListener(new ClickListener() { @Override public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) { if (!message.getText().equals("")) { TextArea t = new TextArea("Server : " + message.getText(), skin); t.setTouchable(Touchable.disabled); chatBox.row(); chatBox.add(t).height(75).width(500); if (output != null) { output.println(t.getText()); } message.setText(""); } return false; } }); stage.addActor(btnSend); message.setPosition(btnSend.getX() - message.getWidth(), btnSend.getY()); stage.addActor(message); btnStart.setWidth(100); btnStart.setPosition(btnSend.getX() + btnSend.getWidth(), btnSend.getY()); btnStart.addListener(new ClickListener() { @Override public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) { effect.play(game.getSoundVolume()); /// TODO return false; } }); stage.addActor(btnStart); th1 = new Thread(new Runnable() { @Override public void run() { try { System.out.println("Attente Serveur "); connection = serverSocket.accept(); System.out.println("Connect fdp " + connection.getPort()); input = new BufferedReader(new InputStreamReader(connection.getInputStream())); output = new PrintWriter( new BufferedWriter(new OutputStreamWriter(connection.getOutputStream())), true); 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(); }
From source file:com.badlogic.gdx.tests.TextAreaTest2.java
License:Apache License
@Override public void create() { stage = new Stage(); Gdx.input.setInputProcessor(stage);//from w w w .j a v a 2s .com skin = new Skin(Gdx.files.internal("data/uiskin.json")); //Create a string that perfectly fills the float array used in the textarea float array FloatArray dummyArray = new FloatArray(); String limit = ""; // Minus one, because TextField adds a magic char for (int i = 0; i < dummyArray.items.length - 1; i++) { limit += "a"; } TextArea textArea = new TextArea(limit, skin); textArea.setX(10); textArea.setY(10); textArea.setWidth(200); textArea.setHeight(200); stage.addActor(textArea); }
From source file:com.bladecoder.engineeditor.ui.components.TextInputPanel.java
License:Apache License
TextInputPanel(Skin skin, String title, String desc, boolean mandatory, String defaultValue) { input = new TextArea("", skin); input.setPrefRows(10);// w w w . j a v a2s .co m ScrollPane scroll = new ScrollPane(input, skin); init(skin, title, desc, scroll, mandatory, defaultValue); }
From source file:com.ray3k.skincomposer.RootTable.java
License:Open Source License
public void refreshPreviewProperties() { if (previewPropertiesTable != null) { previewPropertiesTable.clear();/* ww w.j a va 2 s . c o m*/ previewProperties.clear(); Table t = new Table(); previewPropertiesTable.add(t).center().expand(); t.defaults().pad(3.0f); t.add(new Label("Stage Color: ", getSkin())); BrowseField browseField = new BrowseField(null, null, bfColorStyle); browseField.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { main.getDialogFactory().showDialogColorPicker((Color) previewProperties.get("bgcolor"), new DialogColorPicker.ColorListener() { @Override public void selected(Color color) { if (color != null) { browseField.getTextButton() .setText((int) (color.r * 255) + "," + (int) (color.g * 255) + "," + (int) (color.b * 255) + "," + (int) (color.a * 255)); previewProperties.put("bgcolor", color); previewBgColor.set(color); refreshPreview(); } } }); } }); browseField.addListener(main.getHandListener()); t.add(browseField).growX(); if (previewBgColor == null) { previewBgColor.set(Color.WHITE); } previewProperties.put("bgcolor", previewBgColor); browseField.getTextButton() .setText((int) (previewBgColor.r * 255) + "," + (int) (previewBgColor.g * 255) + "," + (int) (previewBgColor.b * 255) + "," + (int) (previewBgColor.a * 255)); t.row(); t.add(new Label("Size: ", getSkin())).right(); previewSizeSelectBox = new SelectBox<>(getSkin()); previewSizeSelectBox.setItems(DEFAULT_SIZES); previewSizeSelectBox.setSelectedIndex(1); previewSizeSelectBox.addListener(main.getHandListener()); t.add(previewSizeSelectBox).growX().minWidth(200.0f); if (classSelectBox.getSelectedIndex() >= 0) { Class clazz = Main.BASIC_CLASSES[classSelectBox.getSelectedIndex()]; if (clazz.equals(Button.class)) { t.row(); t.add(new Label("Disabled: ", getSkin())).right(); ImageTextButton disabledCheckBox = new ImageTextButton("", getSkin(), "switch"); disabledCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("disabled", disabledCheckBox.isChecked()); refreshPreview(); } }); disabledCheckBox.addListener(main.getHandListener()); previewProperties.put("disabled", disabledCheckBox.isChecked()); t.add(disabledCheckBox).left(); } else if (clazz.equals(CheckBox.class)) { t.row(); t.add(new Label("Disabled: ", getSkin())).right(); ImageTextButton disabledCheckBox = new ImageTextButton("", getSkin(), "switch"); disabledCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("disabled", disabledCheckBox.isChecked()); refreshPreview(); } }); disabledCheckBox.addListener(main.getHandListener()); previewProperties.put("disabled", disabledCheckBox.isChecked()); t.add(disabledCheckBox).left(); t.row(); t.add(new Label("Text: ", getSkin())); TextField previewTextField = new TextField(TEXT_SAMPLE, getSkin()); previewTextField.setFocusTraversal(false); previewTextField.addListener(main.getIbeamListener()); previewTextField.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("text", previewTextField.getText()); refreshPreview(); } }); previewProperties.put("text", previewTextField.getText()); t.add(previewTextField).growX(); } else if (clazz.equals(ImageButton.class)) { t.row(); t.add(new Label("Disabled: ", getSkin())).right(); ImageTextButton disabledCheckBox = new ImageTextButton("", getSkin(), "switch"); disabledCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("disabled", disabledCheckBox.isChecked()); refreshPreview(); } }); disabledCheckBox.addListener(main.getHandListener()); previewProperties.put("disabled", disabledCheckBox.isChecked()); t.add(disabledCheckBox).left(); } else if (clazz.equals(ImageTextButton.class)) { t.row(); t.add(new Label("Disabled: ", getSkin())).right(); ImageTextButton disabledCheckBox = new ImageTextButton("", getSkin(), "switch"); disabledCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("disabled", disabledCheckBox.isChecked()); refreshPreview(); } }); disabledCheckBox.addListener(main.getHandListener()); previewProperties.put("disabled", disabledCheckBox.isChecked()); t.add(disabledCheckBox).left(); t.row(); t.add(new Label("Text: ", getSkin())); TextField previewTextField = new TextField(TEXT_SAMPLE, getSkin()); previewTextField.setFocusTraversal(false); previewTextField.addListener(main.getIbeamListener()); previewTextField.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("text", previewTextField.getText()); refreshPreview(); } }); previewProperties.put("text", previewTextField.getText()); t.add(previewTextField).growX(); } else if (clazz.equals(Label.class)) { t.row(); t.add(new Label("Text: ", getSkin())); TextField previewTextField = new TextField(TEXT_SAMPLE, getSkin()); previewTextField.setFocusTraversal(false); previewTextField.addListener(main.getIbeamListener()); previewTextField.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("text", previewTextField.getText()); refreshPreview(); } }); previewProperties.put("text", previewTextField.getText()); t.add(previewTextField).growX(); } else if (clazz.equals(List.class)) { t.row(); t.add(new Label("List Items: ", getSkin())).right(); TextArea listItemsTextArea = new TextArea("Lorem ipsum\ndolor sit\namet, consectetur", getSkin()); listItemsTextArea.setFocusTraversal(false); listItemsTextArea.setPrefRows(3); listItemsTextArea.addListener(main.getIbeamListener()); listItemsTextArea.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("text", listItemsTextArea.getText()); refreshPreview(); } }); previewProperties.put("text", listItemsTextArea.getText()); t.add(listItemsTextArea).growX(); } else if (clazz.equals(ProgressBar.class)) { t.row(); t.add(new Label("Disabled: ", getSkin())).right(); ImageTextButton disabledCheckBox = new ImageTextButton("", getSkin(), "switch"); disabledCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("disabled", disabledCheckBox.isChecked()); refreshPreview(); } }); disabledCheckBox.addListener(main.getHandListener()); previewProperties.put("disabled", disabledCheckBox.isChecked()); t.add(disabledCheckBox).left(); t.row(); t.add(new Label("Value: ", getSkin())).right(); Spinner valueSpinner = new Spinner(0.0f, 1.0f, false, Spinner.Orientation.HORIZONTAL, spinnerStyle); valueSpinner.getTextField().setFocusTraversal(false); valueSpinner.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("value", valueSpinner.getValue()); refreshPreview(); } }); valueSpinner.getButtonMinus().addListener(main.getHandListener()); valueSpinner.getButtonPlus().addListener(main.getHandListener()); valueSpinner.getTextField().addListener(main.getIbeamListener()); previewProperties.put("value", valueSpinner.getValue()); t.add(valueSpinner).growX(); t.row(); t.add(new Label("Minimum: ", getSkin())).right(); Spinner minimumSpinner = new Spinner(0.0f, 1.0f, false, Spinner.Orientation.HORIZONTAL, spinnerStyle); minimumSpinner.getTextField().setFocusTraversal(false); minimumSpinner.getTextField().addListener(main.getIbeamListener()); minimumSpinner.getButtonMinus().addListener(main.getHandListener()); minimumSpinner.getButtonPlus().addListener(main.getHandListener()); previewProperties.put("minimum", minimumSpinner.getValue()); t.add(minimumSpinner).growX(); t.row(); t.add(new Label("Maximum: ", getSkin())).right(); Spinner maximumSpinner = new Spinner(100.0f, 1.0f, false, Spinner.Orientation.HORIZONTAL, spinnerStyle); maximumSpinner.getTextField().setFocusTraversal(false); maximumSpinner.getTextField().addListener(main.getIbeamListener()); maximumSpinner.getButtonMinus().addListener(main.getHandListener()); maximumSpinner.getButtonPlus().addListener(main.getHandListener()); previewProperties.put("maximum", maximumSpinner.getValue()); t.add(maximumSpinner).growX(); minimumSpinner.setMaximum(maximumSpinner.getValue()); maximumSpinner.setMinimum(minimumSpinner.getValue()); minimumSpinner.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("minimum", minimumSpinner.getValue()); maximumSpinner.setMinimum(minimumSpinner.getValue()); refreshPreview(); } }); maximumSpinner.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("maximum", maximumSpinner.getValue()); minimumSpinner.setMaximum(maximumSpinner.getValue()); refreshPreview(); } }); t.row(); t.add(new Label("Increment: ", getSkin())).right(); Spinner incrementSpinner = new Spinner(1.0f, 1.0f, false, Spinner.Orientation.HORIZONTAL, spinnerStyle); incrementSpinner.getTextField().setFocusTraversal(false); incrementSpinner.setMinimum(1); incrementSpinner.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("increment", incrementSpinner.getValue()); refreshPreview(); } }); incrementSpinner.getTextField().addListener(main.getIbeamListener()); incrementSpinner.getButtonMinus().addListener(main.getHandListener()); incrementSpinner.getButtonPlus().addListener(main.getHandListener()); previewProperties.put("increment", incrementSpinner.getValue()); t.add(incrementSpinner).growX(); t.row(); t.add(new Label("Orientation: ", getSkin())).right(); SelectBox<String> selectBox = new SelectBox<>(getSkin()); selectBox.setItems(new String[] { "Horizontal", "Vertical" }); if (getSelectedStyle().name.contains("vert")) { previewProperties.put("orientation", true); selectBox.setSelectedIndex(1); } else { previewProperties.put("orientation", false); } selectBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { if (selectBox.getSelectedIndex() == 0) { previewProperties.put("orientation", false); } else { previewProperties.put("orientation", true); } refreshPreview(); } }); selectBox.addListener(main.getHandListener()); t.add(selectBox).growX(); } else if (clazz.equals(ScrollPane.class)) { t.row(); t.add(new Label("Scrollbars On Top: ", getSkin())).right(); ImageTextButton onTopCheckBox = new ImageTextButton("", getSkin(), "switch"); onTopCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("scrollbarsOnTop", onTopCheckBox.isChecked()); refreshPreview(); } }); t.add(onTopCheckBox).left(); onTopCheckBox.addListener(main.getHandListener()); previewProperties.put("scrollbarsOnTop", onTopCheckBox.isChecked()); t.row(); t.add(new Label("H ScrollBar Position: ", getSkin())).right(); SelectBox<String> hScrollPosBox = new SelectBox<>(getSkin()); hScrollPosBox.setItems(new String[] { "Top", "Bottom" }); hScrollPosBox.setSelectedIndex(1); hScrollPosBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { if (hScrollPosBox.getSelectedIndex() == 0) { previewProperties.put("hScrollBarPosition", false); } else { previewProperties.put("hScrollBarPosition", true); } refreshPreview(); } }); t.add(hScrollPosBox).growX(); hScrollPosBox.addListener(main.getHandListener()); previewProperties.put("hScrollBarPosition", true); t.row(); t.add(new Label("V ScrollBar Position: ", getSkin())).right(); SelectBox<String> vScrollPosBox = new SelectBox<>(getSkin()); vScrollPosBox.setItems(new String[] { "Left", "Right" }); vScrollPosBox.setSelectedIndex(1); vScrollPosBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { if (vScrollPosBox.getSelectedIndex() == 0) { previewProperties.put("vScrollBarPosition", false); } else { previewProperties.put("vScrollBarPosition", true); } refreshPreview(); } }); t.add(vScrollPosBox).growX(); vScrollPosBox.addListener(main.getHandListener()); previewProperties.put("vScrollBarPosition", true); t.row(); t.add(new Label("H Scrolling Disabled: ", getSkin())).right(); ImageTextButton hScrollCheckBox = new ImageTextButton("", getSkin(), "switch"); hScrollCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("hScrollDisabled", hScrollCheckBox.isChecked()); refreshPreview(); } }); t.add(hScrollCheckBox).left(); hScrollCheckBox.addListener(main.getHandListener()); previewProperties.put("hScrollDisabled", hScrollCheckBox.isChecked()); t.row(); t.add(new Label("V Scrolling Disabled: ", getSkin())).right(); ImageTextButton vScrollCheckBox = new ImageTextButton("", getSkin(), "switch"); vScrollCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("vScrollDisabled", vScrollCheckBox.isChecked()); refreshPreview(); } }); t.add(vScrollCheckBox).left(); vScrollCheckBox.addListener(main.getHandListener()); previewProperties.put("vScrollDisabled", vScrollCheckBox.isChecked()); t.row(); t.add(new Label("Force H Scroll: ", getSkin())).right(); ImageTextButton forceHScrollCheckBox = new ImageTextButton("", getSkin(), "switch"); forceHScrollCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("forceHscroll", forceHScrollCheckBox.isChecked()); refreshPreview(); } }); t.add(forceHScrollCheckBox).left(); forceHScrollCheckBox.addListener(main.getHandListener()); previewProperties.put("forceHscroll", forceHScrollCheckBox.isChecked()); t.row(); t.add(new Label("Force V Scroll: ", getSkin())).right(); ImageTextButton forceVScrollCheckBox = new ImageTextButton("", getSkin(), "switch"); forceVScrollCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("forceVscroll", forceVScrollCheckBox.isChecked()); refreshPreview(); } }); t.add(forceVScrollCheckBox).left(); forceVScrollCheckBox.addListener(main.getHandListener()); previewProperties.put("forceVscroll", forceVScrollCheckBox.isChecked()); t.row(); t.add(new Label("Variable Size Knobs: ", getSkin())).right(); ImageTextButton variableSizeKnobsCheckBox = new ImageTextButton("", getSkin(), "switch"); variableSizeKnobsCheckBox.setChecked(true); variableSizeKnobsCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("variableSizeKnobs", variableSizeKnobsCheckBox.isChecked()); refreshPreview(); } }); t.add(variableSizeKnobsCheckBox).left(); variableSizeKnobsCheckBox.addListener(main.getHandListener()); previewProperties.put("variableSizeKnobs", variableSizeKnobsCheckBox.isChecked()); t.row(); t.add(new Label("H Overscroll: ", getSkin())).right(); ImageTextButton hOverscrollCheckBox = new ImageTextButton("", getSkin(), "switch"); hOverscrollCheckBox.setChecked(true); hOverscrollCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("hOverscroll", hOverscrollCheckBox.isChecked()); refreshPreview(); } }); t.add(hOverscrollCheckBox).left(); hOverscrollCheckBox.addListener(main.getHandListener()); previewProperties.put("hOverscroll", hOverscrollCheckBox.isChecked()); t.row(); t.add(new Label("V Overscroll: ", getSkin())).right(); ImageTextButton vOverscrollCheckBox = new ImageTextButton("", getSkin(), "switch"); vOverscrollCheckBox.setChecked(true); vOverscrollCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("vOverscroll", vOverscrollCheckBox.isChecked()); refreshPreview(); } }); t.add(vOverscrollCheckBox).left(); vOverscrollCheckBox.addListener(main.getHandListener()); previewProperties.put("vOverscroll", vOverscrollCheckBox.isChecked()); t.row(); t.add(new Label("Fade Scroll Bars: ", getSkin())).right(); ImageTextButton fadeScrollCheckBox = new ImageTextButton("", getSkin(), "switch"); fadeScrollCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("fadeScroll", fadeScrollCheckBox.isChecked()); refreshPreview(); } }); t.add(fadeScrollCheckBox).left(); fadeScrollCheckBox.addListener(main.getHandListener()); previewProperties.put("fadeScroll", fadeScrollCheckBox.isChecked()); t.row(); t.add(new Label("Smooth Scrolling: ", getSkin())).right(); ImageTextButton smoothScrollCheckBox = new ImageTextButton("", getSkin(), "switch"); smoothScrollCheckBox.setChecked(true); smoothScrollCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("smoothScroll", smoothScrollCheckBox.isChecked()); refreshPreview(); } }); t.add(smoothScrollCheckBox).left(); smoothScrollCheckBox.addListener(main.getHandListener()); previewProperties.put("smoothScroll", smoothScrollCheckBox.isChecked()); t.row(); t.add(new Label("Flick Scroll: ", getSkin())).right(); ImageTextButton flickScrollCheckBox = new ImageTextButton("", getSkin(), "switch"); flickScrollCheckBox.setChecked(true); flickScrollCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("flickScroll", flickScrollCheckBox.isChecked()); refreshPreview(); } }); t.add(flickScrollCheckBox).left(); flickScrollCheckBox.addListener(main.getHandListener()); previewProperties.put("flickScroll", flickScrollCheckBox.isChecked()); t.row(); t.add(new Label("Clamp: ", getSkin())).right(); ImageTextButton clampCheckBox = new ImageTextButton("", getSkin(), "switch"); clampCheckBox.setChecked(true); clampCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("clamp", clampCheckBox.isChecked()); refreshPreview(); } }); t.add(clampCheckBox).left(); clampCheckBox.addListener(main.getHandListener()); previewProperties.put("clamp", clampCheckBox.isChecked()); t.row(); t.add(new Label("Sample Text: ", getSkin())).right(); TextArea previewTextArea = new TextArea(PARAGRAPH_SAMPLE_EXT, getSkin()); previewTextArea.setFocusTraversal(false); previewTextArea.setPrefRows(5); previewTextArea.addListener(main.getIbeamListener()); previewTextArea.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("text", previewTextArea.getText()); refreshPreview(); } }); previewProperties.put("text", previewTextArea.getText()); t.add(previewTextArea).growX(); previewSizeSelectBox.setSelectedIndex(2); } else if (clazz.equals(SelectBox.class)) { t.row(); t.add(new Label("Disabled: ", getSkin())).right(); ImageTextButton disabledCheckBox = new ImageTextButton("", getSkin(), "switch"); disabledCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("disabled", disabledCheckBox.isChecked()); refreshPreview(); } }); previewProperties.put("disabled", disabledCheckBox.isChecked()); disabledCheckBox.addListener(main.getHandListener()); t.add(disabledCheckBox).left(); t.row(); t.add(new Label("Max List Count: ", getSkin())).right(); Spinner spinner = new Spinner(3, 1, true, Spinner.Orientation.HORIZONTAL, spinnerStyle); spinner.getTextField().setFocusTraversal(false); spinner.setMinimum(1); spinner.getTextField().addListener(main.getIbeamListener()); spinner.getButtonMinus().addListener(main.getHandListener()); spinner.getButtonPlus().addListener(main.getHandListener()); t.add(spinner).growX(); t.row(); t.add(new Label("List Items: ", getSkin())).right(); TextArea listItemsTextArea = new TextArea("Lorem ipsum\ndolor sit\namet, consectetur", getSkin()); listItemsTextArea.setFocusTraversal(false); listItemsTextArea.setPrefRows(3); listItemsTextArea.addListener(main.getIbeamListener()); listItemsTextArea.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("text", listItemsTextArea.getText()); refreshPreview(); } }); previewProperties.put("text", listItemsTextArea.getText()); t.add(listItemsTextArea).growX(); } else if (clazz.equals(Slider.class)) { t.row(); t.add(new Label("Disabled: ", getSkin())).right(); ImageTextButton disabledCheckBox = new ImageTextButton("", getSkin(), "switch"); disabledCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("disabled", disabledCheckBox.isChecked()); refreshPreview(); } }); previewProperties.put("disabled", disabledCheckBox.isChecked()); disabledCheckBox.addListener(main.getHandListener()); t.add(disabledCheckBox).left(); t.row(); t.add(new Label("Minimum: ", getSkin())).right(); Spinner minimumSpinner = new Spinner(0.0f, 1.0f, false, Spinner.Orientation.HORIZONTAL, spinnerStyle); minimumSpinner.getTextField().setFocusTraversal(false); minimumSpinner.getTextField().addListener(main.getIbeamListener()); t.add(minimumSpinner).growX(); minimumSpinner.getButtonMinus().addListener(main.getHandListener()); minimumSpinner.getButtonPlus().addListener(main.getHandListener()); previewProperties.put("minimum", minimumSpinner.getValue()); t.row(); t.add(new Label("Maximum: ", getSkin())).right(); Spinner maximumSpinner = new Spinner(100.0f, 1.0f, false, Spinner.Orientation.HORIZONTAL, spinnerStyle); maximumSpinner.getTextField().setFocusTraversal(false); maximumSpinner.getTextField().addListener(main.getIbeamListener()); t.add(maximumSpinner).growX(); maximumSpinner.getButtonMinus().addListener(main.getHandListener()); maximumSpinner.getButtonPlus().addListener(main.getHandListener()); previewProperties.put("maximum", maximumSpinner.getValue()); minimumSpinner.setMaximum(maximumSpinner.getValue()); maximumSpinner.setMinimum(minimumSpinner.getValue()); minimumSpinner.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("minimum", minimumSpinner.getValue()); maximumSpinner.setMinimum(minimumSpinner.getValue()); refreshPreview(); } }); maximumSpinner.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("maximum", maximumSpinner.getValue()); minimumSpinner.setMaximum(maximumSpinner.getValue()); refreshPreview(); } }); t.row(); t.add(new Label("Increment: ", getSkin())).right(); Spinner incrementSpinner = new Spinner(1.0f, 1.0f, false, Spinner.Orientation.HORIZONTAL, spinnerStyle); incrementSpinner.getTextField().setFocusTraversal(false); incrementSpinner.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("increment", incrementSpinner.getValue()); refreshPreview(); } }); incrementSpinner.getTextField().addListener(main.getIbeamListener()); t.add(incrementSpinner).growX(); incrementSpinner.getButtonMinus().addListener(main.getHandListener()); incrementSpinner.getButtonPlus().addListener(main.getHandListener()); previewProperties.put("increment", incrementSpinner.getValue()); t.row(); t.add(new Label("Orientation: ", getSkin())).right(); SelectBox<String> selectBox = new SelectBox<>(getSkin()); selectBox.setItems(new String[] { "Horizontal", "Vertical" }); if (getSelectedStyle().name.contains("vert")) { previewProperties.put("orientation", true); selectBox.setSelectedIndex(1); } else { previewProperties.put("orientation", false); } selectBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { if (selectBox.getSelectedIndex() == 0) { previewProperties.put("orientation", false); } else { previewProperties.put("orientation", true); } refreshPreview(); } }); selectBox.addListener(main.getHandListener()); t.add(selectBox).growX(); } else if (clazz.equals(SplitPane.class)) { t.row(); t.add(new Label("Orientation: ", getSkin())).right(); SelectBox<String> selectBox = new SelectBox<>(getSkin()); selectBox.setItems(new String[] { "Horizontal", "Vertical" }); if (getSelectedStyle().name.contains("vert")) { previewProperties.put("orientation", true); selectBox.setSelectedIndex(1); } else { previewProperties.put("orientation", false); } selectBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { if (selectBox.getSelectedIndex() == 0) { previewProperties.put("orientation", false); } else { previewProperties.put("orientation", true); } refreshPreview(); } }); selectBox.addListener(main.getHandListener()); t.add(selectBox).growX(); t.row(); t.add(new Label("Sample Text: ", getSkin())).right(); TextArea textArea = new TextArea(PARAGRAPH_SAMPLE, getSkin()); textArea.setFocusTraversal(false); textArea.setPrefRows(5); textArea.addListener(main.getIbeamListener()); textArea.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("text", textArea.getText()); refreshPreview(); } }); previewProperties.put("text", textArea.getText()); t.add(textArea).growX(); previewSizeSelectBox.setSelectedIndex(2); } else if (clazz.equals(TextButton.class)) { t.row(); t.add(new Label("Disabled: ", getSkin())).right(); ImageTextButton disabledCheckBox = new ImageTextButton("", getSkin(), "switch"); disabledCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("disabled", disabledCheckBox.isChecked()); refreshPreview(); } }); previewProperties.put("disabled", disabledCheckBox.isChecked()); disabledCheckBox.addListener(main.getHandListener()); t.add(disabledCheckBox).left(); t.row(); t.add(new Label("Text: ", getSkin())); TextField previewTextField = new TextField(TEXT_SAMPLE, getSkin()); previewTextField.setFocusTraversal(false); previewTextField.addListener(main.getIbeamListener()); previewTextField.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("text", previewTextField.getText()); refreshPreview(); } }); previewProperties.put("text", previewTextField.getText()); t.add(previewTextField).growX(); } else if (clazz.equals(TextField.class)) { t.row(); t.add(new Label("Disabled: ", getSkin())).right(); ImageTextButton disabledCheckBox = new ImageTextButton("", getSkin(), "switch"); disabledCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("disabled", disabledCheckBox.isChecked()); refreshPreview(); } }); previewProperties.put("disabled", disabledCheckBox.isChecked()); disabledCheckBox.addListener(main.getHandListener()); t.add(disabledCheckBox).left(); t.row(); t.add(new Label("Password Mode: ", getSkin())).right(); ImageTextButton checkBox = new ImageTextButton("", getSkin(), "switch"); checkBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("passwordMode", checkBox.isChecked()); refreshPreview(); } }); t.add(checkBox).left(); checkBox.addListener(main.getHandListener()); previewProperties.put("passwordMode", checkBox.isChecked()); t.row(); t.add(new Label("Password Character: ", getSkin())); TextField pcTextField = new TextField("*", getSkin()); pcTextField.setFocusTraversal(false); pcTextField.addListener(main.getIbeamListener()); pcTextField.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("password", pcTextField.getText()); refreshPreview(); } }); previewProperties.put("password", pcTextField.getText()); t.add(pcTextField).growX(); t.row(); t.add(new Label("Text Alignment: ", getSkin())).right(); SelectBox<String> selectBox = new SelectBox<>(getSkin()); selectBox.setItems(new String[] { "Left", "Center", "Right" }); selectBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { switch (selectBox.getSelectedIndex()) { case 0: previewProperties.put("alignment", Align.left); break; case 1: previewProperties.put("alignment", Align.center); break; case 2: previewProperties.put("alignment", Align.right); break; } } }); t.add(selectBox).growX(); selectBox.addListener(main.getHandListener()); previewProperties.put("alignment", Align.left); t.row(); t.add(new Label("Text: ", getSkin())); TextField previewTextField = new TextField(TEXT_SAMPLE, getSkin()); previewTextField.setFocusTraversal(false); previewTextField.addListener(main.getIbeamListener()); previewTextField.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("text", previewTextField.getText()); refreshPreview(); } }); previewProperties.put("text", previewTextField.getText()); t.add(previewTextField).growX(); t.row(); t.add(new Label("Message Text: ", getSkin())); TextField messageTextField = new TextField(TEXT_SAMPLE, getSkin()); messageTextField.setFocusTraversal(false); messageTextField.addListener(main.getIbeamListener()); messageTextField.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("message", messageTextField.getText()); refreshPreview(); } }); previewProperties.put("message", messageTextField.getText()); t.add(messageTextField).growX(); } else if (clazz.equals(TextTooltip.class)) { t.row(); t.add(new Label("Text: ", getSkin())); TextField previewTextField = new TextField(TEXT_SAMPLE, getSkin()); previewTextField.setFocusTraversal(false); previewTextField.addListener(main.getIbeamListener()); previewTextField.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("text", previewTextField.getText()); refreshPreview(); } }); previewProperties.put("text", previewTextField.getText()); t.add(previewTextField).growX(); } else if (clazz.equals(Touchpad.class)) { } else if (clazz.equals(Tree.class)) { t.row(); t.add(new Label("Icon Spacing: ", getSkin())).right(); Spinner spinner = new Spinner(0.0, 1.0, false, Spinner.Orientation.HORIZONTAL, spinnerStyle); spinner.getTextField().setFocusTraversal(false); spinner.setMinimum(1); spinner.getTextField().addListener(main.getIbeamListener()); spinner.getButtonMinus().addListener(main.getHandListener()); spinner.getButtonPlus().addListener(main.getHandListener()); t.add(spinner).growX(); t.row(); t.add(new Label("Y Spacing: ", getSkin())).right(); spinner = new Spinner(0.0, 1.0, false, Spinner.Orientation.HORIZONTAL, spinnerStyle); spinner.getTextField().setFocusTraversal(false); spinner.setMinimum(1); spinner.getTextField().addListener(main.getIbeamListener()); spinner.getButtonMinus().addListener(main.getHandListener()); spinner.getButtonPlus().addListener(main.getHandListener()); t.add(spinner).growX(); } else if (clazz.equals(Window.class)) { t.row(); t.add(new Label("Title Text: ", getSkin())); TextField previewTextField = new TextField(TEXT_SAMPLE, getSkin()); previewTextField.setFocusTraversal(false); previewTextField.addListener(main.getIbeamListener()); previewTextField.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("title", previewTextField.getText()); refreshPreview(); } }); previewProperties.put("title", previewTextField.getText()); t.add(previewTextField).growX(); t.row(); t.add(new Label("Sample Text Color: ", getSkin())); BrowseField textColorField = new BrowseField(null, null, bfColorStyle); textColorField.addListener(main.getHandListener()); t.add(textColorField).growX(); t.row(); t.add(new Label("Sample Text: ", getSkin())).right(); TextArea textArea = new TextArea(PARAGRAPH_SAMPLE, getSkin()); textArea.setFocusTraversal(false); textArea.setPrefRows(5); textArea.addListener(main.getIbeamListener()); textArea.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("text", textArea.getText()); refreshPreview(); } }); previewProperties.put("text", textArea.getText()); t.add(textArea).growX(); } previewSizeSelectBox.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { previewProperties.put("size", previewSizeSelectBox.getSelectedIndex()); if (previewSizeSelectBox.getSelectedIndex() != 7) { refreshPreview(); } } }); previewProperties.put("size", previewSizeSelectBox.getSelectedIndex()); refreshPreview(); } } }
From source file:es.eucm.ead.editor.view.widgets.options.OptionsPanel.java
License:Open Source License
/** * Creates a text option, with a text area as widget * /* w w w. j av a2s .co m*/ * @param label * the label for the option * @param tooltip * the tooltip for the option (can be null) * @param maxLines * the number of lines for the text area * @return the option created */ public Option text(String label, String tooltip, int maxLines) { TextArea textArea = new TextArea("", skin); textArea.setPrefRows(maxLines); Option option = newOption(label, tooltip, textArea); addOption(option); return option; }
From source file:gaia.cu9.ari.gaiaorbit.interfce.AboutWindow.java
License:Open Source License
public AboutWindow(Stage stg, Skin sk) { super(txt("gui.help.help") + " - " + GlobalConf.APPLICATION_NAME + " v" + GlobalConf.version.version, sk); this.stage = stg; this.skin = sk; this.me = this; this.linkStyle = skin.get("link", LabelStyle.class); float tawidth = 440 * GlobalConf.SCALE_FACTOR; float taheight = 250 * GlobalConf.SCALE_FACTOR; float taheight_s = 60 * GlobalConf.SCALE_FACTOR; float tabwidth = 60 * GlobalConf.SCALE_FACTOR; float pad = 5 * GlobalConf.SCALE_FACTOR; scrolls = new ArrayList<OwnScrollPane>(5); textareas = new ArrayList<Actor>(); /** TABLE and SCROLL **/ table = new Table(skin); // Create the tab buttons HorizontalGroup group = new HorizontalGroup(); group.align(Align.left);//from w w w . jav a 2 s.c om final Button tab1 = new OwnTextButton(txt("gui.help.help"), skin, "toggle-big"); tab1.pad(pad); tab1.setWidth(tabwidth); final Button tab2 = new OwnTextButton(txt("gui.help.about"), skin, "toggle-big"); tab2.pad(pad); tab2.setWidth(tabwidth); final Button tab3 = new OwnTextButton(txt("gui.help.system"), skin, "toggle-big"); tab3.pad(pad); tab3.setWidth(tabwidth); group.addActor(tab1); group.addActor(tab2); group.addActor(tab3); table.add(group).align(Align.left).padLeft(pad); table.row(); // Create the tab content. Just using images here for simplicity. Stack content = new Stack(); /** CONTENT 1 - HELP **/ final Table content1 = new Table(skin); content1.align(Align.top); Image gaiasky = new Image(getSpriteDrawable(Gdx.files.internal("img/gaiaskylogo.png"))); // User manual Label usermantitle = new OwnLabel(txt("gui.help.usermanual"), skin, "ui-12"); Label usermantxt = new OwnLabel(txt("gui.help.help1"), skin, "ui-11"); Link usermanlink = new Link(GlobalConf.WEBPAGE, linkStyle, GlobalConf.WEBPAGE); // Wiki Label wikititle = new OwnLabel("Docs", skin, "ui-12"); Label wikitxt = new OwnLabel(txt("gui.help.help2"), skin, "ui-11"); Link wikilink = new Link(GlobalConf.DOCUMENTATION, linkStyle, GlobalConf.DOCUMENTATION); // Readme Label readmetitle = new OwnLabel(txt("gui.help.readme"), skin, "ui-12"); FileHandle readmefile = Gdx.files.internal("README.md"); if (!readmefile.exists()) { readmefile = Gdx.files.internal("../README.md"); } String readmestr = readmefile.readString(); int lines = GlobalResources.countOccurrences(readmestr, '\n'); TextArea readme = new TextArea(readmestr, skin); readme.setDisabled(true); readme.setPrefRows(lines); textareas.add(readme); OwnScrollPane readmescroll = new OwnScrollPane(readme, skin, "default-nobg"); readmescroll.setWidth(tawidth); readmescroll.setHeight(taheight); readmescroll.setForceScroll(false, true); readmescroll.setSmoothScrolling(true); readmescroll.setFadeScrollBars(false); scrolls.add(readmescroll); // Add all to content content1.add(gaiasky).colspan(2); content1.row(); content1.add(usermantitle).align(Align.left).padRight(pad * 2); content1.add(usermantxt).align(Align.left); content1.row(); content1.add(new OwnLabel("", skin, "ui-11")); content1.add(usermanlink).align(Align.left); content1.row(); content1.add(wikititle).align(Align.left).padRight(pad * 2); content1.add(wikitxt).align(Align.left); content1.row(); content1.add(new OwnLabel("", skin, "ui-11")); content1.add(wikilink).align(Align.left); content1.row(); content1.add(readmetitle).colspan(2).align(Align.left); content1.row(); content1.add(readmescroll).colspan(2).expand().pad(pad * 2, 0, pad * 2, 0).align(Align.center); /** CONTENT 2 - ABOUT **/ final Table content2 = new Table(skin); content2.align(Align.top); // Intro TextArea intro = new OwnTextArea(txt("gui.help.gscredits", GlobalConf.version.version), skin.get("msg-11", TextFieldStyle.class)); intro.setDisabled(true); intro.setPrefRows(3); intro.setWidth(tawidth); textareas.add(intro); // Home page Label homepagetitle = new OwnLabel(txt("gui.help.homepage"), skin, "ui-12"); Link homepage = new Link(GlobalConf.WEBPAGE, linkStyle, GlobalConf.WEBPAGE); // Author Label authortitle = new OwnLabel(txt("gui.help.author"), skin, "ui-12"); VerticalGroup author = new VerticalGroup(); author.align(Align.left); Label authorname = new OwnLabel("Toni Sagrist Sells", skin, "ui-11"); Link authormail = new Link("tsagrista@ari.uni-heidelberg.de", linkStyle, "mailto:tsagrista@ari.uni-heidelberg.de"); Link authorpage = new Link("www.tonisagrista.com", linkStyle, "http://tonisagrista.com"); author.addActor(authorname); author.addActor(authormail); author.addActor(authorpage); // Contributor Label contribtitle = new OwnLabel(txt("gui.help.contributors"), skin, "ui-12"); VerticalGroup contrib = new VerticalGroup(); contrib.align(Align.left); Label contribname = new OwnLabel("Apl. Prof. Dr. Stefan Jordan", skin, "ui-11"); Link contribmail = new Link("jordan@ari.uni-heidelberg.de", linkStyle, "mailto:jordan@ari.uni-heidelberg.de"); contrib.addActor(contribname); contrib.addActor(contribmail); // License HorizontalGroup licenseh = new HorizontalGroup(); licenseh.space(pad * 2); Image license = new Image(getSpriteDrawable(Gdx.files.internal("img/license.png"))); VerticalGroup licensev = new VerticalGroup(); TextArea licensetext = new OwnTextArea(txt("gui.help.license"), skin.get("msg-11", TextFieldStyle.class)); licensetext.setDisabled(true); licensetext.setPrefRows(3); licensetext.setWidth(tawidth / 2f); Link licenselink = new Link("https://www.gnu.org/licenses/gpl.html", linkStyle, "https://www.gnu.org/licenses/gpl.html"); licensev.addActor(licensetext); licensev.addActor(licenselink); licenseh.addActor(license); licenseh.addActor(licensev); // Thanks HorizontalGroup thanks = new HorizontalGroup(); thanks.space(pad * 2); Container thanksc = new Container(thanks); thanksc.setBackground(skin.getDrawable("bg-clear")); Image zah = new Image(getSpriteDrawable(Gdx.files.internal("img/zah.png"))); Image dlr = new Image(getSpriteDrawable(Gdx.files.internal("img/dlr.png"))); Image bwt = new Image(getSpriteDrawable(Gdx.files.internal("img/bwt.png"))); Image dpac = new Image(getSpriteDrawable(Gdx.files.internal("img/dpac.png"))); thanks.addActor(zah); thanks.addActor(dlr); thanks.addActor(bwt); thanks.addActor(dpac); content2.add(intro).colspan(2).align(Align.left).padTop(pad * 2); content2.row(); content2.add(homepagetitle).align(Align.topLeft).padRight(pad * 2); content2.add(homepage).align(Align.left); content2.row(); content2.add(authortitle).align(Align.topLeft).padRight(pad * 2).padTop(pad); content2.add(author).align(Align.left).padTop(pad); content2.row(); content2.add(contribtitle).align(Align.topLeft).padRight(pad * 2).padTop(pad); content2.add(contrib).align(Align.left).padTop(pad); content2.row(); content2.add(licenseh).colspan(2).align(Align.center).padTop(pad * 4); content2.row(); content2.add(thanksc).colspan(2).align(Align.center).padTop(pad * 8); /** CONTENT 3 - SYSTEM **/ final Table content3 = new Table(skin); content3.align(Align.top); // Build info Label buildinfo = new OwnLabel(txt("gui.help.buildinfo"), skin, "help-title"); Label versiontitle = new OwnLabel(txt("gui.help.version", GlobalConf.APPLICATION_NAME), skin, "ui-12"); Label version = new OwnLabel(GlobalConf.version.version, skin, "ui-11"); Label revisiontitle = new OwnLabel(txt("gui.help.buildnumber"), skin, "ui-12"); Label revision = new OwnLabel(GlobalConf.version.build, skin, "ui-11"); Label timetitle = new OwnLabel(txt("gui.help.buildtime"), skin, "ui-12"); Label time = new OwnLabel(GlobalConf.version.buildtime, skin, "ui-11"); Label systemtitle = new OwnLabel(txt("gui.help.buildsys"), skin, "ui-12"); TextArea system = new OwnTextArea(GlobalConf.version.system, skin.get("msg-11", TextFieldStyle.class)); system.setDisabled(true); system.setPrefRows(3); system.setWidth(tawidth * 2f / 3f); textareas.add(system); Label buildertitle = new OwnLabel(txt("gui.help.builder"), skin, "ui-12"); Label builder = new OwnLabel(GlobalConf.version.builder, skin, "ui-11"); // Java info Label javainfo = new OwnLabel(txt("gui.help.javainfo"), skin, "help-title"); Label javaversiontitle = new OwnLabel(txt("gui.help.javaversion"), skin, "ui-12"); Label javaversion = new OwnLabel(System.getProperty("java.version"), skin, "ui-11"); Label javaruntimetitle = new OwnLabel(txt("gui.help.javaname"), skin, "ui-12"); Label javaruntime = new OwnLabel(System.getProperty("java.runtime.name"), skin, "ui-11"); Label javavmnametitle = new OwnLabel(txt("gui.help.javavmname"), skin, "ui-12"); Label javavmname = new OwnLabel(System.getProperty("java.vm.name"), skin, "ui-11"); Label javavmversiontitle = new OwnLabel(txt("gui.help.javavmversion"), skin, "ui-12"); Label javavmversion = new OwnLabel(System.getProperty("java.vm.version"), skin, "ui-11"); Label javavmvendortitle = new OwnLabel(txt("gui.help.javavmvendor"), skin, "ui-12"); Label javavmvendor = new OwnLabel(System.getProperty("java.vm.vendor"), skin, "ui-11"); TextButton memoryinfobutton = new OwnTextButton(txt("gui.help.meminfo"), skin, "default"); memoryinfobutton.setName("memoryinfo"); memoryinfobutton.setSize(150 * GlobalConf.SCALE_FACTOR, 20 * GlobalConf.SCALE_FACTOR); memoryinfobutton.addListener(new EventListener() { @Override public boolean handle(Event event) { if (event instanceof ChangeEvent) { EventManager.instance.post(Events.DISPLAY_MEM_INFO_WINDOW, stage, skin); return true; } return false; } }); // OpenGL info Label glinfo = new OwnLabel(txt("gui.help.openglinfo"), skin, "help-title"); Label glversiontitle = new OwnLabel(txt("gui.help.openglversion"), skin, "ui-12"); Label glversion = new OwnLabel(Gdx.gl.glGetString(GL20.GL_VERSION), skin, "ui-11"); Label glslversiontitle = new OwnLabel(txt("gui.help.glslversion"), skin, "ui-12"); Label glslversion = new OwnLabel(Gdx.gl.glGetString(GL20.GL_SHADING_LANGUAGE_VERSION), skin, "ui-11"); Label glextensionstitle = new OwnLabel(txt("gui.help.glextensions"), skin, "ui-12"); String glextensionsstr = Gdx.gl.glGetString(GL20.GL_EXTENSIONS).replace(' ', '\r'); lines = GlobalResources.countOccurrences(glextensionsstr, '\r') + 1; IntBuffer buf = BufferUtils.newIntBuffer(16); Gdx.gl.glGetIntegerv(Gdx.graphics.getGL20().GL_MAX_TEXTURE_SIZE, buf); int maxSize = buf.get(0); TextArea glextensions = new TextArea("Max texture size: " + maxSize + "\r" + glextensionsstr, skin); glextensions.setDisabled(true); glextensions.setPrefRows(lines); textareas.add(glextensions); OwnScrollPane glextensionsscroll = new OwnScrollPane(glextensions, skin, "default-nobg"); glextensionsscroll.setWidth(tawidth / 1.7f); glextensionsscroll.setHeight(taheight_s); glextensionsscroll.setForceScroll(false, true); glextensionsscroll.setSmoothScrolling(true); glextensionsscroll.setFadeScrollBars(false); scrolls.add(glextensionsscroll); content3.add(buildinfo).colspan(2).align(Align.left).padTop(pad * 3); content3.row(); content3.add(versiontitle).align(Align.topLeft).padRight(pad * 2); content3.add(version).align(Align.left); content3.row(); content3.add(revisiontitle).align(Align.topLeft).padRight(pad * 2); content3.add(revision).align(Align.left); content3.row(); content3.add(timetitle).align(Align.topLeft).padRight(pad * 2); content3.add(time).align(Align.left); content3.row(); content3.add(buildertitle).align(Align.topLeft).padRight(pad * 2); content3.add(builder).align(Align.left).padBottom(pad * 3); content3.row(); content3.add(systemtitle).align(Align.topLeft).padRight(pad * 2); content3.add(system).align(Align.left); content3.row(); content3.add(javainfo).colspan(2).align(Align.left).padTop(pad * 2); content3.row(); content3.add(javaversiontitle).align(Align.topLeft).padRight(pad * 2); content3.add(javaversion).align(Align.left); content3.row(); content3.add(javaruntimetitle).align(Align.topLeft).padRight(pad * 2); content3.add(javaruntime).align(Align.left); content3.row(); content3.add(javavmnametitle).align(Align.topLeft).padRight(pad * 2); content3.add(javavmname).align(Align.left); content3.row(); content3.add(javavmversiontitle).align(Align.topLeft).padRight(pad * 2); content3.add(javavmversion).align(Align.left); content3.row(); content3.add(javavmvendortitle).align(Align.topLeft).padRight(pad * 2); content3.add(javavmvendor).align(Align.left).padBottom(pad * 2); content3.row(); content3.add(memoryinfobutton).colspan(2).align(Align.left).padBottom(pad * 3); content3.row(); content3.add(glinfo).colspan(2).align(Align.left).padTop(pad * 2); content3.row(); content3.add(glversiontitle).align(Align.topLeft).padRight(pad * 2); content3.add(glversion).align(Align.left); content3.row(); content3.add(glslversiontitle).align(Align.topLeft).padRight(pad * 2); content3.add(glslversion).align(Align.left); content3.row(); content3.add(glextensionstitle).align(Align.topLeft).padRight(pad * 2); content3.add(glextensionsscroll).align(Align.left); /** ADD ALL CONTENT **/ content.addActor(content1); content.addActor(content2); content.addActor(content3); table.add(content).expand().fill(); // Listen to changes in the tab button checked states // Set visibility of the tab content to match the checked state ChangeListener tab_listener = new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { content1.setVisible(tab1.isChecked()); content2.setVisible(tab2.isChecked()); content3.setVisible(tab3.isChecked()); } }; tab1.addListener(tab_listener); tab2.addListener(tab_listener); tab3.addListener(tab_listener); // Let only one tab button be checked at a time ButtonGroup tabs = new ButtonGroup(); tabs.setMinCheckCount(1); tabs.setMaxCheckCount(1); tabs.add(tab1); tabs.add(tab2); tabs.add(tab3); /** BUTTONS **/ HorizontalGroup buttonGroup = new HorizontalGroup(); TextButton close = new OwnTextButton(txt("gui.close"), skin, "default"); close.setName("close"); close.setSize(70 * GlobalConf.SCALE_FACTOR, 20 * GlobalConf.SCALE_FACTOR); close.addListener(new EventListener() { @Override public boolean handle(Event event) { if (event instanceof ChangeEvent) { me.hide(); return true; } return false; } }); buttonGroup.addActor(close); add(table).pad(pad); row(); add(buttonGroup).pad(pad).bottom().right(); getTitleTable().align(Align.left); pack(); this.setPosition(Math.round(stage.getWidth() / 2f - this.getWidth() / 2f), Math.round(stage.getHeight() / 2f - this.getHeight() / 2f)); /** CAPTURE SCROLL FOCUS **/ stage.addListener(new EventListener() { @Override public boolean handle(Event event) { if (event instanceof InputEvent) { InputEvent ie = (InputEvent) event; if (ie.getType() == Type.mouseMoved) { for (OwnScrollPane scroll : scrolls) { if (ie.getTarget().isDescendantOf(scroll)) { stage.setScrollFocus(scroll); } } return true; } } return false; } }); }