sdkcreationmw/sdkconnectivityfw/emuconnectmanager/epdt_java/src/com/nokia/epdt/plugins/s60/pan/PanPluginJPanel.java
author rajpuroh
Wed, 21 Apr 2010 09:56:53 +0530
changeset 1 ac50fd48361b
parent 0 b26acd06ea60
permissions -rw-r--r--
Second Contribution
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     1
/*
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
     2
 * Copyright (c) 2000 - 2006 Nokia Corporation and/or its subsidiary(-ies).
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
     3
 * All rights reserved.
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
     4
 * This component and the accompanying materials are made available
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
     5
 * under the terms of the License "Eclipse Public License v1.0"
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
     6
 * which accompanies this distribution, and is available
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     8
 *
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
     9
 * Initial Contributors:
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    10
 * Nokia Corporation - initial contribution.
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    11
 *
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    12
 * Contributors:
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    13
 *
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    14
 * Description: 
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    15
 *
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    16
 */
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    17
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    18
package com.nokia.epdt.plugins.s60.pan;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    19
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    20
/* java.awt */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    21
import java.awt.Component;
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    22
import java.awt.GridBagConstraints;
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    23
import java.awt.GridBagLayout;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    24
import java.awt.event.ActionEvent;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    25
import java.awt.event.ActionListener;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    26
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    27
import javax.swing.ButtonGroup;
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    28
import javax.swing.JComboBox;
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    29
import javax.swing.JLabel;
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    30
import javax.swing.JPanel;
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    31
import javax.swing.JRadioButton;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    32
import javax.swing.border.EmptyBorder;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    33
import javax.swing.border.TitledBorder;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    34
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    35
import org.apache.log4j.Logger;
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    36
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    37
import com.nokia.epdt.core.CoreUtils;
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    38
import com.nokia.wtk.util.gui.BorderPanel;
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    39
import com.nokia.wtk.util.gui.GUI;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    40
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    41
/**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    42
 * PanPluginJPanel
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    43
 *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    44
 * @version 1.0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    45
 */
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    46
class PanPluginJPanel extends JPanel {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    47
	private static Logger log = Logger.getLogger(PanPluginJPanel.class);
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    48
	private static final int GAP = 6;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    49
	private static final String AUTO_PORT = "auto";
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    50
	private static final String[] HCI_MODULES = new String[] { "BCSP"/*, "H4", "USB"*/ };
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    51
	private static final int HCI_USB_INDEX = 2;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    52
	private static final int MAX_COM_PORTS = 16;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    53
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    54
	private PanModel panModel;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    55
	private PanPlugin panPlugin;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    56
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    57
	private boolean updateInProgress = false;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    58
	private JComboBox bluetoothComPortJComboBox;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    59
	private JRadioButton bluetoothDisableJRadioButton;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    60
	private JRadioButton bluetoothEnableJRadioButton;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    61
	private JComboBox bluetoothHciJComboBox;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    62
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    63
	/**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    64
	 * Creates new form PanPluginJPanel
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    65
	 * @param plugin the plugin that creates this panel
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    66
	 * @param connected <code>true</code> if we are connected to the emulator
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    67
	 */
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    68
	PanPluginJPanel(PanPlugin plugin) {
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    69
		super(new GridBagLayout());
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    70
		panPlugin = plugin;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    71
		panModel = plugin.getModel();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    72
		initComponents();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    73
	}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    74
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    75
	private static String getResString(String key) {
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    76
		return PanResourceBundle.getInstance().getValue(key);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    77
	}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    78
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    79
	JPanel buildOnePanel(String t, JRadioButton b1, JRadioButton b2, JPanel c) {
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    80
		BorderPanel bp = new BorderPanel(b2);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    81
		bp.getContentPanel().add(c);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    82
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    83
		JPanel p = new JPanel(new GridBagLayout());
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    84
		GridBagConstraints gbc = new GridBagConstraints();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    85
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    86
		gbc.weightx = 1.0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    87
		gbc.gridwidth = GridBagConstraints.REMAINDER;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    88
		gbc.fill = GridBagConstraints.HORIZONTAL;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    89
		gbc.anchor = GridBagConstraints.NORTH;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    90
		gbc.insets.left = bp.getBorder().getBorderInsets(bp).left
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    91
				+ BorderPanel.COMPONENT_INSET_H;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    92
		p.add(b1, gbc);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    93
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    94
		gbc.weighty = 1.0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    95
		gbc.insets.left = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    96
		gbc.fill = GridBagConstraints.BOTH;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    97
		gbc.gridheight = GridBagConstraints.REMAINDER;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    98
		p.add(bp, gbc);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    99
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   100
		int left = BorderPanel.COMPONENT_INSET_H + GAP;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   101
		c.setBorder(new EmptyBorder(0, left, GAP, GAP));
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   102
		p.setBorder(new TitledBorder(t));
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   103
		return p;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   104
	}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   105
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   106
	/** This method is called from within the constructor to
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   107
	 * initialize the form.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   108
	 */
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   109
	private void initComponents() {
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   110
		Object[] btComPorts = new Object[MAX_COM_PORTS];
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   111
		for (int i = 0; i < MAX_COM_PORTS; i++) {
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   112
			String label = Integer.toString(i + 1);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   113
			btComPorts[i] = new ComPortItem(label);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   114
		}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   115
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   116
		bluetoothDisableJRadioButton = new JRadioButton(
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   117
				getResString(PanConstants.BLUETOOTH_DISABLE_LABEL));
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   118
		bluetoothEnableJRadioButton = new JRadioButton(
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   119
				getResString(PanConstants.BLUETOOTH_ENABLE_LABEL));
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   120
		bluetoothComPortJComboBox = new JComboBox(btComPorts);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   121
		bluetoothHciJComboBox = new JComboBox(HCI_MODULES);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   122
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   123
		// Bluetooth
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   124
		JPanel bluetoothEnableJPanel = GUI
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   125
				.createRowPanel(new Component[] {
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   126
						new JLabel(
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   127
								getResString(PanConstants.BLUETOOTH_COM_PORT_LABEL)),
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   128
						bluetoothComPortJComboBox,
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   129
						new JLabel(
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   130
								getResString(PanConstants.BLUETOOTH_COM_HCI_LABEL)),
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   131
						bluetoothHciJComboBox });
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   132
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   133
		JPanel bluetoothJPanel = buildOnePanel(
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   134
				getResString(PanConstants.BLUETOOTH_BORDER_TITLE),
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   135
				bluetoothDisableJRadioButton, bluetoothEnableJRadioButton,
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   136
				bluetoothEnableJPanel);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   137
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   138
		ButtonGroup bluetoothButtonGroup = new ButtonGroup();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   139
		bluetoothButtonGroup.add(bluetoothDisableJRadioButton);
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   140
		bluetoothDisableJRadioButton.addActionListener(new ActionListener() {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   141
			public void actionPerformed(ActionEvent evt) {
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   142
				bluetoothDisableJRadioButtonActionPerformed(evt);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   143
			}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   144
		});
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   145
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   146
		bluetoothButtonGroup.add(bluetoothEnableJRadioButton);
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   147
		bluetoothEnableJRadioButton.addActionListener(new ActionListener() {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   148
			public void actionPerformed(ActionEvent evt) {
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   149
				bluetoothEnableJRadioButtonActionPerformed(evt);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   150
			}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   151
		});
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   152
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   153
		bluetoothComPortJComboBox.addActionListener(new ActionListener() {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   154
			public void actionPerformed(ActionEvent evt) {
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   155
				bluetoothComPortJComboBoxActionPerformed(evt);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   156
			}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   157
		});
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   158
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   159
		bluetoothHciJComboBox.addActionListener(new ActionListener() {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   160
			public void actionPerformed(ActionEvent evt) {
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   161
				bluetoothHciJComboBoxActionPerformed(evt);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   162
			}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   163
		});
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   164
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   165
		JPanel row = new JPanel(new GridBagLayout());
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   166
		GridBagConstraints gbc = new GridBagConstraints();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   167
		gbc.gridheight = GridBagConstraints.REMAINDER;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   168
		gbc.fill = GridBagConstraints.BOTH;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   169
		gbc.insets.right = GAP;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   170
		gbc.weightx = 1.0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   171
		gbc.weighty = 1.0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   172
		row.add(bluetoothJPanel, gbc);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   173
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   174
		gbc.insets.right = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   175
		gbc.gridwidth = GridBagConstraints.REMAINDER;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   176
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   177
		gbc.gridheight = 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   178
		gbc.fill = GridBagConstraints.HORIZONTAL;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   179
		gbc.anchor = GridBagConstraints.NORTH;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   180
		add(row, gbc);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   181
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   182
		gbc.gridheight = GridBagConstraints.REMAINDER;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   183
		gbc.anchor = GridBagConstraints.SOUTH;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   184
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   185
		setBorder(new EmptyBorder(GAP, GAP, GAP, GAP));
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   186
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   187
		//Set the initial values, obtained from .esk files:
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   188
		update();
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   189
		log.debug("Done initComponents");
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   190
	}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   191
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   192
	/**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   193
	 * Update UI components from Model:
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   194
	 */
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   195
	public void update() {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   196
		log.debug("update() updateInProgress: " + updateInProgress);
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   197
		// Update Bluetooth panel
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   198
		try {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   199
			if (!updateInProgress)
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   200
				log.debug("Inside if loop of update");
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   201
			{//If the function is not called as the result of components updates,
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   202
				//i.e. there is no update ongiong already
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   203
				updateInProgress = true;
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   204
				boolean bluetoothEnabled = panModel.isBluetoothEnabled();
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   205
				log.debug("bluetooth Enable: " + bluetoothEnabled);
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   206
				int hci = panModel.getBluetoothHci();
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   207
				boolean usb = (hci == HCI_USB_INDEX);
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   208
				log.debug("hci USB index: " + hci);
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   209
				bluetoothDisableJRadioButton.setSelected(!bluetoothEnabled);
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   210
				bluetoothEnableJRadioButton.setSelected(bluetoothEnabled);
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   211
				bluetoothHciJComboBox.setSelectedIndex(bluetoothEnabled ? hci
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   212
						: -1);
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   213
				bluetoothHciJComboBox.setEnabled(bluetoothEnabled);
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   214
				bluetoothComPortJComboBox.setEnabled(bluetoothEnabled);
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   215
				log.debug("bluetooth COM port: " + panModel.getBluetoothComPort());
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   216
				bluetoothComPortJComboBox.setSelectedIndex(panModel
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   217
						.getBluetoothComPort());
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   218
				bluetoothComPortJComboBox.setEnabled(bluetoothEnabled && !usb);
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   219
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   220
				updateInProgress = false;
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   221
				log.debug("If loop over");
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   222
			}
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   223
		} catch (RuntimeException e) {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   224
			log.debug("Runtime Exception: " + e.getMessage());
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   225
			e.printStackTrace();
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   226
		}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   227
	}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   228
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   229
	private void bluetoothEnableJRadioButtonActionPerformed(ActionEvent evt) {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   230
		if (!updateInProgress) {//I.e. if update came from UI
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   231
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   232
			log.debug(CoreUtils.EpocRoot() + FindAvailablePort.EXECUTABLE_FILE_NAME);
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   233
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   234
			FindAvailablePort availPort = FindAvailablePort.findAvailablePort();
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   235
			String port = null;
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   236
			try {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   237
				port = availPort.getAvailablePortForBT(CoreUtils.EpocRoot()
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   238
						+ FindAvailablePort.EXECUTABLE_FILE_NAME);
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   239
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   240
				if (port == null) {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   241
					log.debug(FindAvailablePort.NO_AVAILABLE_PORT_MESSAGE);
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   242
					// We set the default values of com ports (COM 1) when
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   243
					// switching from disabled mode
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   244
					panModel.setBluetoothComPort(0);
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   245
				} else {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   246
					log.debug(FindAvailablePort.AVAILABLE_PORT_MESSAGE + port);
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   247
					// Set the port
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   248
					int setTempPort = Integer.parseInt(port.trim())-1;
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   249
					panModel.setBluetoothComPort(setTempPort);
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   250
					System.out.println("Output: " + port);
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   251
				}
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   252
			} catch (Exception e) {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   253
				log.debug("Error reading COM port. BT enabled. Port set to 1.");
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   254
				// Set the default port 1 as a BT port and enable the BT
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   255
				panModel.setBluetoothComPort(0);
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   256
				e.printStackTrace();
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   257
			}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   258
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   259
			panPlugin.pluginModelChangedAction();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   260
			update();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   261
		}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   262
	}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   263
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   264
	private void bluetoothDisableJRadioButtonActionPerformed(ActionEvent evt) {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   265
		if (!updateInProgress) {//I.e. if update came from UI
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   266
			//Setting com port to -1 means disabling it
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   267
			panModel.setBluetoothComPort(-1);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   268
			panPlugin.pluginModelChangedAction();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   269
			update();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   270
		}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   271
	}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   272
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   273
	private void bluetoothHciJComboBoxActionPerformed(ActionEvent evt) {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   274
		if (!updateInProgress) {//I.e. if update came from UI
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   275
			int index = bluetoothHciJComboBox.getSelectedIndex();
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   276
			if (index >= 0) {
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   277
				panModel.setBluetoothHci(index);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   278
				panPlugin.pluginModelChangedAction();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   279
				update();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   280
			}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   281
		}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   282
	}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   283
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   284
	private void bluetoothComPortJComboBoxActionPerformed(ActionEvent evt) {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   285
		if (!updateInProgress) {//I.e. if update came from UI
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   286
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   287
			panModel.setBluetoothComPort(bluetoothComPortJComboBox
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   288
					.getSelectedIndex());
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   289
			panPlugin.pluginModelChangedAction();
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   290
		}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   291
	}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   292
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   293
	private class ComPortItem {
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   294
		private String comPortNumber;
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   295
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   296
		ComPortItem(String label) {
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   297
			comPortNumber = label;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   298
		}
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   299
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   300
		public String toString() {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   301
			
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   302
			return panModel.getBluetoothHci() == HCI_USB_INDEX ? AUTO_PORT
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   303
					: comPortNumber;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   304
		}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   305
	}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   306
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   307
}