From c8024a8777faf76727fbb6975ddf4fecb567b426 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Sun, 08 Jul 2018 15:32:33 -0400
Subject: [PATCH] Timeline menu UI.

---
 ObjEditor.java             |   54 ++++++++++++++++++---------
 GroupEditor.java           |   16 ++++----
 timeflow/app/AppState.java |    2 
 Object3D.java              |    1 
 4 files changed, 45 insertions(+), 28 deletions(-)

diff --git a/GroupEditor.java b/GroupEditor.java
index aafbf22..48fcf23 100644
--- a/GroupEditor.java
+++ b/GroupEditor.java
@@ -649,14 +649,14 @@
 	
         void EditObject(Object3D obj)
         {
-            cRadio dummyButton = new cRadio(obj.name);
-            dummyButton.SetObject(obj);
-            dummyButton.layout = sevenButton;
-            dummyButton.SetCamera(cameraView.renderCamera, false);
-            dummyButton.addActionListener(this);
-            radioPanel.add(dummyButton);
-            buttonGroup.add(dummyButton);
-            dummyButton.doClick();
+            cRadio radioButton = new cRadio(obj.name);
+            radioButton.SetObject(obj);
+            radioButton.layout = sevenButton;
+            radioButton.SetCamera(cameraView.renderCamera, false);
+            radioButton.addActionListener(this);
+            radioPanel.add(radioButton);
+            buttonGroup.add(radioButton);
+            radioButton.doClick();
         }
         void SetupViews(ObjEditor oe)
         {
diff --git a/ObjEditor.java b/ObjEditor.java
index 6877515..a0dc1a7 100644
--- a/ObjEditor.java
+++ b/ObjEditor.java
@@ -28,6 +28,8 @@
         iSendInfo
 //KeyListener
 {
+        boolean timeline;
+        boolean wasFullScreen;
 
     // SCRIPT
     
@@ -238,7 +240,7 @@
         //if (!isDisplayable())
         //setUndecorated(true);
 
-        System.out.println("getFullScreenWindow? " + gd.getFullScreenWindow());
+        //System.out.println("getFullScreenWindow? " + gd.getFullScreenWindow());
         client = inClient;
         copy = localCopy;
         copy.editWindow = this;
@@ -292,11 +294,11 @@
         //normalLensItem.addActionListener(this);
         cameraMenu.add(revertCameraItem = new MenuItem("Revert Camera"));
         revertCameraItem.addActionListener(this);
+        cameraMenu.add(toggleTimelineItem = new CheckboxMenuItem("Timeline"));
+        toggleTimelineItem.addItemListener(this);
         cameraMenu.add(toggleFullScreenItem = new CheckboxMenuItem("Full Screen"));
         toggleFullScreenItem.addItemListener(this);
         toggleFullScreenItem.setState(CameraPane.FULLSCREEN);
-        cameraMenu.add(toggleTimelineItem = new CheckboxMenuItem("Timeline"));
-        toggleTimelineItem.addItemListener(this);
         cameraMenu.add("-");
         cameraMenu.add(toggleTextureItem = new CheckboxMenuItem("Texture"));
         toggleTextureItem.addItemListener(this);
@@ -595,6 +597,22 @@
             System.err.println("Couldn't insert initial text into text pane.");
         }
     }
+
+        void ToggleFullScreen()
+        {
+                if (CameraPane.FULLSCREEN)
+                {
+                    frame.getContentPane().remove(/*"Center",*/bigThree);
+                    framePanel.add(bigThree);
+                    frame.getContentPane().add(/*"Center",*/framePanel);
+                } else
+                {
+                    frame.getContentPane().remove(/*"Center",*/framePanel);
+                    framePanel.remove(bigThree);
+                    frame.getContentPane().add(/*"Center",*/bigThree);
+                }
+                cameraView.ToggleFullScreen();
+        }
 
     private JTextArea createTextPane()
     {
@@ -2966,37 +2984,34 @@
             return;
         } else if (event.getSource() == toggleTimelineItem)
         {
-            copy.timeline ^= true;
+            timeline ^= true;
 
-            if (copy.timeline)
+            if (timeline)
             {
                 centralPanel.remove(cameraView);
                 centralPanel.add(timelinePanel);
                 frame.setJMenuBar(timelineMenubar);
+                wasFullScreen = CameraPane.FULLSCREEN;
+                if (!CameraPane.FULLSCREEN)
+                    ToggleFullScreen();
+                toggleFullScreenItem.setEnabled(false);
             }
             else
             {
                 centralPanel.remove(timelinePanel);
                 centralPanel.add(cameraView);
                 frame.setJMenuBar(null);
+                if (!wasFullScreen)
+                    ToggleFullScreen();
+                toggleFullScreenItem.setEnabled(true);
             }
 
             frame.validate();
             return;
         } else if (event.getSource() == toggleFullScreenItem)
         {
-            if (CameraPane.FULLSCREEN)
-            {
-                frame.getContentPane().remove(/*"Center",*/bigThree);
-                framePanel.add(bigThree);
-                frame.getContentPane().add(/*"Center",*/framePanel);
-            } else
-            {
-                frame.getContentPane().remove(/*"Center",*/framePanel);
-                frame.getContentPane().add(/*"Center",*/bigThree);
-            }
+            ToggleFullScreen();
             frame.validate();
-            cameraView.ToggleFullScreen();
 
             return;
         } else if (event.getSource() == toggleRandomItem)
@@ -3574,8 +3589,11 @@
 
         void SnapObject()
         {
-            Object3D obj = (Object3D)copy.selection.elementAt(0);
-            SnapObject(obj);
+            if (copy.selection.size() > 0)
+            {
+                    Object3D obj = (Object3D)copy.selection.elementAt(0);
+                    SnapObject(obj);
+            }
         }
         
         void SnapObject(Object3D obj)
diff --git a/Object3D.java b/Object3D.java
index 27c3158..f6cf69b 100644
--- a/Object3D.java
+++ b/Object3D.java
@@ -285,7 +285,6 @@
             return parent.GetName() + "#";
         }
         
-    boolean timeline = false;
     boolean live = false;
     boolean hide = false;
     boolean link2master = false; // performs reset support/master at each frame
diff --git a/timeflow/app/AppState.java b/timeflow/app/AppState.java
index c1d7fd0..5856b5e 100755
--- a/timeflow/app/AppState.java
+++ b/timeflow/app/AppState.java
@@ -16,7 +16,7 @@
         {
                 if (!new File(FILE).exists())
                 {
-                        System.err.println("No existing settings file found.");
+                        //System.err.println("No existing settings file found.");
                         return;
                 }
                 try

--
Gitblit v1.6.2