From 7dd15dcf0e76cae6ceff6b0cfad2a8f3bab80ab6 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber < martin.oberhuber@windriver.com> Date: Wed, 18 Feb 2009 18:11:56 +0000 Subject: [PATCH] Apply from 3.0.3: [247700] Terminal uses ugly fonts in JEE package --- .../terminals/ui/views/TerminalViewTab.java | 58 ++++++++++++++++++- .../terminal/textcanvas/StyleMap.java | 25 +++++++- 2 files changed, 79 insertions(+), 4 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.terminals.ui/src/org/eclipse/rse/internal/terminals/ui/views/TerminalViewTab.java b/rse/plugins/org.eclipse.rse.terminals.ui/src/org/eclipse/rse/internal/terminals/ui/views/TerminalViewTab.java index 8289d397225..6c6cb1e2d54 100644 --- a/rse/plugins/org.eclipse.rse.terminals.ui/src/org/eclipse/rse/internal/terminals/ui/views/TerminalViewTab.java +++ b/rse/plugins/org.eclipse.rse.terminals.ui/src/org/eclipse/rse/internal/terminals/ui/views/TerminalViewTab.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2009 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,6 +19,7 @@ * Martin Oberhuber (Wind River) - [227571] RSE Terminal should honor Encoding set on the IHost * Michael Scharf (Wind River) - [236203] [rseterminal] Potentially UI blocking code in TerminalViewTab.createTabItem * Anna Dushistova (MontaVista) - [244437] [rseterminal] Possible race condition when multiple Terminals are launched after each other + * Martin Oberhuber (Wind River) - [247700] Terminal uses ugly fonts in JEE package ********************************************************************************/ package org.eclipse.rse.internal.terminals.ui.views; @@ -29,6 +30,9 @@ import org.eclipse.jface.action.IMenuListener; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.action.Separator; +import org.eclipse.jface.resource.FontRegistry; +import org.eclipse.jface.util.IPropertyChangeListener; +import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.rse.core.RSECorePlugin; import org.eclipse.rse.core.events.ISystemResourceChangeEvents; import org.eclipse.rse.core.events.SystemResourceChangeEvent; @@ -45,6 +49,7 @@ import org.eclipse.swt.events.DisposeEvent; import org.eclipse.swt.events.DisposeListener; import org.eclipse.swt.events.MenuEvent; import org.eclipse.swt.events.MenuListener; +import org.eclipse.swt.graphics.Font; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; @@ -61,6 +66,8 @@ import org.eclipse.tm.internal.terminal.control.actions.TerminalActionPaste; import org.eclipse.tm.internal.terminal.control.actions.TerminalActionSelectAll; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.themes.IThemeManager; /** * This is the desktop view wrapper of the System View viewer. @@ -71,6 +78,8 @@ public class TerminalViewTab extends Composite { private final CTabFolder tabFolder; + private IPropertyChangeListener propertyChangeListener; + private Menu menu; private boolean fMenuAboutToShow; @@ -123,6 +132,11 @@ public class TerminalViewTab extends Composite { } public void dispose() { + if (propertyChangeListener != null) { + IThemeManager mgr = PlatformUI.getWorkbench().getThemeManager(); + mgr.removePropertyChangeListener(propertyChangeListener); + propertyChangeListener = null; + } if (!tabFolder.isDisposed()) { tabFolder.dispose(); } @@ -183,6 +197,47 @@ public class TerminalViewTab extends Composite { } } + public void propertyChange(PropertyChangeEvent e) { + // for now always update + if (tabFolder!=null) { + CTabItem[] items = tabFolder.getItems(); + for (int i=0; i