core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/editor/NavigationBar.java
changeset 2047 c984a53977bd
parent 2035 42a3ddebe583
child 2053 683a3be65e07
equal deleted inserted replaced
2046:f375c7305c9d 2047:c984a53977bd
    31 import org.eclipse.swt.widgets.Button;
    31 import org.eclipse.swt.widgets.Button;
    32 import org.eclipse.swt.widgets.Composite;
    32 import org.eclipse.swt.widgets.Composite;
    33 
    33 
    34 class NavigationBar extends RoundedCornerComposite {
    34 class NavigationBar extends RoundedCornerComposite {
    35 
    35 
    36 	private PortalEditor portalEditor;
       
    37 
       
    38 
       
    39 	private final class ButtonListener extends SelectionAdapter {
    36 	private final class ButtonListener extends SelectionAdapter {
    40 		@Override
    37 		@Override
    41 		public void widgetSelected(SelectionEvent e) {
    38 		public void widgetSelected(SelectionEvent e) {
    42 			Button button = (Button) e.getSource();
    39 			Button button = (Button) e.getSource();
    43 			selectNavButton(button);
    40 			selectNavButton(button);
    44 		}
    41 		}
    45 	}
    42 	}
    46 
    43 
       
    44 	private static final int BUTTON_SPACING = -2;
       
    45 	private PortalEditor portalEditor;
    47 	private Map<Button, PortalPage> buttonToPageMap;
    46 	private Map<Button, PortalPage> buttonToPageMap;
    48 	private SelectionListener listener;
    47 	private SelectionListener listener;
    49 	private Font buttonFont;
    48 	private Font buttonFont;
    50 	private Font selectedButtonFont;
    49 	private Font selectedButtonFont;
    51 	
    50 	
    52 	NavigationBar(PortalEditor portalEditor, Composite parent) {
    51 	NavigationBar(PortalEditor portalEditor, Composite parent) {
    53 		super(parent, portalEditor.getBackgroundParent(), 
    52 		super(parent, portalEditor.getBackgroundParent(), null, null);
    54 				parent.getDisplay().getSystemColor(SWT.COLOR_BLACK),
       
    55 				parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
       
    56 		this.portalEditor = portalEditor;
    53 		this.portalEditor = portalEditor;
    57 		buttonToPageMap = new LinkedHashMap<Button, PortalPage>();
    54 		buttonToPageMap = new LinkedHashMap<Button, PortalPage>();
    58 		FillLayout layout = new FillLayout(SWT.HORIZONTAL);
    55 		FillLayout layout = new FillLayout(SWT.HORIZONTAL);
    59 		layout.spacing = 5;
    56 		layout.spacing = BUTTON_SPACING;
    60 		layout.marginHeight = 5;
    57 		layout.marginHeight = BUTTON_SPACING;
    61 		layout.marginWidth = 5;
    58 		layout.marginWidth = BUTTON_SPACING;
    62 		setLayout(layout);
    59 		setLayout(layout);
    63 		listener = new ButtonListener();
    60 		listener = new ButtonListener();
    64 		selectedButtonFont = JFaceResources.getHeaderFont();
    61 		selectedButtonFont = JFaceResources.getHeaderFont();
    65 		FontData[] fontData = selectedButtonFont.getFontData();
    62 		FontData[] fontData = selectedButtonFont.getFontData();
    66 		for (FontData fd : fontData) {
    63 		for (FontData fd : fontData) {
    75 			return;
    72 			return;
    76 		selectNavButton(buttonToPageMap.keySet().iterator().next());
    73 		selectNavButton(buttonToPageMap.keySet().iterator().next());
    77 	}
    74 	}
    78 
    75 
    79 	public void addNavButton(NavigationBar bar, PortalPage page) {
    76 	public void addNavButton(NavigationBar bar, PortalPage page) {
    80 		Button b = new Button(bar, SWT.TOGGLE | SWT.FLAT);
    77 		Button b = new Button(bar, SWT.LEFT | SWT.TOGGLE);
    81 		b.setFont(buttonFont);
    78 		b.setFont(buttonFont);
    82 		b.setText(page.getTitle());
    79 		b.setText(page.getTitle());
    83 		b.setImage(portalEditor.createImage(page.getImageDescriptor(), 16, 16));
    80 		b.setImage(portalEditor.createImage(page.getImageDescriptor(), 32, 32));
    84 		b.addSelectionListener(listener);
    81 		b.addSelectionListener(listener);
    85 		buttonToPageMap.put(b, page);
    82 		buttonToPageMap.put(b, page);
    86 	}
    83 	}
    87 
    84 
    88 
    85