1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-09 18:56:02 +02:00

fixed: when serial port in use, ask if connected terminal should be closed.

This commit is contained in:
Michael Scharf 2007-09-26 21:17:16 +00:00
parent 2ef6949e94
commit e969407d60
3 changed files with 4 additions and 19 deletions

View file

@ -58,7 +58,6 @@ public class SerialConnectWorker extends Thread {
fConn.setSerialPort(serialPort); fConn.setSerialPort(serialPort);
fControl.setState(TerminalState.CONNECTED); fControl.setState(TerminalState.CONNECTED);
} catch (PortInUseException portInUseException) { } catch (PortInUseException portInUseException) {
fConn.setPortInUse(true);
fControl.setState(TerminalState.CLOSED); fControl.setState(TerminalState.CLOSED);
fControl.setMsg("Connection Error!\n" + portInUseException.getMessage()); //$NON-NLS-1$ fControl.setMsg("Connection Error!\n" + portInUseException.getMessage()); //$NON-NLS-1$

View file

@ -40,7 +40,6 @@ public class SerialConnector implements ITerminalConnector {
private SerialPort fSerialPort; private SerialPort fSerialPort;
private CommPortIdentifier fSerialPortIdentifier; private CommPortIdentifier fSerialPortIdentifier;
private SerialPortHandler fTerminalSerialPortHandler; private SerialPortHandler fTerminalSerialPortHandler;
private boolean fIsPortInUse;
private SerialSettings fSettings; private SerialSettings fSettings;
public SerialConnector() { public SerialConnector() {
} }
@ -168,13 +167,6 @@ public class SerialConnector implements ITerminalConnector {
SerialPortHandler getSerialPortHandler() { SerialPortHandler getSerialPortHandler() {
return fTerminalSerialPortHandler; return fTerminalSerialPortHandler;
} }
public boolean isPortInUse() {
return fIsPortInUse;
}
public void setPortInUse(boolean b) {
fIsPortInUse=true;
}
public ISerialSettings getSerialSettings() { public ISerialSettings getSerialSettings() {
return fSettings; return fSettings;
} }

View file

@ -16,18 +16,17 @@
*******************************************************************************/ *******************************************************************************/
package org.eclipse.tm.internal.terminal.serial; package org.eclipse.tm.internal.terminal.serial;
import java.io.IOException;
import java.text.MessageFormat;
import gnu.io.CommPortOwnershipListener; import gnu.io.CommPortOwnershipListener;
import gnu.io.SerialPortEvent; import gnu.io.SerialPortEvent;
import gnu.io.SerialPortEventListener; import gnu.io.SerialPortEventListener;
import java.io.IOException;
import java.text.MessageFormat;
import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Display;
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl;
import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.Logger;
import org.eclipse.tm.internal.terminal.provisional.api.TerminalState;
/** /**
* UNDER CONSTRUCTION * UNDER CONSTRUCTION
@ -68,11 +67,6 @@ public class SerialPortHandler implements
} }
public void onSerialOwnershipRequested(Object data) { public void onSerialOwnershipRequested(Object data) {
if (fConn.isPortInUse()) {
fConn.setPortInUse(false);
return;
}
Display.getDefault().asyncExec(new Runnable() { Display.getDefault().asyncExec(new Runnable() {
public void run() { public void run() {
String[] args = new String[] { fConn.getSerialSettings().getSerialPort() }; String[] args = new String[] { fConn.getSerialSettings().getSerialPort() };
@ -80,7 +74,7 @@ public class SerialPortHandler implements
if (!MessageDialog.openQuestion(fControl.getShell(), SerialMessages.PROP_TITLE, strMsg)) if (!MessageDialog.openQuestion(fControl.getShell(), SerialMessages.PROP_TITLE, strMsg))
return; return;
fControl.setState(TerminalState.CONNECTING); fConn.disconnect();
} }
}); });