Search in sources :

Example 1 with Main

use of com.ray3k.skincomposer.Main in project skin-composer by raeleus.

the class DesktopLauncher method main.

public static void main(String[] arg) {
    Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration();
    config.setResizable(true);
    config.useVsync(true);
    config.setWindowedMode(800, 800);
    DesktopLauncher desktopLauncher = new DesktopLauncher();
    config.setWindowListener(desktopLauncher);
    config.setTitle("Skin Composer - New Project*");
    config.setWindowSizeLimits(675, 400, -1, -1);
    config.setWindowIcon("logo-16.png", "logo-32.png", "logo-48.png", "logo.png");
    Main main = new Main();
    main.setDesktopWorker(desktopLauncher);
    if (!Utils.isWindows()) {
        desktopLauncher.closeSplashScreen();
    }
    try {
        new Lwjgl3Application(main, config);
    } catch (Exception e) {
        e.printStackTrace();
        FileWriter fw = null;
        try {
            fw = new FileWriter(Gdx.files.local("temp/java-stacktrace.txt").file(), true);
            PrintWriter pw = new PrintWriter(fw);
            e.printStackTrace(pw);
            pw.close();
            fw.close();
            int choice = JOptionPane.showConfirmDialog(null, "Exception occurred. See error log?", "Skin Composer Exception!", JOptionPane.YES_NO_OPTION);
            if (choice == 0) {
                Utils.openFileExplorer(Gdx.files.local("temp/java-stacktrace.txt"));
            }
        } catch (Exception ex) {
        }
    }
}
Also used : FileWriter(java.io.FileWriter) Lwjgl3Application(com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application) Main(com.ray3k.skincomposer.Main) Lwjgl3ApplicationConfiguration(com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration) PrintWriter(java.io.PrintWriter)

Example 2 with Main

use of com.ray3k.skincomposer.Main in project skin-composer by raeleus.

the class DialogDrawables method tiledDrawableSettingsDialog.

private void tiledDrawableSettingsDialog(String title, DrawableData drawable, boolean newDrawable) {
    final Spinner minWidthSpinner = new Spinner(0.0f, 1.0f, true, Spinner.Orientation.HORIZONTAL, getSkin());
    final Spinner minHeightSpinner = new Spinner(0.0f, 1.0f, true, Spinner.Orientation.HORIZONTAL, getSkin());
    TextField textField = new TextField("", getSkin()) {

        @Override
        public void next(boolean up) {
            if (up) {
                getStage().setKeyboardFocus(minHeightSpinner.getTextField());
                minHeightSpinner.getTextField().selectAll();
            } else {
                getStage().setKeyboardFocus(minWidthSpinner.getTextField());
                minWidthSpinner.getTextField().selectAll();
            }
        }
    };
    Dialog tileDialog = new Dialog(title, getSkin(), "bg") {

        @Override
        protected void result(Object object) {
            super.result(object);
            if (object instanceof Boolean && (boolean) object == true) {
                Button button = this.findActor("color-selector");
                tiledDrawableSettings(drawable, (ColorData) button.getUserObject(), (float) minWidthSpinner.getValue(), (float) minHeightSpinner.getValue(), textField.getText());
            }
            getStage().setScrollFocus(scrollPane);
        }

        @Override
        public Dialog show(Stage stage) {
            Dialog dialog = super.show(stage);
            stage.setKeyboardFocus(textField);
            return dialog;
        }
    };
    tileDialog.getTitleTable().padLeft(5.0f);
    tileDialog.getContentTable().padLeft(10.0f).padRight(10.0f).padTop(5.0f);
    tileDialog.getButtonTable().padBottom(15.0f);
    var label = new Label("Please enter a name for the TiledDrawable: ", getSkin());
    label.setName("name-label");
    tileDialog.getContentTable().add(label);
    tileDialog.button("OK", true);
    tileDialog.button("Cancel", false).key(Keys.ESCAPE, false);
    TextButton okButton = (TextButton) tileDialog.getButtonTable().getCells().first().getActor();
    okButton.addListener(handListener);
    tileDialog.getButtonTable().getCells().get(1).getActor().addListener(handListener);
    tileDialog.getContentTable().row();
    var table = new Table();
    table.defaults().space(10.0f);
    tileDialog.getContentTable().add(table);
    textField.setText(drawable.name);
    textField.selectAll();
    table.add(textField).growX().colspan(2);
    table.row();
    label = new Label("Color:", getSkin());
    label.setName("color-label");
    table.add(label).right();
    var subTable = new Table();
    subTable.setBackground(getSkin().getDrawable("dark-gray"));
    table.add(subTable).growX().height(35);
    var button = new Button(getSkin(), "color-selector");
    button.setName("color-selector");
    if (drawable.tintName != null) {
        button.setColor(jsonData.getColorByName(drawable.tintName).color);
    } else {
        label = new Label("none", getSkin());
        button.add(label);
    }
    button.setUserObject(jsonData.getColorByName(drawable.tintName));
    subTable.add(button).grow().pad(3);
    button.addListener(handListener);
    button.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeListener.ChangeEvent ce, Actor actor) {
            DialogColors dialog = new DialogColors(main, (StyleProperty) null, true, (colorData, pressedCancel) -> {
                Button button = tileDialog.findActor("color-selector");
                if (colorData != null) {
                    button.setColor(colorData.color);
                    button.setUserObject(colorData);
                    button.clearChildren();
                } else {
                    if (button.getUserObject() != null) {
                        button.setColor(((ColorData) button.getUserObject()).color);
                    } else {
                        button.setColor(Color.WHITE);
                    }
                }
                okButton.setDisabled(!validateTiledDrawable(tileDialog, textField.getText(), drawable.name, (ColorData) button.getUserObject(), newDrawable));
            });
            dialog.setFillParent(true);
            dialog.show(getStage());
            dialog.refreshTable();
        }
    });
    table.row();
    label = new Label("MinWidth:", getSkin());
    table.add(label).right();
    minWidthSpinner.setValue(drawable.minWidth);
    minWidthSpinner.setMinimum(0.0f);
    table.add(minWidthSpinner).minWidth(150.0f);
    minWidthSpinner.setTransversalPrevious(textField);
    minWidthSpinner.setTransversalNext(minHeightSpinner.getTextField());
    minWidthSpinner.getButtonMinus().addListener(handListener);
    minWidthSpinner.getButtonPlus().addListener(handListener);
    minWidthSpinner.getTextField().addListener(ibeamListener);
    table.row();
    label = new Label("MinHeight:", getSkin());
    table.add(label).right();
    minHeightSpinner.setValue(drawable.minHeight);
    minHeightSpinner.setMinimum(0.0f);
    table.add(minHeightSpinner).minWidth(150.0f);
    minHeightSpinner.setTransversalPrevious(minWidthSpinner.getTextField());
    minHeightSpinner.setTransversalNext(textField);
    minHeightSpinner.getButtonMinus().addListener(handListener);
    minHeightSpinner.getButtonPlus().addListener(handListener);
    minHeightSpinner.getTextField().addListener(ibeamListener);
    okButton.setDisabled(!validateTiledDrawable(tileDialog, textField.getText(), drawable.name, (ColorData) button.getUserObject(), newDrawable));
    textField.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            Button button = tileDialog.findActor("color-selector");
            okButton.setDisabled(!validateTiledDrawable(tileDialog, textField.getText(), drawable.name, (ColorData) button.getUserObject(), newDrawable));
        }
    });
    textField.setTextFieldListener((TextField textField1, char c) -> {
        if (c == '\n') {
            if (!okButton.isDisabled()) {
                Button button1 = tileDialog.findActor("color-selector");
                tiledDrawableSettings(drawable, (ColorData) button1.getUserObject(), (float) minWidthSpinner.getValue(), (float) minHeightSpinner.getValue(), textField1.getText());
                tileDialog.hide();
            }
        }
    });
    textField.addListener(ibeamListener);
    tileDialog.show(getStage());
}
Also used : FileHandle(com.badlogic.gdx.files.FileHandle) MathUtils(com.badlogic.gdx.math.MathUtils) Array(com.badlogic.gdx.utils.Array) Scaling(com.badlogic.gdx.utils.Scaling) Utils(com.ray3k.skincomposer.utils.Utils) Spinner(com.ray3k.stripe.Spinner) Gdx(com.badlogic.gdx.Gdx) com.ray3k.skincomposer.data(com.ray3k.skincomposer.data) Values(com.badlogic.gdx.utils.ObjectMap.Values) CustomDrawableUndoable(com.ray3k.skincomposer.UndoableManager.CustomDrawableUndoable) Vector2(com.badlogic.gdx.math.Vector2) Locale(java.util.Locale) DrawableUndoable(com.ray3k.skincomposer.UndoableManager.DrawableUndoable) Actions(com.badlogic.gdx.scenes.scene2d.actions.Actions) Input(com.badlogic.gdx.Input) com.badlogic.gdx.scenes.scene2d(com.badlogic.gdx.scenes.scene2d) UndoableManager(com.ray3k.skincomposer.UndoableManager) PopTableClickListener(com.ray3k.stripe.PopTableClickListener) Sort(com.badlogic.gdx.utils.Sort) com.badlogic.gdx.scenes.scene2d.ui(com.badlogic.gdx.scenes.scene2d.ui) Iterator(java.util.Iterator) Cursor(com.badlogic.gdx.graphics.Cursor) SystemCursor(com.badlogic.gdx.graphics.Cursor.SystemCursor) FilesDroppedListener(com.ray3k.skincomposer.FilesDroppedListener) Align(com.badlogic.gdx.utils.Align) Color(com.badlogic.gdx.graphics.Color) com.badlogic.gdx.scenes.scene2d.utils(com.badlogic.gdx.scenes.scene2d.utils) Undoable(com.ray3k.skincomposer.Undoable) File(java.io.File) TextureAtlas(com.badlogic.gdx.graphics.g2d.TextureAtlas) List(java.util.List) Keys(com.badlogic.gdx.Input.Keys) Main(com.ray3k.skincomposer.Main) TenPatchData(com.ray3k.skincomposer.dialog.DialogTenPatch.TenPatchData) DrawableType(com.ray3k.skincomposer.data.DrawableData.DrawableType) Spinner(com.ray3k.stripe.Spinner)

Aggregations

Main (com.ray3k.skincomposer.Main)2 Gdx (com.badlogic.gdx.Gdx)1 Input (com.badlogic.gdx.Input)1 Keys (com.badlogic.gdx.Input.Keys)1 Lwjgl3Application (com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application)1 Lwjgl3ApplicationConfiguration (com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration)1 FileHandle (com.badlogic.gdx.files.FileHandle)1 Color (com.badlogic.gdx.graphics.Color)1 Cursor (com.badlogic.gdx.graphics.Cursor)1 SystemCursor (com.badlogic.gdx.graphics.Cursor.SystemCursor)1 TextureAtlas (com.badlogic.gdx.graphics.g2d.TextureAtlas)1 MathUtils (com.badlogic.gdx.math.MathUtils)1 Vector2 (com.badlogic.gdx.math.Vector2)1 com.badlogic.gdx.scenes.scene2d (com.badlogic.gdx.scenes.scene2d)1 Actions (com.badlogic.gdx.scenes.scene2d.actions.Actions)1 com.badlogic.gdx.scenes.scene2d.ui (com.badlogic.gdx.scenes.scene2d.ui)1 com.badlogic.gdx.scenes.scene2d.utils (com.badlogic.gdx.scenes.scene2d.utils)1 Align (com.badlogic.gdx.utils.Align)1 Array (com.badlogic.gdx.utils.Array)1 Values (com.badlogic.gdx.utils.ObjectMap.Values)1