List of usage examples for com.badlogic.gdx.graphics Color toString
public String toString()
From source file:org.shadebob.skineditor.ColorPickerDialog.java
License:Apache License
/** * Refresh table content with colors from the skin *//* ww w .j av a2 s. c om*/ public void updateTable() { tableColors.clear(); tableColors.add(new Label("Color Name", game.skin, "title")).left().width(170); tableColors.add(new Label("Value", game.skin, "title")).colspan(2).left().width(60).padRight(50); tableColors.row(); Iterator<String> it = colors.keys().iterator(); while (it.hasNext()) { final String key = it.next(); final Color color = colors.get(key); tableColors.add(key).left(); // Create drawable on the fly Pixmap pixmap = new Pixmap(18, 18, Pixmap.Format.RGBA8888); pixmap.setColor(color); pixmap.fill(); pixmap.setColor(Color.BLACK); pixmap.drawRectangle(0, 0, 18, 18); Texture texture = new Texture(pixmap); pixmap.dispose(); tableColors.add(new Image(texture)); tableColors.add(color.toString()).left(); TextButton buttonSelect = new TextButton("Select", game.skin); buttonSelect.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { try { field.set(game.screenMain.paneOptions.currentStyle, color); } catch (Exception e) { e.printStackTrace(); } hide(); game.screenMain.panePreview.refresh(); game.screenMain.paneOptions.updateSelectedTableFields(); game.screenMain.saveToSkin(); } }); TextButton buttonRemove = new TextButton("Remove", game.skin); buttonRemove.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { Dialog dlg = new Dialog("Delete Style", game.skin) { @Override protected void result(Object object) { if ((Boolean) object == false) { return; } if (isColorInUse(color) == true) { game.showNotice("Error", "Color already in use!", game.screenMain.stage); } else { colors.remove(key); // update table updateTable(); game.screenMain.saveToSkin(); } } }; dlg.pad(20); dlg.getContentTable().add("You are sure you want to delete this color?"); dlg.button("OK", true); dlg.button("Cancel", false); dlg.key(com.badlogic.gdx.Input.Keys.ENTER, true); dlg.key(com.badlogic.gdx.Input.Keys.ESCAPE, false); dlg.show(game.screenMain.stage); } }); if (field != null) { tableColors.add(buttonSelect).padRight(5); } tableColors.add(buttonRemove); tableColors.row(); } }
From source file:org.shadebob.skineditor.dialog.ColorPickerDialog.java
License:Apache License
public ColorPickerDialog(final SkinEditorGame game, final Field field) { super("Color Picker", game.skin); this.game = game; this.field = field; tableColors = new Table(game.skin); tableColors.left().top().pad(5);//w w w . j a v a 2 s.co m tableColors.defaults().pad(5); updateTable(); ScrollPane scrollPane = new ScrollPane(tableColors, game.skin); scrollPane.setFlickScroll(false); scrollPane.setFadeScrollBars(false); scrollPane.setScrollbarsOnTop(true); getContentTable().add(scrollPane).width(540).height(320).pad(20); getButtonTable().add(new TextButton("New Color", game.skin)).getActor().addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { SwingUtils.forceFocus(); // Call swing color picker java.awt.Color color = JColorChooser.showDialog(null, "Pick your color", java.awt.Color.WHITE); if (color != null) { String colorName = JOptionPane.showInputDialog("Name your color"); if ((colorName != null) && (colorName.isEmpty() == false)) { // Verify if the color name is already in use if (colors.containsKey(colorName) == true) { game.showNotice("Error", "Color name already in use!", game.screenMain.stage); } else { // Add the color (asuming RGBA) float[] components = color.getComponents(null); Color newColor = new Color(components[0], components[1], components[2], components[3]); if (CustomSkin.isResInUse(game.skinProject, newColor)) { game.showNotice("Error", "Same color value (" + newColor.toString() + ") is already defined with a different name!", game.screenMain.stage); return; } colors.put(colorName, newColor); game.screenMain.changeSkin(); // update table updateTable(); } } } } }); ; if (field != null) { getButtonTable().add(new TextButton("Empty Color", game.skin)).getActor() .addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { try { field.set(game.screenMain.paneOptions.currentStyleObj, null); } catch (Exception e) { e.printStackTrace(); } game.screenMain.changeSkin(); hide(); game.screenMain.panePreview.refresh(); game.screenMain.paneOptions.updateSelectedTableFields(); } }); } button("Cancel", false).key(Keys.ESCAPE, false).getButtonTable().padBottom(15); }
From source file:org.shadebob.skineditor.dialog.ColorPickerDialog.java
License:Apache License
void updateTable() { colors = game.skinProject.getAll(Color.class); tableColors.clear();/*from w ww. java 2 s .c om*/ tableColors.add("Color Name", "title").left().width(170); tableColors.add("Value", "title").colspan(2).left().width(60).padRight(50); tableColors.row(); Iterator<String> it = colors.keys().iterator(); while (it.hasNext()) { final String key = it.next(); final Color color = colors.get(key); tableColors.add(key).left(); Texture texture = null; if (cachesMap.containsKey(color)) { texture = (Texture) cachesMap.get(color); } else { // Create drawable on the fly Pixmap pixmap = new Pixmap(18, 18, Pixmap.Format.RGBA8888); pixmap.setColor(color); pixmap.fill(); pixmap.setColor(Color.BLACK); pixmap.drawRectangle(0, 0, 18, 18); cachesMap.put(color, texture = new Texture(pixmap)); pixmap.dispose(); } tableColors.add(new Image(texture)); tableColors.add(color.toString()).left(); if (field != null) { tableColors.add(new TextButton("Select", game.skin)).left().getActor() .addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { try { field.set(game.screenMain.paneOptions.currentStyleObj, color); } catch (Exception e) { e.printStackTrace(); } hide(); game.screenMain.panePreview.refresh(); game.screenMain.paneOptions.updateSelectedTableFields(); game.screenMain.changeSkin(); } }); } tableColors.add(new TextButton("Remove", game.skin)).left().expandX().getActor() .addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { Dialog dlg = new Dialog("Delete Style", game.skin) { @Override protected void result(Object object) { if (!(Boolean) object) { return; } if (CustomSkin.isResInUse(game.skinProject, color)) { game.showNotice("Error", "Color already in use!", game.screenMain.stage); } else { colors.remove(key); updateTable(); game.screenMain.changeSkin(); } } }; dlg.pad(20); dlg.getContentTable().add("You are sure you want to delete this color?"); dlg.button("OK", true).key(Keys.ENTER, true); dlg.button("Cancel", false).key(Keys.ESCAPE, false); dlg.show(game.screenMain.stage); } }); tableColors.row(); } }