Ver código fonte

Native file chooser

tbvns 6 meses atrás
pai
commit
f85cc9ee39

+ 29 - 5
PowerGDEditor/pom.xml

@@ -72,16 +72,40 @@
             <artifactId>imgui-java-natives-macos</artifactId>
             <version>1.86.11</version>
         </dependency>
-        <dependency>
-            <groupId>com.github.steos</groupId>
-            <artifactId>jnafilechooser</artifactId>
-            <version>1.1.2</version>
-        </dependency>
         <dependency>
             <groupId>xyz.tbvns</groupId>
             <artifactId>GD4J</artifactId>
             <version>1.0-ALPHA</version>
         </dependency>
+        <dependency>
+            <groupId>tv.wunderbox</groupId>
+            <artifactId>nativefiledialog</artifactId>
+            <version>1.0.3</version>
+        </dependency>
+        <!-- https://mvnrepository.com/artifact/org.lwjgl/lwjgl-tinyfd -->
+        <dependency>
+            <groupId>org.lwjgl</groupId>
+            <artifactId>lwjgl-tinyfd</artifactId>
+            <version>3.3.4</version>
+        </dependency>
+        <dependency>
+            <groupId>org.lwjgl</groupId>
+            <artifactId>lwjgl-tinyfd</artifactId>
+            <classifier>natives-windows</classifier>
+            <version>3.3.4</version>
+        </dependency>
+        <dependency>
+            <groupId>org.lwjgl</groupId>
+            <artifactId>lwjgl-tinyfd</artifactId>
+            <classifier>natives-linux</classifier>
+            <version>3.3.4</version>
+        </dependency>
+        <dependency>
+            <groupId>org.lwjgl</groupId>
+            <artifactId>lwjgl-tinyfd</artifactId>
+            <classifier>natives-macos</classifier>
+            <version>3.3.4</version>
+        </dependency>
     </dependencies>
 
 </project>

+ 0 - 3
PowerGDEditor/src/main/java/xyz/tbvns/Editor/ModelsManager.java

@@ -1,9 +1,6 @@
 package xyz.tbvns.Editor;
 
-import com.badlogic.gdx.Gdx;
 import com.badlogic.gdx.graphics.g3d.Model;
-import imgui.ImGui;
-import javafx.scene.layout.Pane;
 import lombok.Getter;
 import xyz.tbvns.Models.Animation;
 import xyz.tbvns.Models.GDModel;

+ 0 - 4
PowerGDEditor/src/main/java/xyz/tbvns/GeometryDash/TextureExtractor.java

@@ -1,9 +1,5 @@
 package xyz.tbvns.GeometryDash;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.dataformat.xml.XmlFactory;
-import com.stanfy.gsonxml.GsonXml;
-import com.stanfy.gsonxml.GsonXmlBuilder;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.io.FileUtils;
 import org.xml.sax.SAXException;

+ 0 - 1
PowerGDEditor/src/main/java/xyz/tbvns/Models/Face.java

@@ -1,6 +1,5 @@
 package xyz.tbvns.Models;
 
-import com.badlogic.gdx.math.Vector3;
 import org.joml.Vector4f;
 
 import java.awt.*;

+ 4 - 1
PowerGDEditor/src/main/java/xyz/tbvns/Models/GDModel.java

@@ -1,6 +1,9 @@
 package xyz.tbvns.Models;
 
-import com.badlogic.gdx.graphics.*;
+import com.badlogic.gdx.graphics.Color;
+import com.badlogic.gdx.graphics.GL20;
+import com.badlogic.gdx.graphics.Mesh;
+import com.badlogic.gdx.graphics.VertexAttributes;
 import com.badlogic.gdx.graphics.g3d.Material;
 import com.badlogic.gdx.graphics.g3d.Model;
 import com.badlogic.gdx.graphics.g3d.attributes.ColorAttribute;

+ 15 - 9
PowerGDEditor/src/main/java/xyz/tbvns/ui/Elements/ModelsList.java

@@ -3,7 +3,9 @@ package xyz.tbvns.ui.Elements;
 import com.badlogic.gdx.Gdx;
 import imgui.ImGui;
 import imgui.flag.ImGuiWindowFlags;
-import jnafilechooser.api.JnaFileChooser;
+import org.lwjgl.util.tinyfd.TinyFileDialogs;
+import tv.wunderbox.nfd.awt.AwtFileDialog;
+import tv.wunderbox.nfd.nfd.NfdFileDialog;
 import xyz.tbvns.Editor.ModelsManager;
 import xyz.tbvns.Models.Animation;
 import xyz.tbvns.Models.GDModel;
@@ -11,7 +13,8 @@ import xyz.tbvns.ui.Element;
 import xyz.tbvns.ui.Renderable;
 
 import java.awt.*;
-import java.io.FileNotFoundException;
+import java.io.File;
+import java.nio.ByteBuffer;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -39,14 +42,17 @@ public class ModelsList implements Element {
 
     public void loadButton() {
         if (ImGui.button("Load a model")) {
-            JnaFileChooser fileChooser = new JnaFileChooser();
-            fileChooser.setMode(JnaFileChooser.Mode.Directories);
-            if (fileChooser.showOpenDialog((Window) null)) {
-                try {
-                    ModelsManager.addAnimated(fileChooser.getSelectedFile());
-                } catch (FileNotFoundException e) {
-                    throw new RuntimeException(e);
+            try {
+                String path = TinyFileDialogs.tinyfd_selectFolderDialog("Select animation folder:", System.getProperty("user.home"));
+                if (path!=null) {
+                    ModelsManager.addAnimated(
+                            new File(
+                                    path
+                            )
+                    );
                 }
+            } catch (Exception e) {
+                throw new RuntimeException(e);
             }
         }
     }

+ 0 - 1
PowerGDEditor/src/main/java/xyz/tbvns/ui/Ui.java

@@ -5,7 +5,6 @@ import com.badlogic.gdx.InputProcessor;
 import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Graphics;
 import imgui.ImGui;
 import imgui.ImGuiIO;
-import imgui.flag.ImGuiWindowFlags;
 import imgui.gl3.ImGuiImplGl3;
 import imgui.glfw.ImGuiImplGlfw;