# HG changeset patch # User dadubrow # Date 1285010994 18000 # Node ID 4d032dc346bfb1903b7bd7be4b4654960102dd64 # Parent 6e114e9bc527b7d971b12aab03397588ff029a78 More portal tweaks - icons, nav l&f + tooltips diff -r 6e114e9bc527 -r 4d032dc346bf core/com.nokia.carbide.discovery.ui/icons/debug.png Binary file core/com.nokia.carbide.discovery.ui/icons/debug.png has changed diff -r 6e114e9bc527 -r 4d032dc346bf core/com.nokia.carbide.discovery.ui/icons/icon_customize.png Binary file core/com.nokia.carbide.discovery.ui/icons/icon_customize.png has changed diff -r 6e114e9bc527 -r 4d032dc346bf core/com.nokia.carbide.discovery.ui/icons/icon_home.png Binary file core/com.nokia.carbide.discovery.ui/icons/icon_home.png has changed diff -r 6e114e9bc527 -r 4d032dc346bf core/com.nokia.carbide.discovery.ui/icons/icon_kits.png Binary file core/com.nokia.carbide.discovery.ui/icons/icon_kits.png has changed diff -r 6e114e9bc527 -r 4d032dc346bf core/com.nokia.carbide.discovery.ui/icons/icon_support.png Binary file core/com.nokia.carbide.discovery.ui/icons/icon_support.png has changed diff -r 6e114e9bc527 -r 4d032dc346bf core/com.nokia.carbide.discovery.ui/plugin.properties --- a/core/com.nokia.carbide.discovery.ui/plugin.properties Mon Sep 20 13:13:27 2010 -0600 +++ b/core/com.nokia.carbide.discovery.ui/plugin.properties Mon Sep 20 14:29:54 2010 -0500 @@ -2,8 +2,13 @@ menu.title = Carbide.c++ Portal portal.desc = Install extensions, get support, install SDKs, find latest news customize.title = Customize -home.title = Home +customize.tooltip = Add-ons and settings +home.title = Welcome +home.tooltip = Information, blogs, etc. support.title = Support +support.tooltip = Support links +kits.title = Kits +kits.tooltip = Installed SDKs install.layer.title = Install Extensions wrenchscience.title = Wrench Science creatingcarbide.title = Creating Carbide diff -r 6e114e9bc527 -r 4d032dc346bf core/com.nokia.carbide.discovery.ui/plugin.xml --- a/core/com.nokia.carbide.discovery.ui/plugin.xml Mon Sep 20 13:13:27 2010 -0600 +++ b/core/com.nokia.carbide.discovery.ui/plugin.xml Mon Sep 20 14:29:54 2010 -0500 @@ -51,27 +51,31 @@ + title="%customize.title" + tooltip="%customize.tooltip"> + title="%home.title" + tooltip="%home.tooltip"> + title="%support.title" + tooltip="%support.tooltip"> + title="%kits.title" + tooltip="%kits.tooltip"> + + + + + + + diff -r 6e114e9bc527 -r 4d032dc346bf core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/editor/NavigationBar.java --- a/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/editor/NavigationBar.java Mon Sep 20 13:13:27 2010 -0600 +++ b/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/editor/NavigationBar.java Mon Sep 20 14:29:54 2010 -0500 @@ -22,16 +22,104 @@ import org.eclipse.jface.resource.FontDescriptor; import org.eclipse.jface.resource.JFaceResources; import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.CLabel; +import org.eclipse.swt.events.MouseAdapter; +import org.eclipse.swt.events.MouseEvent; +import org.eclipse.swt.events.MouseListener; +import org.eclipse.swt.events.MouseTrackAdapter; +import org.eclipse.swt.events.MouseTrackListener; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.FontData; import org.eclipse.swt.layout.FillLayout; -import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Event; + +import com.nokia.cpp.internal.api.utils.core.ListenerList; class NavigationBar extends RoundedCornerComposite { + private class Button extends CLabel { + private ListenerList listeners; + private boolean selection; + private MouseTrackListener mouseTrackListener; + private MouseListener mouseListener; + + public Button(Composite parent) { + super(parent, SWT.CENTER); + listeners = new ListenerList(); + setBackground(getDisplay().getSystemColor(SWT.COLOR_WHITE)); + addMouseTrackListener(mouseTrackListener = new MouseTrackAdapter() { + @Override + public void mouseExit(MouseEvent e) { + if (!selection) + setBackgroundColor(); + + } + + @Override + public void mouseEnter(MouseEvent e) { + if (!selection) + setBackground(getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); + } + }); + + addMouseListener(mouseListener = new MouseAdapter() { + @Override + public void mouseUp(MouseEvent e) { + setSelection(true); + } + }); + } + + @Override + protected void checkSubclass() { + } + + public void addSelectionListener(SelectionListener listener) { + listeners.add(listener); + } + + public void setSelection(boolean selection) { + if (this.selection != selection) { + this.selection = selection; + setBackgroundColor(); + if (selection) { + for (Control control : getParent().getChildren()) { + if (control instanceof Button) { + if (!control.equals(this)) { + ((Button) control).setSelection(false); + } + } + } + fireSelection(); + } + } + } + + private void fireSelection() { + Event e = new Event(); + e.widget = this; + e.display = getDisplay(); + for (SelectionListener listener : listeners) { + listener.widgetSelected(new SelectionEvent(e)); + } + + } + + private void setBackgroundColor() { + setBackground(getDisplay().getSystemColor(selection ? SWT.COLOR_WIDGET_NORMAL_SHADOW : SWT.COLOR_WHITE)); + } + + @Override + public void dispose() { + removeMouseTrackListener(mouseTrackListener); + removeMouseListener(mouseListener); + super.dispose(); + } + } private final class ButtonListener extends SelectionAdapter { @Override @@ -41,7 +129,7 @@ } } - private static final int BUTTON_SPACING = -2; + private static final int BUTTON_SPACING = 0; private PortalEditor portalEditor; private Map buttonToPageMap; private SelectionListener listener; @@ -70,13 +158,14 @@ public void initUI() { if (buttonToPageMap.isEmpty()) return; - selectNavButton(buttonToPageMap.keySet().iterator().next()); + buttonToPageMap.keySet().iterator().next().setSelection(true); } public void addNavButton(NavigationBar bar, PortalPage page) { - Button b = new Button(bar, SWT.TOGGLE); + Button b = new Button(bar); b.setFont(buttonFont); b.setText(page.getTitle()); + b.setToolTipText(page.getTooltip()); b.setImage(portalEditor.createImage(page.getImageDescriptor(), 32, 32)); b.addSelectionListener(listener); buttonToPageMap.put(b, page); @@ -84,11 +173,6 @@ public void selectNavButton(Button button) { - for (Button other : buttonToPageMap.keySet()) { - other.setSelection(false); - other.setFont(buttonFont); - } - button.setSelection(true); portalEditor.showPage(buttonToPageMap.get(button)); button.setFont(selectedButtonFont); layout(); diff -r 6e114e9bc527 -r 4d032dc346bf core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/editor/PortalEditor.java --- a/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/editor/PortalEditor.java Mon Sep 20 13:13:27 2010 -0600 +++ b/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/editor/PortalEditor.java Mon Sep 20 14:29:54 2010 -0500 @@ -163,6 +163,7 @@ String id = element.getAttribute("id"); //$NON-NLS-1$ int order = getOrderStringFromElement(element, id); String title = element.getAttribute("title"); //$NON-NLS-1$ + String tooltip = element.getAttribute("tooltip"); //$NON-NLS-1$ String imageFilePath = element.getAttribute("image"); //$NON-NLS-1$ String pluginId = element.getContributor().getName(); ImageDescriptor imageDesc = AbstractUIPlugin.imageDescriptorFromPlugin(pluginId, imageFilePath); @@ -178,7 +179,7 @@ Activator.logError(MessageFormat.format(Messages.PortalEditor_BadCommandBarFactoryError, id), e); } } - PortalPage portalPage = new PortalPage(title, imageDesc, id, portalLayers, commandBarFactory); + PortalPage portalPage = new PortalPage(title, tooltip, imageDesc, id, portalLayers, commandBarFactory); pageList.add(new Pair(portalPage, order)); } Collections.sort(pageList, new Comparator>() { @@ -193,7 +194,7 @@ } } - private int getOrderStringFromElement(IConfigurationElement element, String id) { + private int getOrderStringFromElement(IConfigurationElement element, String name) { int order = Integer.MAX_VALUE; String orderString = element.getAttribute("order"); //$NON-NLS-1$ if (orderString != null) { @@ -201,7 +202,7 @@ order = Integer.parseInt(orderString); } catch (NumberFormatException e) { - Activator.logError(MessageFormat.format(Messages.PortalEditor_PageRankError, id), e); + Activator.logError(MessageFormat.format(Messages.PortalEditor_PageRankError, name), e); } } return order; diff -r 6e114e9bc527 -r 4d032dc346bf core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/editor/PortalPage.java --- a/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/editor/PortalPage.java Mon Sep 20 13:13:27 2010 -0600 +++ b/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/editor/PortalPage.java Mon Sep 20 14:29:54 2010 -0500 @@ -94,6 +94,7 @@ } private String title; + private String tooltip; private ImageDescriptor imageDescriptor; private String id; private final ICommandBarFactory commandBarFactory; @@ -104,9 +105,10 @@ private IAction[] actions; private List pageTaskBars; - public PortalPage(String title, ImageDescriptor imageDescriptor, String id, + public PortalPage(String title, String tooltip, ImageDescriptor imageDescriptor, String id, List layerExtensions, ICommandBarFactory commandBarFactory) { this.title = title; + this.tooltip = tooltip; this.imageDescriptor = imageDescriptor; this.id = id; this.commandBarFactory = commandBarFactory; @@ -131,6 +133,10 @@ return title; } + public String getTooltip() { + return tooltip; + } + public ImageDescriptor getImageDescriptor() { return imageDescriptor; } diff -r 6e114e9bc527 -r 4d032dc346bf core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/extension/AbstractBrowserPortalPageLayer.java --- a/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/extension/AbstractBrowserPortalPageLayer.java Mon Sep 20 13:13:27 2010 -0600 +++ b/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/extension/AbstractBrowserPortalPageLayer.java Mon Sep 20 14:29:54 2010 -0500 @@ -313,7 +313,7 @@ try { new URL(value); } catch (MalformedURLException e) { - value = "http://" + value; + value = "http://" + value; //$NON-NLS-1$ } return value; };