Updated enginuity to use singleton for ECUEditor for easier access to MDI

git-svn-id: http://svn.3splooges.com/romraider-arch/trunk@255 d2e2e1cd-ba16-0410-be16-b7c4453c7c2d
This commit is contained in:
Tgui 2006-08-23 04:01:45 +00:00
parent 199c828f09
commit 1cf0b3c028
7 changed files with 112 additions and 82 deletions

Binary file not shown.

Binary file not shown.

View File

@ -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(); }
}
}

View File

@ -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;
}
}

View File

@ -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(); }
}
}

View File

@ -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;
}

View File

@ -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);
}