From 89b25e7cc97f6fe221dfd41c4d463500f8a31bc1 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Tue, 25 Jun 2019 23:58:09 -0400
Subject: [PATCH] Edit panel pin state.

---
 ObjEditor.java |   35 +++++++++++++++++++++++++++++++----
 1 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/ObjEditor.java b/ObjEditor.java
index c8ad401..d10d05b 100644
--- a/ObjEditor.java
+++ b/ObjEditor.java
@@ -207,7 +207,7 @@
         
         objEditor.ctrlPanel.remove(namePanel);
         
-        if (!GroupEditor.allparams)
+        if (!allparams)
             return;
         
 //        objEditor.ctrlPanel.remove(liveCB);
@@ -337,6 +337,11 @@
         return frame.action(event, obj);
     }
 
+    // Cannot work without static
+    static boolean allparams = true;
+
+    static java.util.Vector<Object3D> listUI = new java.util.Vector<Object3D>();
+
     void SetupMenu()
     {
         frame.setMenuBar(menuBar = new MenuBar());
@@ -397,6 +402,11 @@
 //                    }
 //                    
 //                    materialFlushed = true;
+//                }
+//                if (objectPanel.getSelectedIndex() == objectPanel.indexOfTab("Edit"))
+//                {
+//                    if (listUI.size() == 0)
+//                        EditSelection(false);
 //                }
 
                 refreshContents(false); // To refresh Info tab
@@ -1102,7 +1112,7 @@
         
         oe.ctrlPanel.Return();
         
-        if (!GroupEditor.allparams)
+        if (!allparams)
             return;
 
             setupPanel = new cGridBag().setVertical(false);
@@ -1439,13 +1449,13 @@
         //JScrollPane tmp = new JScrollPane(ctrlPanel, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
         //tmp.setName("Edit");
         objectPanel.add(materialPanel);
-        objectPanel.add(toolboxPanel);
 //        JPanel north = new JPanel(new BorderLayout());
 //        north.setName("Edit");
 //        north.add(ctrlPanel, BorderLayout.NORTH);
 //        objectPanel.add(north);
         objectPanel.add(editPanel);
         objectPanel.add(infoPanel);
+        objectPanel.add(toolboxPanel);
 
         /*
         aConstraints.gridx = 0;
@@ -1454,7 +1464,7 @@
         aConstraints.gridy += 1;
         aConstraints.gridwidth = 1;
         mainPanel.add(objectPanel, aConstraints);
-         */
+        */
 
         scrollpane = new JScrollPane(mainPanel, ScrollPaneConstants.// VERTICAL_SCROLLBAR_ALWAYS,
                 VERTICAL_SCROLLBAR_AS_NEEDED,
@@ -3527,6 +3537,8 @@
             tab.graphs[i] = null;
         }
 
+        SetUndoStates();
+        
         // test save
         if (false)
         {
@@ -3549,6 +3561,8 @@
 
     void CopyChanged(Object3D obj)
     {
+        SetUndoStates();
+        
         boolean temp = CameraPane.SWITCH;
         CameraPane.SWITCH = false;
         
@@ -3586,6 +3600,17 @@
         }
         
         refreshContents();
+    }
+    
+    cButton undoButton;
+    cButton redoButton;
+        
+    void SetUndoStates()
+    {
+        cRadio tab = GetCurrentTab();
+        
+        undoButton.setEnabled(tab.undoindex > 0);
+        redoButton.setEnabled(tab.graphs[tab.undoindex + 1] != null);
     }
     
     public void Undo()
@@ -4765,6 +4790,8 @@
             String filename = browser.getFile();
             if (filename != null && filename.length() > 0)
             {
+                if (!filename.endsWith(".gfd"))
+                    filename += ".gfd";
                 lastname = browser.getDirectory() + filename;
                 save();
             }

--
Gitblit v1.6.2