From 5e1c410f8b99d246d1bbf828bbd8445bb716feeb Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Mon, 09 Sep 2019 21:59:44 -0400
Subject: [PATCH] Download tab + resized icons.

---
 ObjEditor.java |  150 ++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 121 insertions(+), 29 deletions(-)

diff --git a/ObjEditor.java b/ObjEditor.java
index facfbbe..6e8ba4c 100644
--- a/ObjEditor.java
+++ b/ObjEditor.java
@@ -99,8 +99,9 @@
     cButton GetButton(String name, boolean border)
     {
         ImageIcon icon = GetIcon(name);
+        boolean fit = !name.startsWith("icons");
         if (icon != null || name.contains("/"))
-            return new cButton(icon, border);
+            return new cButton(icon, border, fit);
         else
             return new cButton(name, border);
     }
@@ -1790,7 +1791,7 @@
         objectTabbedPane.add(figurePanel);
         objectTabbedPane.setIconAt(objectTabCount, GetIcon("icons/figure.png"));
         objectTabbedPane.setToolTipTextAt(objectTabCount++, "Figures and poses");
-        
+                
 //        JPanel north = new JPanel(new BorderLayout());
 //        north.setName("Edit");
 //        north.add(ctrlPanel, BorderLayout.NORTH);
@@ -1828,8 +1829,8 @@
         /*JTabbedPane*/ scenePanel = new cGridBag();
         scenePanel.preferredWidth = 6;
         
-        JTabbedPane tabbedPane = new JTabbedPane();
-        tabbedPane.add(scrollpane);
+        JTabbedPane sceneTabbedPane = new JTabbedPane();
+        sceneTabbedPane.add(scrollpane);
 
         optionsPanel = new cGridBag().setVertical(false);
 
@@ -1837,11 +1838,77 @@
         
         AddOptions(optionsPanel); //, aConstraints);
         
-        tabbedPane.add(FSPane = new cFileSystemPane(this));
+        sceneTabbedPane.add(FSPane = new cFileSystemPane(this));
 
-        tabbedPane.add(optionsPanel);
+        fullscenePanel = new cGridBag();
+        fullscenePanel.setName("Download");
+        sceneTabbedPane.add(fullscenePanel);
         
-        scenePanel.add(tabbedPane);
+        cButton fullsceneButton;
+        
+        fullscenePanel.add(fullsceneButton = GetButton("fullscenes/london.png", !Globals.NIMBUSLAF));
+        fullsceneButton.setToolTipText("Old London!");
+        fullsceneButton.addActionListener(new ActionListener()
+        {
+                @Override
+                public void actionPerformed(ActionEvent e)
+                {
+                    /*Object3D readobj =*/ ReadGFD("https://www.noaofarc.ca/akeeba/categories/Applications/oldlondon.gfd", new iCallBack()
+                    {
+
+                        public void Callback(Object obj)
+                        {
+                            LoadIt(obj);
+                        }
+
+                        public void DragGesture()
+                        {
+                        }
+                    });
+                }
+        });
+        
+        fullscenePanel.add(fullsceneButton = GetButton("fullscenes/venice.png", !Globals.NIMBUSLAF));
+        fullsceneButton.setToolTipText("Venice!");
+        fullsceneButton.addActionListener(new ActionListener()
+        {
+                @Override
+                public void actionPerformed(ActionEvent e)
+                {
+                    /*Object3D readobj =*/ ReadGFD("https://www.noaofarc.ca/akeeba/categories/Applications/Venice.gfd", new iCallBack()
+                    {
+
+                        public void Callback(Object obj)
+                        {
+                            LoadIt(obj);
+                        }
+
+                        public void DragGesture()
+                        {
+                        }
+                    });
+                }
+        });
+
+        fullscenePanel.Return();
+        fullscenePanel.add(new cGridBag());
+        fullscenePanel.add(new cGridBag());
+        fullscenePanel.Return();
+        fullscenePanel.add(new cGridBag());
+        fullscenePanel.add(new cGridBag());
+        fullscenePanel.Return();
+        fullscenePanel.add(new cGridBag());
+        fullscenePanel.add(new cGridBag());
+        fullscenePanel.Return();
+        fullscenePanel.add(new cGridBag());
+        fullscenePanel.add(new cGridBag());
+        fullscenePanel.Return();
+        fullscenePanel.add(new cGridBag());
+        fullscenePanel.add(new cGridBag());
+        
+        sceneTabbedPane.add(optionsPanel);
+        
+        scenePanel.add(sceneTabbedPane);
 
         cGridBag creditsPanel = new cGridBag().setVertical(true);
         creditsPanel.setName("Credits");
@@ -1930,8 +1997,8 @@
             creditsPanel.add(new cGridBag());
         }
         
-        tabbedPane.add(creditsPanel);
-        tabbedPane.setToolTipTextAt(3, "Credits");
+        sceneTabbedPane.add(creditsPanel);
+        sceneTabbedPane.setToolTipTextAt(3, "Credits");
         
         if (Globals.SHOWINFO)
         {
@@ -4402,7 +4469,7 @@
         if (copy == Grafreed.grafreed.universe)
         {
             CreateCameras();
-            cameraView.SetCamera(GetCamera(copy, 0));
+            cameraView.SetCamera(GetCamera(copy, 0), true);
             cameraView.SetLight(GetCamera(copy, 4));
         }
         
@@ -4552,7 +4619,7 @@
         
         SetVersionStates();
         
-        SetCameras();
+        SetCameras(false);
     }
     
     public boolean DuplicateVersion() // boolean user)
@@ -4801,7 +4868,7 @@
         
         SetVersionStates();
         
-        SetCameras();
+        SetCameras(false);
         
         return true;
     }
@@ -4823,7 +4890,7 @@
         
         SetVersionStates();
         
-        SetCameras();
+        SetCameras(false);
         
         return true;
     }
@@ -4834,7 +4901,8 @@
         
         //cRadio tab = GetCurrentTab();
         
-        if (copy.versionindex == -1 || copy.versionlist[copy.versionindex] == null)
+        // < 0 means == -2 || == -1
+        if (copy.versionindex < 0 || copy.versionlist[copy.versionindex] == null)
         {
             // No version yet. OK. java.awt.Toolkit.getDefaultToolkit().beep();
             return false;
@@ -4867,21 +4935,26 @@
         
         SetVersionStates();
         
-        SetCameras();
+        SetCameras(false);
     }
 
-    void SetCameras()
+    void SetCameras(boolean set)
     {
         if (copy == Grafreed.grafreed.universe)
         {
             Camera neweye = (Camera)copy.GetObject(cameraView.cameras[cameraView.cameracount^1].GetUUID());
             Camera newlight = (Camera)copy.GetObject(cameraView.LightCamera().GetUUID());
 
-            cameraView.SetCamera(neweye);
+            cameraView.SetCamera(neweye, set);
             cameraView.SetLight(newlight);
         }
     }
-    
+
+        void ImportGFD(String url)
+        {
+            objEditor.ReadGFD(url, objEditor);
+        }
+        
         void ImportGFD()
         {
             FileDialog browser = new FileDialog(objEditor.frame, "Import GrafreeD", FileDialog.LOAD);
@@ -4892,8 +4965,9 @@
                 String fullname = browser.getDirectory() + filename;
 
                 //Object3D readobj =
-                        objEditor.ReadGFD(fullname, objEditor);
+                //        objEditor.ReadGFD(fullname, objEditor);
                 //makeSomething(readobj);
+                ImportGFD(fullname);
             }
         }
         
@@ -5234,7 +5308,7 @@
                 copy.versionindex = version;
                 CopyChanged(copy);
                 SetVersionStates();
-                SetCameras();
+                SetCameras(false);
             }
             
             return;
@@ -5850,10 +5924,27 @@
     {
         Object3D readobj = null;
 
+        java.net.URL url = null;
+        
+        try
+        {
+            url = new java.net.URL(fullname);
+        } catch (Exception e)
+        {
+            try
+            {
+                url = new java.net.URL("file://" + fullname);
+            } catch (Exception e2)
+            {
+                e2.printStackTrace();
+            }
+        }
+        
         try
         {
             // Try compressed version first.
-            java.io.FileInputStream istream = new java.io.FileInputStream(fullname);
+            java.io.InputStream istream //= new java.io.FileInputStream(fullname);
+                                        = url.openStream();
             java.util.zip.GZIPInputStream zstream = new java.util.zip.GZIPInputStream(istream);
             java.io.ObjectInputStream p = new java.io.ObjectInputStream(zstream);
 
@@ -5868,7 +5959,8 @@
             
             try
             {
-                java.io.FileInputStream istream = new java.io.FileInputStream(fullname);
+                java.io.InputStream istream //= new java.io.FileInputStream(fullname);
+                                            = url.openStream();
                 java.io.ObjectInputStream p = new java.io.ObjectInputStream(istream);
 
                 readobj = (Object3D) p.readObject();
@@ -5966,12 +6058,11 @@
 //                                // oct 2012    if(cam.parent == null)
 //                                cam.parent = copy.get(0); // cams;
 //                            }
-                            cameraView.SetCamera((Camera) cams.get(0));
-                            // MAJOR CRASH!!
-                            cameraView.SetLight((Camera) cams.get(4));
-                            topView.SetCamera((Camera) cams.get(1));
-                            frontView.SetCamera((Camera) cams.get(2));
-                            sideView.SetCamera((Camera) cams.get(3));
+                            cameraView.SetCamera((Camera) cams.get(0), true);
+                            cameraView.SetLight((Camera) cams.get(4)); // MAJOR CRASH!!
+                            topView.SetCamera((Camera) cams.get(1), true);
+                            frontView.SetCamera((Camera) cams.get(2), true);
+                            sideView.SetCamera((Camera) cams.get(3), true);
 
 //                            copy.get(0).clear();
 //                            copy.get(0).addAll(cams);
@@ -6026,7 +6117,7 @@
         if (Grafreed.standAlone)
         {
             FileDialog browser = new FileDialog(frame, "Open", FileDialog.LOAD);
-            browser.show();
+            browser.setVisible(true);
             String filename = browser.getFile();
             if (filename != null && filename.length() > 0)
             {
@@ -6350,6 +6441,7 @@
     cGridBag materialPanel;
     cGridBag ctrlPanel;
     cGridBag figurePanel;
+    cGridBag fullscenePanel;
     
     JScrollPane infoPanel;
     

--
Gitblit v1.6.2