[390582] [Accessibility] Screen reader cannot read empty Servers view
text
[390583] [Accessibility] Run on server table columns cannot be resized
with keyboard only
[390584] [Accessibility] TCP/IP monitor view uses white background with
green text in high contrast mode and labels are unreadable by a
screenreader
[400855] [Accessibility] Mouse over on the module status in the server's
view fails in high contrast mode
diff --git a/features/org.eclipse.wst.server_ui.feature.patch/buildnotes_org.eclipse.wst.server_ui.feature.patch.html b/features/org.eclipse.wst.server_ui.feature.patch/buildnotes_org.eclipse.wst.server_ui.feature.patch.html
index a68ddda..fc32f1b 100644
--- a/features/org.eclipse.wst.server_ui.feature.patch/buildnotes_org.eclipse.wst.server_ui.feature.patch.html
+++ b/features/org.eclipse.wst.server_ui.feature.patch/buildnotes_org.eclipse.wst.server_ui.feature.patch.html
@@ -4,16 +4,23 @@
 <head>

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

    <meta name="Build" content="Build">

-   <title>WTP 3.4.1 Patches</title>

+   <title>WTP 3.4.2 Patches</title>

 </head>

 

 <body>

 

-<h1>WTP 3.4.1 Patches</h1>

+<h1>WTP 3.4.2 Patches</h1>

 

 <h2>Feature Patched: org.eclipse.wst.server_ui.feature</h2>

-<h3>Plugin(s) replaced:</h3>

-<ul><li>org.eclipse.wst.server.ui</li></ul>

-<p>Bug <a href='https://bugs.eclipse.org/390993'>390993</a>. New Server Wizard non-default name fails [regression]</p>

+<h3>Plugin(s) patched:</h3>

+<ul>

+	<li>org.eclipse.wst.server.ui</li>

+	<li>org.eclipse.wst.internet.monitor.ui</li>

+</ul>

+<p>Bug <a href='https://bugs.eclipse.org/390582'>390582</a>. [Accessibility] Screen reader cannot read empty Servers view text</p>

+<p>Bug <a href='https://bugs.eclipse.org/390583'>390583</a>. [Accessibility] Run on server table columns cannot be resized with keyboard only</p>

+<p>Bug <a href='https://bugs.eclipse.org/390584'>390584</a>. [Accessibility] TCP/IP monitor view uses white background with green text in high contrast mode and labels are unreadable by a screenreader</p>

+<p>Bug <a href='https://bugs.eclipse.org/400855'>400855</a>.  [Accessibility] Mouse over on the module status in the server's view fails in high contrast mode</p>

+

 

 </body></html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.server_ui.feature.patch/feature.properties b/features/org.eclipse.wst.server_ui.feature.patch/feature.properties
index ed64d4b..ad89a1f 100644
--- a/features/org.eclipse.wst.server_ui.feature.patch/feature.properties
+++ b/features/org.eclipse.wst.server_ui.feature.patch/feature.properties
@@ -27,7 +27,10 @@
 description=\
 Contains fixes described in the following bugzilla(s):\n\
 \n\
-Bug https://bugs.eclipse.org/390993 New Server Wizard non-default name fails [regression]\n\
+Bug https://bugs.eclipse.org/390582  [Accessibility] Screen reader cannot read empty Servers view text\n\
+Bug https://bugs.eclipse.org/390583  [Accessibility] Run on server table columns cannot be resized with keyboard only\n\
+Bug https://bugs.eclipse.org/390584  [Accessibility] TCP/IP monitor view uses white background with green text in high contrast mode and labels are unreadable by a screenreader\n\
+Bug https://bugs.eclipse.org/400855  [Accessibility] Mouse over on the module status in the server's view fails in high contrast mode\n\
 \n\
 # "copyright" property - text of the "Feature Update Copyright"
 copyright=\
diff --git a/features/org.eclipse.wst.server_ui.feature.patch/feature.xml b/features/org.eclipse.wst.server_ui.feature.patch/feature.xml
index 25cc79a..a6a0d90 100644
--- a/features/org.eclipse.wst.server_ui.feature.patch/feature.xml
+++ b/features/org.eclipse.wst.server_ui.feature.patch/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.server_ui.feature.patch"
       label="%featureName"
-      version="3.4.1.qualifier"
+      version="3.4.2.qualifier"
       provider-name="%providerName">
 
    <description>
@@ -18,14 +18,22 @@
    </license>
 
    <requires>
-      <import feature="org.eclipse.wst.server_ui.feature" version="3.3.101.v20120817_1533-7B7AFJQAtMduXxeIc0IpSdC97A9" patch="true"/>
+      <import feature="org.eclipse.wst.server_ui.feature" version="3.3.201.v20120927_1316-7B7AFMXAtMe9qFHLb-MlSZwg8BB2" patch="true"/>
    </requires>
 
+
+	<plugin
+         id="org.eclipse.wst.internet.monitor.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
    <plugin
          id="org.eclipse.wst.server.ui"
          download-size="0"
          install-size="0"
          version="0.0.0"
          unpack="false"/>
-
+         
 </feature>
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.internet.monitor.ui/META-INF/MANIFEST.MF
index f9b6d56..5094810 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.wst.internet.monitor.ui; singleton:=true
-Bundle-Version: 1.0.606.qualifier
+Bundle-Version: 1.0.607.qualifier
 Bundle-Activator: org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.java
index e95c439..5c45998 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.java
@@ -1,5 +1,5 @@
 /**********************************************************************
- * Copyright (c) 2007, 2012 IBM Corporation and others.
+ * Copyright (c) 2007, 2013 IBM Corporation and others.
  * 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
@@ -54,6 +54,8 @@
 	public static String viewEncoding;
 	public static String viewResponse;
 	public static String viewRequest;
+	public static String viewRequestType;
+	public static String viewResponseType;
 	public static String actionSortByResponseTime;
 	public static String viewSizeFormat;
 	public static String actionClearToolTip;
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.properties b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.properties
index 09c7175..8847027 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.properties
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2005, 2012 IBM Corporation and others.
+# Copyright (c) 2005, 2013 IBM Corporation and others.
 # 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
@@ -22,6 +22,8 @@
 viewResponseTimeFormat={0} ms
 viewSizeFormat={0} ({1}) bytes
 viewEncoding=Encoding:
+viewRequestType=Request viewer type:
+viewResponseType=Response viewer type:
 
 # The following string allows you to change the time format of the TCP/IP monitor
 # view. It uses the formatting options found in java.text.SimpleDateFormat:
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorView.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorView.java
index 10fd28b..d3f747f 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorView.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorView.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
+ * Copyright (c) 2003, 2013 IBM Corporation and others.
  * 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
@@ -14,11 +14,23 @@
 import java.util.Iterator;
 import java.util.List;
 
-import org.eclipse.jface.action.*;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.GroupMarker;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
 import org.eclipse.jface.preference.IPreferenceNode;
 import org.eclipse.jface.preference.PreferenceDialog;
 import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.viewers.*;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.jface.window.Window;
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.SWT;
@@ -33,15 +45,24 @@
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.Text;
 import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.*;
+import org.eclipse.ui.IViewPart;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchActionConstants;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.part.ViewPart;
 import org.eclipse.wst.internet.monitor.core.internal.IContentFilter;
 import org.eclipse.wst.internet.monitor.core.internal.MonitorPlugin;
 import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest;
 import org.eclipse.wst.internet.monitor.core.internal.provisional.IRequestListener;
 import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-import org.eclipse.wst.internet.monitor.ui.internal.*;
+import org.eclipse.wst.internet.monitor.ui.internal.ContextIds;
+import org.eclipse.wst.internet.monitor.ui.internal.Messages;
+import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin;
+import org.eclipse.wst.internet.monitor.ui.internal.Trace;
 /**
  * View of TCP/IP activity.
  */
@@ -130,6 +151,8 @@
 	 */
 	public void createPartControl(Composite parent) {
 		SashForm sashFparent = new SashForm(parent, SWT.VERTICAL);
+		sashFparent.setBackground(sashFparent.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
+		
 		GridLayout layout = new GridLayout();
 		layout.numColumns = 2;
 		layout.horizontalSpacing = 4;
@@ -169,20 +192,20 @@
 		layout.marginWidth = 0;
 		detailsPanel.setLayout(layout);
 		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		data.widthHint = 200;
+		data.widthHint = 350;
 		detailsPanel.setLayoutData(data);
 
-		final Label label = new Label(detailsPanel, SWT.NONE);
-		label.setText(NLS.bind(Messages.viewTime, ""));
-		label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING));
+		final Text detailsTimeText = new Text(detailsPanel, SWT.READ_ONLY);
+		detailsTimeText.setText(NLS.bind(Messages.viewTime, ""));
+		detailsTimeText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING));
 
-		final Label label2 = new Label(detailsPanel, SWT.NONE);
-		label2.setText(NLS.bind(Messages.viewResponseTime, ""));
-		label2.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING));
+		final Text detailsResponseTimeText = new Text(detailsPanel, SWT.READ_ONLY);
+		detailsResponseTimeText.setText(NLS.bind(Messages.viewResponseTime, ""));
+		detailsResponseTimeText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING));
 		
-		final Label label3 = new Label(detailsPanel, SWT.NONE);
-		label3.setText(NLS.bind(Messages.viewType, ""));
-		label3.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING));
+		final Text detailsViewTimeText = new Text(detailsPanel, SWT.READ_ONLY);
+		detailsViewTimeText.setText(NLS.bind(Messages.viewType, ""));
+		detailsViewTimeText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING));
 		
 		// create center and right panels
 		SashForm sashFchild = new SashForm(sashFparent, SWT.HORIZONTAL);
@@ -196,7 +219,6 @@
 		// request panel
 		Composite request = new Composite(sashFchild, SWT.NONE);
 		layout = new GridLayout();
-		layout.verticalSpacing = 3;
 		layout.marginHeight = 0;
 		layout.marginWidth = 0;
 		request.setLayout(layout);
@@ -208,23 +230,36 @@
 		layout.numColumns = 2;
 		layout.marginHeight = 0;
 		layout.marginWidth = 0;
-		layout.marginLeft = 2;
+		layout.marginLeft = 0;
 		data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
 		requestHeader.setLayout(layout);
 		requestHeader.setLayoutData(data);
 		
-		final Label requestLabel = new Label(requestHeader, SWT.NONE);
-		requestLabel.setText(NLS.bind(Messages.viewRequest, ""));
-		requestLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+		final Label requestViewerComboLabel = new Label(requestHeader, SWT.NONE);
+		requestViewerComboLabel.setText(NLS.bind(Messages.viewRequestType, ""));
+		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+		data.verticalSpan = 1;
+		data.horizontalIndent=3;
+		requestViewerComboLabel.setLayoutData(data);
 		
 		final Combo requestViewerCombo = new Combo(requestHeader, SWT.DROP_DOWN | SWT.READ_ONLY);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		data.verticalSpan = 2;
+		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+		data.verticalSpan = 1;
 		requestViewerCombo.setLayoutData(data);
 		
-		final Label requestSizeLabel = new Label(requestHeader, SWT.NONE);
+		final Text requestLabel = new Text(requestHeader, SWT.READ_ONLY);
+		requestLabel.setText(NLS.bind(Messages.viewRequest, ""));	
+		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+		data.verticalSpan = 1;
+		data.horizontalSpan = 2;
+		requestLabel.setLayoutData(data);		
+		
+		final Text requestSizeLabel = new Text(requestHeader, SWT.READ_ONLY);
 		requestSizeLabel.setText(NLS.bind(Messages.viewSize, ""));
-		requestSizeLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+		data.verticalSpan = 1;
+		data.horizontalSpan = 2;
+		requestSizeLabel.setLayoutData(data);
 		
 		// response panel
 		Composite response = new Composite(sashFchild, SWT.NONE);
@@ -241,23 +276,36 @@
 		layout.numColumns = 2;
 		layout.marginHeight = 0;
 		layout.marginWidth = 0;
-		layout.marginLeft = 2;
+		layout.marginLeft = 0;
 		data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
 		responseHeader.setLayout(layout);
 		responseHeader.setLayoutData(data);
-		
-		final Label responseLabel = new Label(responseHeader, SWT.NONE);
-		responseLabel.setText(NLS.bind(Messages.viewResponse, ""));
-		responseLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+				
+		final Label responseViewerComboLabel = new Label(responseHeader, SWT.NONE);
+		responseViewerComboLabel.setText(NLS.bind(Messages.viewResponseType, ""));
+		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+		data.verticalSpan = 1;
+		data.horizontalIndent=3;
+		responseViewerComboLabel.setLayoutData(data);		
 		
 		final Combo responseViewerCombo = new Combo(responseHeader, SWT.DROP_DOWN | SWT.READ_ONLY);
 		data = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		data.verticalSpan = 2;
+		data.verticalSpan = 1;
 		responseViewerCombo.setLayoutData(data);
 		
-		final Label responseSizeLabel = new Label(responseHeader, SWT.NONE);
+		final Text responseLabel = new Text(responseHeader, SWT.READ_ONLY);
+		responseLabel.setText(NLS.bind(Messages.viewResponse, ""));
+		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+		data.verticalSpan = 1;
+		data.horizontalSpan = 2;
+		requestLabel.setLayoutData(data);			
+		
+		final Text responseSizeLabel = new Text(responseHeader, SWT.READ_ONLY);
 		responseSizeLabel.setText(NLS.bind(Messages.viewSize, ""));
-		responseSizeLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+		data.verticalSpan = 1;
+		data.horizontalSpan = 2;
+		responseSizeLabel.setLayoutData(data);
 		
 		// viewer manager
 		vm = new ViewerManager(request, response);
@@ -330,15 +378,15 @@
 				}
 	
 				if (currentRequest != null) {
-					label.setText(NLS.bind(Messages.viewTime, format.format(currentRequest.getDate())));
+					detailsTimeText.setText(NLS.bind(Messages.viewTime, format.format(currentRequest.getDate())));
 	
 					if (currentRequest.getResponseTime() == -1)
-						label2.setText(NLS.bind(Messages.viewResponseTime, ""));
+						detailsResponseTimeText.setText(NLS.bind(Messages.viewResponseTime, ""));
 					else {
 						String time = NLS.bind(Messages.viewResponseTimeFormat, currentRequest.getResponseTime() + "");
-						label2.setText(NLS.bind(Messages.viewResponseTime, time));
+						detailsResponseTimeText.setText(NLS.bind(Messages.viewResponseTime, time));
 					}
-					label3.setText(NLS.bind(Messages.viewType, currentRequest.getProtocol()));
+					detailsViewTimeText.setText(NLS.bind(Messages.viewType, currentRequest.getProtocol()));
 	
 					// request information
 					requestLabel.setText(NLS.bind(Messages.viewRequest, "localhost:" + currentRequest.getLocalPort()));
@@ -366,8 +414,8 @@
 						responseViewerCombo.select(responseViewers.indexOf(viewer));
 					}
 				} else {
-					label.setText(NLS.bind(Messages.viewTime, ""));
-					label2.setText(NLS.bind(Messages.viewResponseTime, ""));
+					detailsTimeText.setText(NLS.bind(Messages.viewTime, ""));
+					detailsResponseTimeText.setText(NLS.bind(Messages.viewResponseTime, ""));
 					requestLabel.setText(NLS.bind(Messages.viewRequest, ""));
 					requestSizeLabel.setText(NLS.bind(Messages.viewSize, ""));
 					responseLabel.setText(NLS.bind(Messages.viewResponse, ""));
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ByteViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ByteViewer.java
index e561cc5..ce722d5 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ByteViewer.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ByteViewer.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2012 IBM Corporation and others.
+ * Copyright (c) 2003, 2013 IBM Corporation and others.
  * 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
@@ -70,10 +70,16 @@
 		byteViewerBodyComposite.setLayoutData(data);		
 		byteViewerBodyComposite.setLayout(layout);
 		
-		encodingLabel = new Label(byteViewerBodyComposite, SWT.NONE);
-				
-		encodingLabel.setText(NLS.bind(Messages.viewEncoding,""));
-		encodingCombo = new Combo(byteViewerBodyComposite, SWT.RIGHT);
+		// This additional layout helps with aligning the text boxes in
+		// org.eclipse.wst.internet.monitor.ui.internal.view.MonitorView
+		Composite request = new Composite(byteViewerBodyComposite, SWT.NONE);
+		GridLayout layout2 = new GridLayout();
+		layout2.numColumns = 2;
+		request.setLayout(layout2);
+		
+		encodingLabel = new Label(request, SWT.NONE);
+		encodingLabel.setText(NLS.bind(Messages.viewEncoding,""));		
+		encodingCombo = new Combo(request, SWT.RIGHT);
 		
 		// Add the default option
 		encodingCombo.add(NLS.bind(Messages.defaultEncodingOption,""));
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/HeaderViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/HeaderViewer.java
index ec4f4cf..ca7a01a 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/HeaderViewer.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/HeaderViewer.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * Copyright (c) 2003, 2013 IBM Corporation and others.
  * 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
@@ -15,7 +15,6 @@
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
@@ -32,7 +31,7 @@
 	protected Composite headerComp;
 	protected MonitorStackLayout layout;
 
-	protected Label headerLabel;
+	protected Text headerLabel;
 	protected Text headerText;
 	protected Request rr;
 	protected byte msg;
@@ -70,7 +69,7 @@
 		headerText.setFont(JFaceResources.getTextFont());
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(headerText, ContextIds.VIEW_RESPONSE);
 		
-		headerLabel = new Label(headerComp, SWT.NONE);
+		headerLabel = new Text(headerComp, SWT.READ_ONLY);
 		
 		layout.topControl = headerText;
 		
diff --git a/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF
index 7ef10dd..80374d1 100644
--- a/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.wst.server.ui; singleton:=true
-Bundle-Version: 1.4.100.qualifier
+Bundle-Version: 1.4.101.qualifier
 Bundle-Activator: org.eclipse.wst.server.ui.internal.ServerUIPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.java
index a48ac33..6d1889a 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.java
@@ -1,5 +1,5 @@
 /**********************************************************************
- * Copyright (c) 2005, 2012 IBM Corporation and others.
+ * Copyright (c) 2005, 2013 IBM Corporation and others.
  * 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
@@ -138,6 +138,7 @@
 	public static String actionRename;
 	public static String actionDelete;
 	public static String actionRemove;
+	public static String actionColumns;
 	public static String dialogRemoveModuleConfirm;
 	public static String dialogRemoveModulesConfirm;
 	public static String terminateServerDialogTitle;
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.properties b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.properties
index 7304db5..1feec56 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.properties
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2004, 2012 IBM Corporation and others.
+# Copyright (c) 2004, 2013 IBM Corporation and others.
 # 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
@@ -151,6 +151,7 @@
 switchServerLocation=Location:
 switchServerLocationMetadata=[workspace metadata]
 actionRename=Re&name
+actionColumns=Columns...
 
 # Status column text
 viewStatusStarted=Started
@@ -513,4 +514,4 @@
 errorStartingMonitor=Could not start the server monitor: {0}
 
 internalWebBrowserName=Internal Web Browser
-ServersView2_noServers=No servers available. Define a new server from the <a>new server wizard</a>...
+ServersView2_noServers=<a>No servers available. Define a new server from the new server wizard...</a>
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimePreferencePage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimePreferencePage.java
index 1283443..5d232cc 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimePreferencePage.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimePreferencePage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2012 IBM Corporation and others.
+ * Copyright (c) 2003, 2013 IBM Corporation and others.
  * 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
@@ -19,8 +19,10 @@
 import org.eclipse.jface.dialogs.ProgressMonitorDialog;
 import org.eclipse.jface.operation.IRunnableWithProgress;
 import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.jface.util.ConfigureColumns;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.window.IShellProvider;
 import org.eclipse.jface.window.Window;
 import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.swt.SWT;
@@ -45,7 +47,7 @@
 /**
  * The preference page that holds server runtimes.
  */
-public class RuntimePreferencePage extends PreferencePage implements IWorkbenchPreferencePage, IRuntimeLifecycleListener {
+public class RuntimePreferencePage extends PreferencePage implements IWorkbenchPreferencePage, IRuntimeLifecycleListener, IShellProvider {
 	protected Button edit;
 	protected Button remove;
 	protected Label pathLabel;
@@ -285,6 +287,15 @@
 			}
 		});
 		
+		Button columnsButton = SWTUtil.createButton(buttonComp, Messages.actionColumns);
+		data = (GridData) columnsButton.getLayoutData();
+		final RuntimePreferencePage thisClass = this;
+		columnsButton.addSelectionListener(new SelectionAdapter() {
+			public void widgetSelected(SelectionEvent e) {
+				ConfigureColumns.forTable(runtimeComp.getTable(), thisClass);
+			}
+		});
+		
 		pathLabel = new Label(parent, SWT.NONE);
 		pathLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 		
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerToolTip.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerToolTip.java
index e84746f..d3a1ecd 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerToolTip.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerToolTip.java
@@ -1,5 +1,5 @@
 /**********************************************************************
- * Copyright (c) 2007, 2012 IBM Corporation and others.
+ * Copyright (c) 2007, 2013 IBM Corporation and others.
  * 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
@@ -195,7 +195,9 @@
 			
 			StyledText sText2 = new StyledText(parent, SWT.NONE);
 			sText2.setEditable(false);
-			sText2.setBackground(parent.getBackground());
+			sText2.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
+			sText2.setForeground(parent.getDisplay().getSystemColor(SWT.COLOR_INFO_FOREGROUND));
+			
 			sText2.setText(m.getModuleType().getName());
 		}
 		
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeComposite.java
index 755d025..32dee4a 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeComposite.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeComposite.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
+ * Copyright (c) 2003, 2013 IBM Corporation and others.
  * 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
@@ -104,7 +104,7 @@
 			Point p = description.computeSize(SWT.DEFAULT, SWT.DEFAULT);
 			description.setText("");
 			data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER);
-			data.horizontalSpan = 2;
+			data.horizontalSpan = 1;
 			if (p.y > 10)
 				data.heightHint = p.y;
 			else
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeComposite.java
index e2739d2..939d899 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeComposite.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeComposite.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * Copyright (c) 2003, 2013 IBM Corporation and others.
  * 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
@@ -168,4 +168,8 @@
 	public IRuntime getSelectedRuntime() {
 		return selection;
 	}
+	
+	public Table getTable(){
+		return table;
+	}	
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerComposite.java
index 5802034..abc3009 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerComposite.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerComposite.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2012 IBM Corporation and others.
+ * Copyright (c) 2003, 2013 IBM Corporation and others.
  * 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
@@ -21,13 +21,18 @@
 import org.eclipse.jface.viewers.LabelProviderChangedEvent;
 import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.window.IShellProvider;
+import org.eclipse.jface.util.ConfigureColumns;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Tree;
 import org.eclipse.swt.widgets.TreeColumn;
+import org.eclipse.swt.widgets.Button;
 import org.eclipse.ui.dialogs.FilteredTree;
-
 import org.eclipse.wst.server.core.IModule;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.ui.internal.Messages;
@@ -36,7 +41,7 @@
 /**
  * 
  */
-public class ServerComposite extends AbstractTreeComposite {
+public class ServerComposite extends AbstractTreeComposite implements IShellProvider {
 	protected IServer selection;
 	protected ServerSelectionListener listener;
 	protected ServerTreeContentProvider contentProvider;
@@ -172,4 +177,21 @@
 		job.setPriority(Job.SHORT);
 		job.schedule();
 	}
+	
+	protected void createWidgets() {
+		super.createWidgets();		
+		
+		Button columnsButton = new Button(this, SWT.PUSH);
+		columnsButton.setText(Messages.actionColumns);
+		final ServerComposite myClass = this;
+		columnsButton.addSelectionListener(new SelectionAdapter() {
+			public void widgetSelected(SelectionEvent e) {
+				ConfigureColumns.forTree(treeViewer.getTree(), myClass);
+			}
+		});	
+		
+		GridData data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
+		data.horizontalSpan = 1;
+		columnsButton.setLayoutData(data);		
+	}	
 }
\ No newline at end of file