diff --git a/lib/Graph3d/linux/Graph3d.jar b/lib/Graph3d/linux/Graph3d.jar index f04d1608..fc655666 100644 Binary files a/lib/Graph3d/linux/Graph3d.jar and b/lib/Graph3d/linux/Graph3d.jar differ diff --git a/lib/Graph3d/windows/Graph3d.jar b/lib/Graph3d/windows/Graph3d.jar index 3fcda8b4..42d6989f 100644 Binary files a/lib/Graph3d/windows/Graph3d.jar and b/lib/Graph3d/windows/Graph3d.jar differ diff --git a/src/enginuity/ECUEditor.java b/src/enginuity/ECUEditor.java index 65c17ef1..90106faa 100644 --- a/src/enginuity/ECUEditor.java +++ b/src/enginuity/ECUEditor.java @@ -425,70 +425,5 @@ public class ECUEditor extends JFrame implements WindowListener, PropertyChangeL return baos.toByteArray(); } - public static void main(String args[]) { - // try create socket listener for shell opening new files - ServerSocket sock = null; // original server socket - String serverName = "localhost"; - Socket clientSocket = null; // socket created by accept - PrintWriter pw = null; // socket output stream - BufferedReader br = null; // socket input stream - int serverPort = 8753; - - try { - sock = new java.net.ServerSocket(serverPort); // create socket and bind to port - sock.close(); - - } catch (Exception ex) { - // pass filename if file present - if (args.length > 0) { - - try { - Socket socket = new java.net.Socket(serverName,serverPort); // create socket and connect - pw = new java.io.PrintWriter(socket.getOutputStream(), true); // create reader and writer - br = new java.io.BufferedReader(new java.io.InputStreamReader(socket.getInputStream())); - pw.println(args[0]); // send msg to the server - String answer = br.readLine(); // get data from the server - - pw.close(); // close everything - br.close(); - socket.close(); - - } catch (Throwable e) { e.printStackTrace(); } - // after sending filename, exit - System.exit(0); - } - } - - // launch editor - ECUEditor editor = new ECUEditor(); - - // open files, if passed - try { - if (args.length > 0) { - editor.openImage(new File(args[0])); - } - } catch (Exception ex) { ex.printStackTrace(); } - - // listen for files - try { - - while (true) { - sock = new java.net.ServerSocket(serverPort); // create socket and bind to port - clientSocket = sock.accept(); // wait for client to connect - pw = new java.io.PrintWriter(clientSocket.getOutputStream(),true); - br = new java.io.BufferedReader( - new java.io.InputStreamReader(clientSocket.getInputStream())); - String msg = br.readLine(); // read msg from client - - // open file from client - editor.openImage(new File(msg)); - - pw.close(); // close everything - br.close(); - clientSocket.close(); - sock.close(); - } - - } catch (Throwable e) { e.printStackTrace(); } - } + } \ No newline at end of file diff --git a/src/enginuity/ECUEditorManager.java b/src/enginuity/ECUEditorManager.java new file mode 100644 index 00000000..a6e41f87 --- /dev/null +++ b/src/enginuity/ECUEditorManager.java @@ -0,0 +1,13 @@ +package enginuity; + +public class ECUEditorManager { + private static ECUEditor editor = null; + + public static ECUEditor getECUEditor(){ + if(editor == null){ + editor = new ECUEditor(); + } + + return editor; + } +} diff --git a/src/enginuity/ECUExec.java b/src/enginuity/ECUExec.java new file mode 100644 index 00000000..2ab39b7f --- /dev/null +++ b/src/enginuity/ECUExec.java @@ -0,0 +1,76 @@ +package enginuity; + +import java.io.BufferedReader; +import java.io.File; +import java.io.PrintWriter; +import java.net.ServerSocket; +import java.net.Socket; + +public class ECUExec { + public static void main(String args[]) { + // try create socket listener for shell opening new files + ServerSocket sock = null; // original server socket + String serverName = "localhost"; + Socket clientSocket = null; // socket created by accept + PrintWriter pw = null; // socket output stream + BufferedReader br = null; // socket input stream + int serverPort = 8753; + + try { + sock = new java.net.ServerSocket(serverPort); // create socket and bind to port + sock.close(); + + } catch (Exception ex) { + // pass filename if file present + if (args.length > 0) { + + try { + Socket socket = new java.net.Socket(serverName,serverPort); // create socket and connect + pw = new java.io.PrintWriter(socket.getOutputStream(), true); // create reader and writer + br = new java.io.BufferedReader(new java.io.InputStreamReader(socket.getInputStream())); + pw.println(args[0]); // send msg to the server + String answer = br.readLine(); // get data from the server + + pw.close(); // close everything + br.close(); + socket.close(); + + } catch (Throwable e) { e.printStackTrace(); } + // after sending filename, exit + System.exit(0); + } + } + + // launch editor + ECUEditor editor = ECUEditorManager.getECUEditor(); + + // open files, if passed + try { + if (args.length > 0) { + editor.openImage(new File(args[0])); + } + } catch (Exception ex) { ex.printStackTrace(); } + + // listen for files + try { + + while (true) { + sock = new java.net.ServerSocket(serverPort); // create socket and bind to port + clientSocket = sock.accept(); // wait for client to connect + pw = new java.io.PrintWriter(clientSocket.getOutputStream(),true); + br = new java.io.BufferedReader( + new java.io.InputStreamReader(clientSocket.getInputStream())); + String msg = br.readLine(); // read msg from client + + // open file from client + editor.openImage(new File(msg)); + + pw.close(); // close everything + br.close(); + clientSocket.close(); + sock.close(); + } + + } catch (Throwable e) { e.printStackTrace(); } + } +} diff --git a/src/enginuity/swing/TableFrame.java b/src/enginuity/swing/TableFrame.java index 6ef611b5..87d7a18d 100644 --- a/src/enginuity/swing/TableFrame.java +++ b/src/enginuity/swing/TableFrame.java @@ -6,12 +6,9 @@ import enginuity.maps.Table; import java.awt.BorderLayout; import javax.swing.BorderFactory; import javax.swing.JInternalFrame; -import javax.swing.JPanel; import javax.swing.event.InternalFrameEvent; import javax.swing.event.InternalFrameListener; -import com.ecm.graphics.Graph3dJPanel; - public class TableFrame extends JInternalFrame implements InternalFrameListener { private Table table; @@ -32,17 +29,6 @@ public class TableFrame extends JInternalFrame implements InternalFrameListener addInternalFrameListener(this); } - public TableFrame(Graph3dJPanel graph3dJPanel) { - super("Test Title", true, true); - this.add(graph3dJPanel); - setFrameIcon(null); - setBorder(BorderFactory.createBevelBorder(0)); - setVisible(false); - setDefaultCloseOperation(HIDE_ON_CLOSE); - addInternalFrameListener(this); - } - - public TableToolBar getToolBar() { return toolBar; } diff --git a/src/enginuity/swing/TableToolBar.java b/src/enginuity/swing/TableToolBar.java index 39d18b93..87551577 100644 --- a/src/enginuity/swing/TableToolBar.java +++ b/src/enginuity/swing/TableToolBar.java @@ -1,10 +1,12 @@ package enginuity.swing; +import enginuity.ECUEditorManager; import enginuity.maps.DataCell; import enginuity.maps.Scale; import enginuity.maps.Table; import enginuity.maps.Table3D; +import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; @@ -21,12 +23,14 @@ import java.util.Iterator; import java.util.Vector; import javax.swing.AbstractAction; import javax.swing.Action; +import javax.swing.BorderFactory; import javax.swing.ImageIcon; import javax.swing.InputMap; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JDesktopPane; import javax.swing.JFormattedTextField; +import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JTextArea; @@ -256,9 +260,25 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene String zLabel = ((Table3D)table).getYAxis().getName(); String yLabel = ((Table3D)table).getCategory(); + //TODO Figure out mix between heavy weight and lightweight components + //Below is initial work on making graph3d a JInternal Frame + /* Graph3dJPanel graph3dJPanel = new Graph3dJPanel(graphValues, testX, testZ,xLabel, yLabel, zLabel); - TableFrame frame = new TableFrame(graph3dJPanel); - RomTree.container.displayTable(frame); + graph3dJPanel.addModifiedDataListener(this); + JInternalFrame graphFrame = new JInternalFrame(); + graphFrame.add(graph3dJPanel); + graphFrame.setSize(200, 200); + + graphFrame.setFrameIcon(null); + graphFrame.setBorder(BorderFactory.createBevelBorder(0)); + graphFrame.setVisible(true); + graphFrame.setDefaultCloseOperation(JInternalFrame.HIDE_ON_CLOSE); + ECUEditorManager.getECUEditor().rightPanel.add(graphFrame); + */ + + //TODO Remove this when above is working + Graph3dManager.openGraph3dFrame(graphValues, testX, testZ,xLabel, yLabel, zLabel, table.getName()); + Graph3dManager.addListener(this); }