From ecaf579303705545735450cbc8b8014d7e062329 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Sat, 07 Jul 2018 18:44:29 -0400
Subject: [PATCH] Timeline integrated
---
ObjEditor.java | 15 ++-
timeflow/app/TimeflowApp.java | 89 ++++++++++------------
GroupEditor.java | 18 ++--
GrafreeD.java | 17 ++--
timeflow/app/TimeflowAppLauncher.java | 92 +++++++++++++----------
5 files changed, 118 insertions(+), 113 deletions(-)
diff --git a/GrafreeD.java b/GrafreeD.java
index ea65a13..ac56d92 100644
--- a/GrafreeD.java
+++ b/GrafreeD.java
@@ -50,7 +50,7 @@
universe.material = new cMaterial();
//god.addChild(universe);
universe.name = "Applet";
- theApplet3D = this;
+ grafreeD = this;
}
/**/
@@ -750,16 +750,17 @@
//Monitor mon=MonitorFactory.start("myFirstMonitor");
standAlone = true;
- theApplet3D = new GrafreeD();
- theApplet3D.universe = new Composite();
- theApplet3D.universe.name = "Scene";
- theApplet3D.universe.material = new cMaterial();
+ grafreeD = new GrafreeD();
+ grafreeD.universe = new Composite();
+ grafreeD.universe.name = "Scene";
+ grafreeD.universe.material = new cMaterial();
// theApplet3D.universe.textures = CameraPane.DEFAULT_TEXTURE;
- theApplet3D.universe.root = true;
- theApplet3D.universe.openEditWindow(null, true); //, true);
+ grafreeD.universe.root = true;
+ grafreeD.universe.openEditWindow(null, true); //, true);
//mon.stop();
//System.out.println(mon);
+ //timeflow.app.TimeflowAppLauncher.GetTimeFlow();
}
// Timer callback
@@ -984,7 +985,7 @@
} while (avail > 0 && numRead >= 0);
return new String(data, 0, pos, "US-ASCII");
}
- public static GrafreeD theApplet3D;
+ public static GrafreeD grafreeD;
public static boolean standAlone = true;
public Composite universe;
public static Object3D clipboard = new Object3D();
diff --git a/GroupEditor.java b/GroupEditor.java
index d7a1c3e..d3c66a5 100644
--- a/GroupEditor.java
+++ b/GroupEditor.java
@@ -1794,7 +1794,7 @@
if (event.getSource() == invariantsItem)
{
System.out.println("Invariants:");
- GrafreeD.theApplet3D.universe.invariants();
+ GrafreeD.grafreeD.universe.invariants();
} else
if (event.getSource() == memoryItem)
{
@@ -2638,7 +2638,7 @@
// bug
//gridPanel.setDividerLocation(1.0);
//bigPanel.setDividerLocation(0.0);
- bigThree.remove(jtp);
+ bigThree.remove(scenePanel);
bigThree.remove(cameraPanel);
bigThree.remove(XYZPanel);
aWindowConstraints.gridx = 0;
@@ -2666,7 +2666,7 @@
if (event.getSource() == threeButton)
{
radio.layout = threeButton;
- bigThree.remove(jtp);
+ bigThree.remove(scenePanel);
bigThree.remove(cameraPanel);
bigThree.remove(XYZPanel);
aWindowConstraints.gridx = 0;
@@ -2694,7 +2694,7 @@
if (event.getSource() == fourButton)
{
radio.layout = fourButton;
- bigThree.remove(jtp);
+ bigThree.remove(scenePanel);
bigThree.remove(cameraPanel);
bigThree.remove(XYZPanel);
aWindowConstraints.gridx = 0;
@@ -2704,7 +2704,7 @@
aWindowConstraints.fill = GridBagConstraints.BOTH;
aWindowConstraints.weightx = 1;
aWindowConstraints.weighty = 1;
- bigThree.add(jtp, aWindowConstraints);
+ bigThree.add(scenePanel, aWindowConstraints);
aWindowConstraints.weightx = 1;
aWindowConstraints.gridwidth = 3;
// aConstraints.gridheight = 3;
@@ -2722,7 +2722,7 @@
if (event.getSource() == sixButton)
{
radio.layout = sixButton;
- bigThree.remove(jtp);
+ bigThree.remove(scenePanel);
bigThree.remove(cameraPanel);
bigThree.remove(XYZPanel);
aWindowConstraints.gridx = 0;
@@ -2732,7 +2732,7 @@
aWindowConstraints.fill = GridBagConstraints.VERTICAL;
aWindowConstraints.weightx = 0;
aWindowConstraints.weighty = 1;
- bigThree.add(jtp, aWindowConstraints);
+ bigThree.add(scenePanel, aWindowConstraints);
aWindowConstraints.weightx = 1;
aWindowConstraints.gridwidth = 3;
// aWindowConstraints.gridheight = 3;
@@ -2750,7 +2750,7 @@
if (event.getSource() == sevenButton)
{
radio.layout = sevenButton;
- bigThree.remove(jtp);
+ bigThree.remove(scenePanel);
bigThree.remove(cameraPanel);
bigThree.remove(XYZPanel);
aWindowConstraints.gridx = 0;
@@ -2760,7 +2760,7 @@
aWindowConstraints.fill = GridBagConstraints.VERTICAL;
aWindowConstraints.weightx = 0;
aWindowConstraints.weighty = 1;
- bigThree.add(jtp, aWindowConstraints);
+ bigThree.add(scenePanel, aWindowConstraints);
aWindowConstraints.weightx = 1;
aWindowConstraints.gridwidth = 3;
// aWindowConstraints.gridheight = 3;
diff --git a/ObjEditor.java b/ObjEditor.java
index a7f467c..4b1a4fd 100644
--- a/ObjEditor.java
+++ b/ObjEditor.java
@@ -1161,6 +1161,7 @@
/*JPanel*/ cameraPanel =
new JPanel(new BorderLayout());
cameraPanel.add(cameraView);
+ //new timeflow.app.TimeflowApp().TimeFlowWindow(cameraPanel, frame);
//topView.camera = ;
//frontView.camera = new Camera(2);
@@ -1244,15 +1245,15 @@
scrollpane.setWheelScrollingEnabled(true);
scrollpane.addMouseWheelListener(this); // Default not fast enough
- /*JTabbedPane*/ jtp = new JTabbedPane();
- jtp.add(scrollpane);
+ /*JTabbedPane*/ scenePanel = new JTabbedPane();
+ scenePanel.add(scrollpane);
- jtp.add(FSPane = new cFileSystemPane(this));
+ scenePanel.add(FSPane = new cFileSystemPane(this));
optionsPanel = new JPanel(new GridBagLayout());
optionsPanel.setName("Options");
- jtp.add(optionsPanel);
+ scenePanel.add(optionsPanel);
/*
@@ -1275,7 +1276,7 @@
jtp.add(tree);
*/
- bigPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, jtp, gridPanel);
+ bigPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, scenePanel, gridPanel);
bigPanel.setContinuousLayout(true);
bigPanel.setOneTouchExpandable(true);
bigPanel.setDividerLocation(0.8);
@@ -1297,7 +1298,7 @@
aWindowConstraints.fill = GridBagConstraints.VERTICAL;
aWindowConstraints.weightx = 0;
aWindowConstraints.weighty = 1;
- bigThree.add(jtp, aWindowConstraints);
+ bigThree.add(scenePanel, aWindowConstraints);
aWindowConstraints.weightx = 1;
aWindowConstraints.gridwidth = 3;
// aConstraints.gridheight = 3;
@@ -4471,7 +4472,7 @@
JSplitPane gridPanel;
JSplitPane bigPanel;
JPanel bigThree;
- JTabbedPane jtp;
+ JTabbedPane scenePanel;
JPanel cameraPanel;
JSplitPane framePanel;
JTextArea/*Field*/ nameField;
diff --git a/timeflow/app/TimeflowApp.java b/timeflow/app/TimeflowApp.java
index b7b8442..4c1f460 100755
--- a/timeflow/app/TimeflowApp.java
+++ b/timeflow/app/TimeflowApp.java
@@ -25,7 +25,6 @@
public class TimeflowApp extends JFrame
{
-
public TFModel model = new TFModel();
public JFileChooser fileChooser;
AboutWindow splash;
@@ -39,7 +38,6 @@
LinkTabPane leftPanel;
TFListener filterMenuMaker = new TFListener()
{
-
@Override
public void note(TFEvent e)
{
@@ -70,35 +68,8 @@
}
};
- void splash(boolean visible)
+ public void TimeFlowWindow(Container container, JFrame frame) throws HeadlessException
{
- splash.setVisible(visible);
- }
-
- public void init() throws Exception
- {
- Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
- setBounds(0, 0, Math.min(d.width, 1200), Math.min(d.height, 900));
- setTitle(Display.version());
- setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
- final QuitAction quitAction = new QuitAction(this, model);
- addWindowListener(new WindowAdapter()
- {
-
- @Override
- public void windowClosing(WindowEvent e)
- {
- quitAction.quit();
- }
-
- public void windowStateChanged(WindowEvent e)
- {
- repaint();
- }
- });
- Image icon = Toolkit.getDefaultToolkit().getImage("images/icon.gif");
- setIconImage(icon);
-
// read example directory
String[] ex = getVisibleFiles("settings/examples");
int n = ex.length;
@@ -115,11 +86,11 @@
templates = getVisibleFiles("settings/templates");
fileChooser = new JFileChooser(state.getCurrentFile());
- getContentPane().setLayout(new BorderLayout());
+ container.setLayout(new BorderLayout());
// left tab area, with vertical gray divider.
JPanel leftHolder = new JPanel();
- getContentPane().add(leftHolder, BorderLayout.WEST);
+ container.add(leftHolder, BorderLayout.WEST);
leftHolder.setLayout(new BorderLayout());
JPanel pad = new Pad(3, 3);
@@ -148,11 +119,10 @@
// center tab area
final LinkTabPane center = new LinkTabPane();
- getContentPane().add(center, BorderLayout.CENTER);
+ container.add(center, BorderLayout.CENTER);
center.addPropertyChangeListener(new PropertyChangeListener()
{
-
@Override
public void propertyChange(PropertyChangeEvent evt)
{
@@ -187,7 +157,6 @@
// but then, once data is loaded, switch directly to the timeline view.
model.addListener(new TFListener()
{
-
@Override
public void note(TFEvent e)
{
@@ -203,7 +172,7 @@
});
JMenuBar menubar = new JMenuBar();
- setJMenuBar(menubar);
+ frame.setJMenuBar(menubar);
JMenu fileMenu = new JMenu("File");
menubar.add(fileMenu);
@@ -236,7 +205,6 @@
fileMenu.add(open);
open.addActionListener(new ActionListener()
{
-
@Override
public void actionPerformed(ActionEvent e)
{
@@ -254,7 +222,6 @@
fileMenu.add(impDel);
impDel.addActionListener(new ActionListener()
{
-
@Override
public void actionPerformed(ActionEvent e)
{
@@ -273,7 +240,6 @@
save.setEnabled(false);
save.addActionListener(new ActionListener()
{
-
@Override
public void actionPerformed(ActionEvent e)
{
@@ -283,7 +249,6 @@
});
model.addListener(new TFListener()
{
-
@Override
public void note(TFEvent e)
{
@@ -295,7 +260,6 @@
fileMenu.add(saveAs);
saveAs.addActionListener(new ActionListener()
{
-
@Override
public void actionPerformed(ActionEvent e)
{
@@ -309,7 +273,6 @@
fileMenu.add(exportTSV);
exportTSV.addActionListener(new ActionListener()
{
-
@Override
public void actionPerformed(ActionEvent e)
{
@@ -320,7 +283,6 @@
fileMenu.add(exportCSV);
exportCSV.addActionListener(new ActionListener()
{
-
@Override
public void actionPerformed(ActionEvent e)
{
@@ -331,15 +293,14 @@
fileMenu.add(exportHTML);
exportHTML.addActionListener(new ActionListener()
{
-
@Override
public void actionPerformed(ActionEvent e)
{
exportHtml();
}
});
- fileMenu.addSeparator();
- fileMenu.add(quitAction);
+// fileMenu.addSeparator();
+// fileMenu.add(quitAction);
JMenu editMenu = new JMenu("Edit");
menubar.add(editMenu);
@@ -370,7 +331,6 @@
final String file = examples[i][1];
example.addActionListener(new ActionListener()
{
-
@Override
public void actionPerformed(ActionEvent e)
{
@@ -388,7 +348,6 @@
helpMenu.add(about);
about.addActionListener(new ActionListener()
{
-
@Override
public void actionPerformed(ActionEvent e)
{
@@ -398,7 +357,6 @@
model.addListener(new TFListener()
{
-
@Override
public void note(TFEvent e)
{
@@ -416,6 +374,39 @@
});
}
+ void splash(boolean visible)
+ {
+ splash.setVisible(visible);
+ }
+
+ public void init() throws Exception
+ {
+ Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
+ setBounds(0, 0, Math.min(d.width, 1200), Math.min(d.height, 900));
+ setTitle(Display.version());
+ setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
+// final QuitAction quitAction = new QuitAction(this, model);
+// addWindowListener(new WindowAdapter()
+// {
+// @Override
+// public void windowClosing(WindowEvent e)
+// {
+// quitAction.quit();
+// }
+//
+// public void windowStateChanged(WindowEvent e)
+// {
+// repaint();
+// }
+// });
+ Image icon = Toolkit.getDefaultToolkit().getImage("images/icon.gif");
+ setIconImage(icon);
+
+ Container container = getContentPane();
+
+ TimeFlowWindow(container, this);
+ }
+
void makeRecentFileMenu()
{
openRecent.removeAll();
diff --git a/timeflow/app/TimeflowAppLauncher.java b/timeflow/app/TimeflowAppLauncher.java
index f034666..311adbb 100755
--- a/timeflow/app/TimeflowAppLauncher.java
+++ b/timeflow/app/TimeflowAppLauncher.java
@@ -7,46 +7,58 @@
// For some reason we have to do this in a separate class in order to
// get the menubar working right on the Mac.
+public class TimeflowAppLauncher
+{
+ public static void main(String[] args) throws Exception
+ {
+ System.setProperty("apple.laf.useScreenMenuBar", "true");
+ System.setProperty("com.apple.mrj.application.apple.menu.about.name", "TimeFlow");
+ System.out.println("Running " + Display.version());
-public class TimeflowAppLauncher {
- public static void main(String[] args) throws Exception
- {
- System.setProperty("apple.laf.useScreenMenuBar", "true");
- System.setProperty("com.apple.mrj.application.apple.menu.about.name", "TimeFlow");
- System.out.println("Running "+Display.version());
-
- try {
- UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
- }
- catch (Exception e) {
- System.out.println("Can't set system look & feel");
- }
-
- final TimeflowApp t=new TimeflowApp();
- t.splash=new AboutWindow(t, t.model.getDisplay());
- t.splash(true);
- SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- try
- {
- t.init();
- t.setVisible(true);
- }
- catch (Exception e)
- {
- e.printStackTrace(System.out);
- }
- t.splash.addMouseListener(new MouseAdapter() {
+ try
+ {
+ UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
+ } catch (Exception e)
+ {
+ System.out.println("Can't set system look & feel");
+ }
+
+ GetTimeFlow();
+ }
- @Override
- public void mouseClicked(MouseEvent e) {
- t.splash.setVisible(false);
- }}
- );
- t.splash(false);
- //t.splash.message=t.model.getDisplay().version();
- }});
-
- }
+ public static TimeflowApp GetTimeFlow()
+ {
+ final TimeflowApp t = new TimeflowApp();
+ t.splash = new AboutWindow(t, t.model.getDisplay());
+ t.splash(true);
+ SwingUtilities.invokeLater(new Runnable()
+ {
+
+ @Override
+ public void run()
+ {
+ try
+ {
+ t.init();
+ t.setVisible(true);
+ } catch (Exception e)
+ {
+ e.printStackTrace(System.out);
+ }
+ t.splash.addMouseListener(new MouseAdapter()
+ {
+
+ @Override
+ public void mouseClicked(MouseEvent e)
+ {
+ t.splash.setVisible(false);
+ }
+ });
+ t.splash(false);
+ //t.splash.message=t.model.getDisplay().version();
+ }
+ });
+
+ return t;
+ }
}
--
Gitblit v1.6.2