Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/DialogConnect.java')
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/DialogConnect.java183
1 files changed, 183 insertions, 0 deletions
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/DialogConnect.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/DialogConnect.java
new file mode 100644
index 0000000000..30879c8274
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/DialogConnect.java
@@ -0,0 +1,183 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * Otavio Ferranti - Eldorado Research Institute - Bug 255255 [tml][proctools] Add extension points
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.ui;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import org.eclipse.jface.dialogs.TitleAreaDialog;
+import org.eclipse.sequoyah.device.linuxtools.tools.ITool;
+import org.eclipse.sequoyah.device.linuxtools.utilities.ProtocolDescriptor;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+
+
+/**
+ * @author Otavio Ferranti
+ */
+public class DialogConnect extends TitleAreaDialog {
+
+ final private String WINDOW_TITLE = Messages.OpenConnectionDialog_Window_Title;
+ final private String WINDOW_MESSAGE = Messages.OpenConnectionDialog_Window_Message;
+ final private String LABEL_HOST = Messages.OpenConnectionDialog_Label_Host;
+ final private String LABEL_PORT = Messages.OpenConnectionDialog_Label_Port;
+ final private String LABEL_PROTOCOL = Messages.OpenConnectionDialog_Label_Protocol;
+
+ private Text hostText;
+ private Text portText;
+ private Combo protocolCombo;
+
+ private ITool tool = null;
+
+ private List <ProtocolDescriptor> pdList = null;
+
+ /**
+ * The constructor.
+ * @param parent
+ */
+ public DialogConnect(Shell parent, ITool tool) {
+ super(parent);
+ this.tool = tool;
+ this.pdList = tool.getProtocolsDescriptors();
+ }
+
+ /**
+ *
+ */
+ private int getProtocolDefaultPort(String name) {
+ int retVal = -1;
+ for (ProtocolDescriptor pd : this.pdList) {
+ if(pd.getName().equalsIgnoreCase(name)) {
+ retVal = pd.getDefaultPort();;
+ break;
+ };
+ }
+ return retVal;
+ }
+
+ /**
+ *
+ */
+ private ProtocolDescriptor getProcotolDescriptor(String name) {
+ ProtocolDescriptor retVal = null;
+ for (ProtocolDescriptor pd : this.pdList) {
+ if(pd.getName().equalsIgnoreCase(name)) {
+ retVal = pd;
+ break;
+ };
+ }
+ return retVal;
+ }
+
+ /**
+ *
+ */
+ private String[] getProcotolsNames() {
+ List<String> aux = new LinkedList<String>();
+ for (ProtocolDescriptor pd : this.pdList) {
+ aux.add(pd.getName());
+ }
+ String[] retVal = new String[1];
+ retVal = aux.toArray(retVal);
+ return retVal;
+ }
+
+ /**
+ *
+ */
+ private void updatePortToDefault() {
+ String selection = protocolCombo.getText();
+ int port = this.getProtocolDefaultPort(selection);
+ portText.setText(new Integer(port).toString());
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.TitleAreaDialog#getInitialSize()
+ */
+ protected Point getInitialSize() {
+ return super.getInitialSize();
+ }
+
+ protected Control createDialogArea(Composite parent) {
+
+ setTitle(WINDOW_TITLE);
+ setMessage(WINDOW_MESSAGE);
+
+ Composite dialogArea = new Composite(parent, SWT.NONE);
+ GridLayout gridLayout = new GridLayout(2, false);
+
+ gridLayout.marginLeft = 7;
+ gridLayout.marginRight = 7;
+
+ dialogArea.setLayout(gridLayout);
+ dialogArea.setLayoutData(new GridData(GridData.FILL_BOTH));
+ dialogArea.setFont(parent.getFont());
+
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+
+ Label hostLabel = new Label(dialogArea, SWT.NULL);
+ hostLabel.setText(LABEL_HOST);
+ hostText = new Text(dialogArea, SWT.BORDER);
+ hostText.setLayoutData(gridData);
+
+ Label portLabel = new Label(dialogArea, SWT.NULL);
+ portLabel.setText(LABEL_PORT);
+ portText = new Text(dialogArea, SWT.BORDER);
+ portText.setLayoutData(gridData);
+
+ Label protocolLabel = new Label(dialogArea, SWT.NULL);
+ protocolLabel.setText(LABEL_PROTOCOL);
+
+ protocolCombo = new Combo(dialogArea, SWT.READ_ONLY);
+ protocolCombo.setItems(this.getProcotolsNames());
+ protocolCombo.select(0);
+ updatePortToDefault();
+
+ protocolCombo.addListener(SWT.Selection, new Listener () {
+ public void handleEvent(Event e) {
+ updatePortToDefault();
+ }
+ });
+
+ return dialogArea;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.Dialog#okPressed()
+ */
+ protected void okPressed() {
+ tool.disconnect();
+ tool.connect(hostText.getText(),
+ new Integer(portText.getText()),
+ this.getProcotolDescriptor(protocolCombo.getText()));
+ super.okPressed();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.Dialog#cancelPressed()
+ */
+ protected void cancelPressed() {
+ super.cancelPressed();
+ }
+}

Back to the top