From f4160780a4d8278920b99ada1050f320d6e30a73 Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Sun, 08 Jul 2018 10:29:46 -0400 Subject: [PATCH] Timeline activated --- ObjEditor.java | 59 +++++++++++++++++++++-------- timeflow/app/TimeflowApp.java | 11 +++-- GroupEditor.java | 24 ++++++----- Object3D.java | 1 cButton.java | 10 +++++ 5 files changed, 74 insertions(+), 31 deletions(-) diff --git a/GroupEditor.java b/GroupEditor.java index d3c66a5..aafbf22 100644 --- a/GroupEditor.java +++ b/GroupEditor.java @@ -520,6 +520,9 @@ oe.toolbarPanel.add(flashSelectionButton = new cButton(" ? ")); //, oe.aConstraints); flashSelectionButton.addActionListener(this); + + oe.toolbarPanel.add(new cButton(" ", false)); + oe.aConstraints.gridx += 1; oe.aConstraints.weighty = 0; oe.aConstraints.gridwidth = 1; @@ -715,8 +718,7 @@ dropAttributes |= Object3D.TEXTURE; else dropAttributes &= ~Object3D.TEXTURE; - } - else if(e.getSource() == liveCB) + } else if(e.getSource() == liveCB) { cameraView.ToggleLive(); } @@ -2639,7 +2641,7 @@ //gridPanel.setDividerLocation(1.0); //bigPanel.setDividerLocation(0.0); bigThree.remove(scenePanel); - bigThree.remove(cameraPanel); + bigThree.remove(centralPanel); bigThree.remove(XYZPanel); aWindowConstraints.gridx = 0; aWindowConstraints.gridy = 0; @@ -2654,7 +2656,7 @@ // aConstraints.gridheight = 3; aWindowConstraints.gridx = 1; aWindowConstraints.fill = GridBagConstraints.BOTH; - bigThree.add(cameraPanel, aWindowConstraints); + bigThree.add(centralPanel, aWindowConstraints); aWindowConstraints.weightx = 0; aWindowConstraints.gridx = 4; aWindowConstraints.gridwidth = 1; @@ -2667,7 +2669,7 @@ { radio.layout = threeButton; bigThree.remove(scenePanel); - bigThree.remove(cameraPanel); + bigThree.remove(centralPanel); bigThree.remove(XYZPanel); aWindowConstraints.gridx = 0; aWindowConstraints.gridy = 0; @@ -2682,7 +2684,7 @@ // aConstraints.gridheight = 3; aWindowConstraints.gridx = 1; aWindowConstraints.fill = GridBagConstraints.BOTH; - bigThree.add(cameraPanel, aWindowConstraints); + bigThree.add(centralPanel, aWindowConstraints); aWindowConstraints.weightx = 0; aWindowConstraints.gridx = 4; aWindowConstraints.gridwidth = 1; @@ -2695,7 +2697,7 @@ { radio.layout = fourButton; bigThree.remove(scenePanel); - bigThree.remove(cameraPanel); + bigThree.remove(centralPanel); bigThree.remove(XYZPanel); aWindowConstraints.gridx = 0; aWindowConstraints.gridy = 0; @@ -2723,7 +2725,7 @@ { radio.layout = sixButton; bigThree.remove(scenePanel); - bigThree.remove(cameraPanel); + bigThree.remove(centralPanel); bigThree.remove(XYZPanel); aWindowConstraints.gridx = 0; aWindowConstraints.gridy = 0; @@ -2738,7 +2740,7 @@ // aWindowConstraints.gridheight = 3; aWindowConstraints.gridx = 1; aWindowConstraints.fill = GridBagConstraints.BOTH; - bigThree.add(cameraPanel, aWindowConstraints); + bigThree.add(centralPanel, aWindowConstraints); aWindowConstraints.weightx = 0; aWindowConstraints.gridx = 4; aWindowConstraints.gridwidth = 1; @@ -2751,7 +2753,7 @@ { radio.layout = sevenButton; bigThree.remove(scenePanel); - bigThree.remove(cameraPanel); + bigThree.remove(centralPanel); bigThree.remove(XYZPanel); aWindowConstraints.gridx = 0; aWindowConstraints.gridy = 0; @@ -2766,7 +2768,7 @@ // aWindowConstraints.gridheight = 3; aWindowConstraints.gridx = 1; aWindowConstraints.fill = GridBagConstraints.BOTH; - bigThree.add(cameraPanel, aWindowConstraints); + bigThree.add(centralPanel, aWindowConstraints); aWindowConstraints.weightx = 0; aWindowConstraints.gridx = 4; aWindowConstraints.gridwidth = 1; diff --git a/ObjEditor.java b/ObjEditor.java index 4b1a4fd..6877515 100644 --- a/ObjEditor.java +++ b/ObjEditor.java @@ -292,9 +292,11 @@ //normalLensItem.addActionListener(this); cameraMenu.add(revertCameraItem = new MenuItem("Revert Camera")); revertCameraItem.addActionListener(this); - cameraMenu.add(toggleFullItem = new CheckboxMenuItem("Full Screen")); - toggleFullItem.addItemListener(this); - toggleFullItem.setState(CameraPane.FULLSCREEN); + 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); @@ -1158,11 +1160,14 @@ //JPanel worldPanel = // new gov.nasa.worldwind.examples.ApplicationTemplate.AppPanel(null, true); //worldPanel.setName("World"); - /*JPanel*/ cameraPanel = - new JPanel(new BorderLayout()); - cameraPanel.add(cameraView); - //new timeflow.app.TimeflowApp().TimeFlowWindow(cameraPanel, frame); + centralPanel = new JPanel(new BorderLayout()); + timelinePanel = new JPanel(new BorderLayout()); + timelineMenubar = new timeflow.app.TimeflowApp().TimeFlowWindow(timelinePanel); + centralPanel.add(cameraView); + //frame.setJMenuBar(timelineMenubar); + //centralPanel.add(timelinePanel); + //topView.camera = ; //frontView.camera = new Camera(2); //sideView.camera = new Camera(3); @@ -1192,7 +1197,7 @@ gridPanel.add(cameraView); gridPanel.add(XYZPanel); */ - gridPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, cameraPanel, XYZPanel); //new BorderLayout()); + gridPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, centralPanel, XYZPanel); //new BorderLayout()); gridPanel.setContinuousLayout(true); gridPanel.setOneTouchExpandable(true); gridPanel.setDividerLocation(1.0); @@ -1304,7 +1309,7 @@ // aConstraints.gridheight = 3; aWindowConstraints.gridx = 1; aWindowConstraints.fill = GridBagConstraints.BOTH; - bigThree.add(cameraPanel, aWindowConstraints); + bigThree.add(centralPanel, aWindowConstraints); aWindowConstraints.weightx = 0; aWindowConstraints.gridx = 4; aWindowConstraints.gridwidth = 1; @@ -2959,7 +2964,26 @@ // june 2013 copy.HardTouch(); cameraView.repaint(); return; - } else if (event.getSource() == toggleFullItem) + } else if (event.getSource() == toggleTimelineItem) + { + copy.timeline ^= true; + + if (copy.timeline) + { + centralPanel.remove(cameraView); + centralPanel.add(timelinePanel); + frame.setJMenuBar(timelineMenubar); + } + else + { + centralPanel.remove(timelinePanel); + centralPanel.add(cameraView); + frame.setJMenuBar(null); + } + + frame.validate(); + return; + } else if (event.getSource() == toggleFullScreenItem) { if (CameraPane.FULLSCREEN) { @@ -3221,9 +3245,9 @@ cameraView.RevertCamera(); cameraView.repaint(); return; - } else if (event.getSource() == textureButton) - { - return; // true; +// } else if (event.getSource() == textureButton) +// { +// return; // true; } else // combos... if (event.getSource() == texresMenu) { @@ -4445,7 +4469,8 @@ MenuItem revertCameraItem; CheckboxMenuItem toggleLiveItem; MenuItem stepItem; - CheckboxMenuItem toggleFullItem; + CheckboxMenuItem toggleFullScreenItem; + CheckboxMenuItem toggleTimelineItem; CheckboxMenuItem toggleRenderItem; CheckboxMenuItem toggleDebugItem; CheckboxMenuItem toggleFrustumItem; @@ -4473,10 +4498,12 @@ JSplitPane bigPanel; JPanel bigThree; JTabbedPane scenePanel; - JPanel cameraPanel; + JPanel centralPanel; + JPanel timelinePanel; + JMenuBar timelineMenubar; JSplitPane framePanel; JTextArea/*Field*/ nameField; - cButton textureButton; + //cButton textureButton; cButton okButton; cButton applyButton; cButton cancelButton; diff --git a/Object3D.java b/Object3D.java index f6cf69b..27c3158 100644 --- a/Object3D.java +++ b/Object3D.java @@ -285,6 +285,7 @@ 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/cButton.java b/cButton.java index 5f82877..1a6a27a 100644 --- a/cButton.java +++ b/cButton.java @@ -7,4 +7,14 @@ //setBorder(new javax.swing.border.EmptyBorder(0,0,0,0)); setBorder(new javax.swing.border.EtchedBorder()); } + + cButton(String name, boolean border) + { + super(name); + + if (border) + setBorder(new javax.swing.border.EtchedBorder()); + else + setBorder(new javax.swing.border.EmptyBorder(0,0,0,0)); + } } diff --git a/timeflow/app/TimeflowApp.java b/timeflow/app/TimeflowApp.java index 4c1f460..4826184 100755 --- a/timeflow/app/TimeflowApp.java +++ b/timeflow/app/TimeflowApp.java @@ -68,7 +68,7 @@ } }; - public void TimeFlowWindow(Container container, JFrame frame) throws HeadlessException + public JMenuBar TimeFlowWindow(Container container) throws HeadlessException { // read example directory String[] ex = getVisibleFiles("settings/examples"); @@ -172,7 +172,8 @@ }); JMenuBar menubar = new JMenuBar(); - frame.setJMenuBar(menubar); + + // frame.setJMenuBar(menubar); JMenu fileMenu = new JMenu("File"); menubar.add(fileMenu); @@ -340,7 +341,7 @@ } JMenu helpMenu = new JMenu("Help"); - menubar.add(helpMenu); + //menubar.add(helpMenu); helpMenu.add(new WebDocAction(this)); @@ -372,6 +373,8 @@ } } }); + + return menubar; } void splash(boolean visible) @@ -404,7 +407,7 @@ Container container = getContentPane(); - TimeFlowWindow(container, this); + TimeFlowWindow(container); } void makeRecentFileMenu() -- Gitblit v1.6.2