Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 147941 Details for
Bug 290303
SWT.MenuDetect event is missing
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
menudetect-usage.diff
menudetect-usage.diff (text/plain), 51.35 KB, created by
Benjamin Muskalla
on 2009-09-23 18:09:01 EDT
(
hide
)
Description:
menudetect-usage.diff
Filename:
MIME Type:
Creator:
Benjamin Muskalla
Created:
2009-09-23 18:09:01 EDT
Size:
51.35 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.rap.ui.workbench >Index: Eclipse UI/org/eclipse/ui/internal/layout/TrimCommonUIHandle.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.rap/runtime.ui/org.eclipse.rap.ui.workbench/Eclipse UI/org/eclipse/ui/internal/layout/TrimCommonUIHandle.java,v >retrieving revision 1.4 >diff -u -r1.4 TrimCommonUIHandle.java >--- Eclipse UI/org/eclipse/ui/internal/layout/TrimCommonUIHandle.java 16 Sep 2008 16:26:29 -0000 1.4 >+++ Eclipse UI/org/eclipse/ui/internal/layout/TrimCommonUIHandle.java 23 Sep 2009 21:49:40 -0000 >@@ -20,9 +20,12 @@ > import org.eclipse.swt.events.SelectionListener; > import org.eclipse.swt.graphics.Point; > import org.eclipse.swt.widgets.Composite; >+import org.eclipse.swt.widgets.Control; > import org.eclipse.swt.widgets.CoolBar; > import org.eclipse.swt.widgets.CoolItem; >+import org.eclipse.swt.widgets.Event; > import org.eclipse.swt.widgets.Label; >+import org.eclipse.swt.widgets.Listener; > import org.eclipse.swt.widgets.Menu; > import org.eclipse.swt.widgets.MenuItem; > import org.eclipse.ui.internal.IChangeListener; >@@ -63,8 +66,7 @@ > */ > private TrimLayout layout; > private IWindowTrim trim; >- // RAP [bm]: >-// private Control toDrag; >+ private Control toDrag; > private int orientation; > > // CoolBar handling >@@ -82,8 +84,8 @@ > private MenuItem dockCascade; > private RadioMenu radioButtons; > private IntModel radioVal = new IntModel(0); >-// private Menu showMenu; >-// private MenuItem showCascade; >+ private Menu showMenu; >+ private MenuItem showCascade; > > /* > * Listeners... >@@ -107,15 +109,14 @@ > /** > * This listener brings up the context menu > */ >- // RAP [bm]: >-// private Listener menuListener = new Listener() { >-// public void handleEvent(Event event) { >-// Point loc = new Point(event.x, event.y); >-// if (event.type == SWT.MenuDetect) { >-// showDockTrimPopup(loc); >-// } >-// } >-// }; >+ private Listener menuListener = new Listener() { >+ public void handleEvent(Event event) { >+ Point loc = new Point(event.x, event.y); >+ if (event.type == SWT.MenuDetect) { >+ showDockTrimPopup(loc); >+ } >+ } >+ }; > > /** > * Listen to size changes in the control so we can adjust the >@@ -499,13 +500,12 @@ > // DragUtil.performDrag(trim, fakeBounds, position, true); > // } > >- // RAP [bm]: >-// /** >-// * Shows the popup menu for an item in the fast view bar. >-// */ >-// private void showDockTrimPopup(Point pt) { >-// Menu menu = dockMenuManager.createContextMenu(toDrag); >-// menu.setLocation(pt.x, pt.y); >-// menu.setVisible(true); >-// } >+ /** >+ * Shows the popup menu for an item in the fast view bar. >+ */ >+ private void showDockTrimPopup(Point pt) { >+ Menu menu = dockMenuManager.createContextMenu(toDrag); >+ menu.setLocation(pt.x, pt.y); >+ menu.setVisible(true); >+ } > } >Index: Eclipse UI/org/eclipse/ui/internal/presentations/util/AbstractTabFolder.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.rap/runtime.ui/org.eclipse.rap.ui.workbench/Eclipse UI/org/eclipse/ui/internal/presentations/util/AbstractTabFolder.java,v >retrieving revision 1.5 >diff -u -r1.5 AbstractTabFolder.java >--- Eclipse UI/org/eclipse/ui/internal/presentations/util/AbstractTabFolder.java 28 Apr 2008 19:20:05 -0000 1.5 >+++ Eclipse UI/org/eclipse/ui/internal/presentations/util/AbstractTabFolder.java 23 Sep 2009 21:49:40 -0000 >@@ -51,16 +51,15 @@ > public abstract void enablePaneMenu(boolean enabled); > private int activeState = IStackPresentationSite.STATE_RESTORED; > >- // RAP [bm]: >-// private Listener menuListener = new Listener() { >-// /* (non-Javadoc) >-// * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event) >-// */ >-// public void handleEvent(Event event) { >-// Point globalPos = new Point(event.x, event.y); >-// handleContextMenu(globalPos, event); >-// } >-// }; >+ private Listener menuListener = new Listener() { >+ /* (non-Javadoc) >+ * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event) >+ */ >+ public void handleEvent(Event event) { >+ Point globalPos = new Point(event.x, event.y); >+ handleContextMenu(globalPos, event); >+ } >+ }; > > // RAP [bm]: DnD not supported > // private Listener dragListener = new Listener() { >@@ -300,8 +299,7 @@ > } > > protected void attachListeners(Control theControl, boolean recursive) { >- // RAP [bm]: >-// theControl.addListener(SWT.MenuDetect, menuListener); >+ theControl.addListener(SWT.MenuDetect, menuListener); > // RAP [rh] part activation via mouse listeners does not work reliably (see also DefaultTabFolder ctor) > // theControl.addMouseListener(mouseListener); > // RAP [rh] replace 'manual' double-click detection with default-selected >@@ -322,8 +320,7 @@ > } > > protected void detachListeners(Control theControl, boolean recursive) { >- // RAP [bm]: >-// theControl.removeListener(SWT.MenuDetect, menuListener); >+ theControl.removeListener(SWT.MenuDetect, menuListener); > // RAP [rh] part activation via mouse listeners does not work reliably (see also DefaultTabFolder ctor) > // theControl.removeMouseListener(mouseListener); > // RAP [rh] replace 'manual' double-click detection with default-selected >@@ -343,17 +340,17 @@ > } > } > >+ protected void handleContextMenu(Point displayPos, Event e) { >+ if (isOnBorder(displayPos)) { >+ return; >+ } >+ >+ AbstractTabItem tab = getItem(displayPos); >+ >+ fireEvent(TabFolderEvent.EVENT_SYSTEM_MENU, tab, displayPos); >+ } >+ > // RAP [rh] unused code: MouseListener deactivated >-// protected void handleContextMenu(Point displayPos, Event e) { >-// if (isOnBorder(displayPos)) { >-// return; >-// } >-// >-// AbstractTabItem tab = getItem(displayPos); >-// >-// fireEvent(TabFolderEvent.EVENT_SYSTEM_MENU, tab, displayPos); >-// } >-// > // protected void handleMouseDown(Point displayPos, MouseEvent e) { > // fireEvent(TabFolderEvent.EVENT_GIVE_FOCUS_TO_PART); > // } >Index: Eclipse UI/org/eclipse/ui/internal/PerspectiveSwitcher.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.rap/runtime.ui/org.eclipse.rap.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveSwitcher.java,v >retrieving revision 1.5 >diff -u -r1.5 PerspectiveSwitcher.java >--- Eclipse UI/org/eclipse/ui/internal/PerspectiveSwitcher.java 29 Apr 2008 14:24:11 -0000 1.5 >+++ Eclipse UI/org/eclipse/ui/internal/PerspectiveSwitcher.java 23 Sep 2009 21:49:40 -0000 >@@ -12,8 +12,16 @@ > *******************************************************************************/ > package org.eclipse.ui.internal; > >+import java.util.Arrays; >+import java.util.HashMap; > import java.util.StringTokenizer; > >+import org.eclipse.core.commands.Command; >+import org.eclipse.core.commands.ExecutionException; >+import org.eclipse.core.commands.NotEnabledException; >+import org.eclipse.core.commands.NotHandledException; >+import org.eclipse.core.commands.ParameterizedCommand; >+import org.eclipse.core.commands.common.NotDefinedException; > import org.eclipse.core.runtime.Assert; > import org.eclipse.jface.action.IContributionItem; > import org.eclipse.jface.preference.IPreferenceStore; >@@ -27,6 +35,7 @@ > import org.eclipse.swt.events.DisposeListener; > import org.eclipse.swt.events.SelectionAdapter; > import org.eclipse.swt.events.SelectionEvent; >+import org.eclipse.swt.events.SelectionListener; > import org.eclipse.swt.graphics.Point; > import org.eclipse.swt.graphics.Rectangle; > import org.eclipse.swt.layout.GridData; >@@ -34,8 +43,11 @@ > import org.eclipse.swt.widgets.Control; > import org.eclipse.swt.widgets.CoolBar; > import org.eclipse.swt.widgets.CoolItem; >+import org.eclipse.swt.widgets.Event; > import org.eclipse.swt.widgets.Label; > import org.eclipse.swt.widgets.Listener; >+import org.eclipse.swt.widgets.Menu; >+import org.eclipse.swt.widgets.MenuItem; > import org.eclipse.swt.widgets.ToolBar; > import org.eclipse.swt.widgets.ToolItem; > import org.eclipse.ui.IMemento; >@@ -45,6 +57,8 @@ > import org.eclipse.ui.IWorkbenchPreferenceConstants; > import org.eclipse.ui.IWorkbenchWindow; > import org.eclipse.ui.PerspectiveAdapter; >+import org.eclipse.ui.commands.ICommandService; >+import org.eclipse.ui.handlers.IHandlerService; > import org.eclipse.ui.internal.StartupThreading.StartupRunnable; > import org.eclipse.ui.internal.layout.CacheWrapper; > import org.eclipse.ui.internal.layout.CellLayout; >@@ -105,11 +119,9 @@ > > // The menus are cached, so the radio buttons should not be disposed until > // the switcher is disposed. >- // RAP [bm]: >-// private Menu popupMenu; >-// >-// private Menu genericMenu; >- // RAPEND: [bm] >+ private Menu popupMenu; >+ >+ private Menu genericMenu; > > private static final int INITIAL = -1; > >@@ -126,15 +138,13 @@ > > private IPropertyChangeListener propertyChangeListener; > >- // RAP [bm]: >-// private Listener popupListener = new Listener() { >-// public void handleEvent(Event event) { >-// if (event.type == SWT.MenuDetect) { >-// if (event.button == 2) { >-// showPerspectiveBarPopup(new Point(event.x, event.y)); >-// } >-// } >-// }; >+ private Listener popupListener = new Listener() { >+ public void handleEvent(Event event) { >+ if (event.type == SWT.MenuDetect) { >+ showPerspectiveBarPopup(new Point(event.x, event.y)); >+ } >+ } >+ }; > > class ChangeListener extends PerspectiveAdapter implements IPageListener { > public void perspectiveOpened(IWorkbenchPage page, >@@ -727,10 +737,7 @@ > perspectiveBar = createBarManager(SWT.VERTICAL); > > perspectiveBar.createControl(trimControl); >- // RAP [bm]: >-// perspectiveBar.getControl().addListener(SWT.MenuDetect, popupListener); >-// perspectiveBar.getControl().addListener(SWT.MouseUp, popupListener); >- // RAPEND: [bm] >+ perspectiveBar.getControl().addListener(SWT.MenuDetect, popupListener); > // the following code is commented out by Platform itself, not RAP > > // trimSeparator = new Label(trimControl, SWT.SEPARATOR | SWT.HORIZONTAL); >@@ -776,10 +783,7 @@ > } > }); > coolItem.setMinimumSize(0, 0); >- // RAP [bm]: >-// perspectiveBar.getControl().addListener(SWT.MenuDetect, popupListener); >-// perspectiveBar.getControl().addListener(SWT.MouseUp, popupListener); >- // RAPEND: [bm] >+ perspectiveBar.getControl().addListener(SWT.MenuDetect, popupListener); > > } > >@@ -820,156 +824,148 @@ > coolItem.setSize(coolItem.computeSize(w, h)); > } > >- // RAP [bm]: >-// private void showPerspectiveBarPopup(Point pt) { >-// if (perspectiveBar == null) { >-// return; >-// } >-// >-// // Get the tool item under the mouse. >-// ToolBar toolBar = perspectiveBar.getControl(); >-// ToolItem toolItem = toolBar.getItem(toolBar.toControl(pt)); >-// ToolItem toolItem = null; >-// >-// // Get the action for the tool item. >-// Object data = null; >-// if (toolItem != null){ >-// data = toolItem.getData(); >-// } >-// if (toolItem == null >-// || !(data instanceof PerspectiveBarContributionItem)) { >-// if (genericMenu == null) { >-// Menu menu = new Menu(toolBar); >-// addDockOnSubMenu(menu); >-// addShowTextItem(menu); >-// genericMenu = menu; >-// } >-// >-// // set the state of the menu items to match the preferences >-// genericMenu >-// .getItem(1) >-// .setSelection( >-// PrefUtil >-// .getAPIPreferenceStore() >-// .getBoolean( >-// IWorkbenchPreferenceConstants.SHOW_TEXT_ON_PERSPECTIVE_BAR)); >-// updateLocationItems(genericMenu.getItem(0).getMenu(), >-// currentLocation); >-// >-// // Show popup menu. >-// genericMenu.setLocation(pt.x, pt.y); >-// genericMenu.setVisible(true); >-// return; >-// } >-// >-// if (data == null || !(data instanceof PerspectiveBarContributionItem)) { >-// return; >-// } >-// >-// PerspectiveBarContributionItem pbci = (PerspectiveBarContributionItem) data; >-// IPerspectiveDescriptor selectedPerspective = pbci.getPerspective(); >-// >-// // The perspective bar menu is created lazily here. >-// // Its data is set (each time) to the tool item, which refers to the SetPagePerspectiveAction >-// // which in turn refers to the page and perspective. >-// // It is important not to refer to the action, the page or the perspective directly >-// // since otherwise the menu hangs on to them after they are closed. >-// // By hanging onto the tool item instead, these references are cleared when the >-// // corresponding page or perspective is closed. >-// // See bug 11282 for more details on why it is done this way. >-// if (popupMenu != null) { >-// popupMenu.dispose(); >-// popupMenu = null; >-// } >-// popupMenu = createPopup(toolBar, selectedPerspective); >-// popupMenu.setData(toolItem); >-// >-// // Show popup menu. >-// popupMenu.setLocation(pt.x, pt.y); >-// popupMenu.setVisible(true); >-// } >- >- // RAP [bm]: >-// /** >-// * @param persp the perspective >-// * @return <code>true</code> if the perspective is active in the active page >-// */ >-// private boolean perspectiveIsActive(IPerspectiveDescriptor persp) { >-// IWorkbenchPage page = window.getActivePage(); >-// return page != null && persp.equals(page.getPerspective()); >-// } >- >- // RAP [bm]: >-// /** >-// * @param persp the perspective >-// * @return <code>true</code> if the perspective is open in the active page >-// */ >-// private boolean perspectiveIsOpen(IPerspectiveDescriptor persp) { >-// IWorkbenchPage page = window.getActivePage(); >-// return page != null && Arrays.asList(page.getOpenPerspectives()).contains(persp); >-// } >- >- // RAP [bm]: >-// private Menu createPopup(ToolBar toolBar, IPerspectiveDescriptor persp){ >-// Menu menu = new Menu(toolBar); >-// if (perspectiveIsActive(persp)) { >-// addCustomizeItem(menu); >-// addSaveAsItem(menu); >-// addResetItem(menu); >-// } >-// if (perspectiveIsOpen(persp)) { >-// addCloseItem(menu); >-// } >-// >-// new MenuItem(menu, SWT.SEPARATOR); >-// addDockOnSubMenu(menu); >-// addShowTextItem(menu); >-// return menu; >-// } >- >- // RAP [bm]: >-// private void addCloseItem(Menu menu) { >-// MenuItem menuItem = new MenuItem(menu, SWT.NONE); >-// menuItem.setText(WorkbenchMessages.get().WorkbenchWindow_close); >-// // RAP [bm]: HelpSystem >-//// window.getWorkbench().getHelpSystem().setHelp(menuItem, >-//// IWorkbenchHelpContextIds.CLOSE_PAGE_ACTION); >-// // RAPEND: [bm] >-// menuItem.addSelectionListener(new SelectionAdapter() { >-// private static final String COMMAND_CLOSE_PERSP = "org.eclipse.ui.window.closePerspective"; //$NON-NLS-1$ >-// private static final String PARAMETER_CLOSE_PERSP_ID = "org.eclipse.ui.window.closePerspective.perspectiveId"; //$NON-NLS-1$ >-// >-// public void widgetSelected(SelectionEvent e) { >-// ToolItem perspectiveToolItem = (ToolItem) popupMenu >-// .getData(); >-// >-// if (perspectiveToolItem != null >-// && !perspectiveToolItem.isDisposed()) { >-// PerspectiveBarContributionItem item = (PerspectiveBarContributionItem) perspectiveToolItem >-// .getData(); >-// IPerspectiveDescriptor persp = item.getPerspective(); >-// >-// ICommandService commandService = (ICommandService) window.getService(ICommandService.class); >-// Command command = commandService.getCommand(COMMAND_CLOSE_PERSP); >-// >-// HashMap parameters = new HashMap(); >-// parameters.put(PARAMETER_CLOSE_PERSP_ID, persp.getId()); >-// >-// ParameterizedCommand pCommand = ParameterizedCommand.generateCommand(command, parameters); >-// >-// IHandlerService handlerService = (IHandlerService) window >-// .getService(IHandlerService.class); >-// try { >-// handlerService.executeCommand(pCommand, new Event()); >-// } catch (ExecutionException e1) { >-// } catch (NotDefinedException e1) { >-// } catch (NotEnabledException e1) { >-// } catch (NotHandledException e1) { >-// } >-// } >-// } >-// }); >-// } >+ private void showPerspectiveBarPopup(Point pt) { >+ if (perspectiveBar == null) { >+ return; >+ } >+ >+ // Get the tool item under the mouse. >+ ToolBar toolBar = perspectiveBar.getControl(); >+ ToolItem toolItem = toolBar.getItem(toolBar.toControl(pt)); >+ >+ // Get the action for the tool item. >+ Object data = null; >+ if (toolItem != null){ >+ data = toolItem.getData(); >+ } >+ if (toolItem == null >+ || !(data instanceof PerspectiveBarContributionItem)) { >+ if (genericMenu == null) { >+ Menu menu = new Menu(toolBar); >+ addDockOnSubMenu(menu); >+ addShowTextItem(menu); >+ genericMenu = menu; >+ } >+ >+ // set the state of the menu items to match the preferences >+ genericMenu >+ .getItem(1) >+ .setSelection( >+ PrefUtil >+ .getAPIPreferenceStore() >+ .getBoolean( >+ IWorkbenchPreferenceConstants.SHOW_TEXT_ON_PERSPECTIVE_BAR)); >+ updateLocationItems(genericMenu.getItem(0).getMenu(), >+ currentLocation); >+ >+ // Show popup menu. >+ genericMenu.setLocation(pt.x, pt.y); >+ genericMenu.setVisible(true); >+ return; >+ } >+ >+ if (data == null || !(data instanceof PerspectiveBarContributionItem)) { >+ return; >+ } >+ >+ PerspectiveBarContributionItem pbci = (PerspectiveBarContributionItem) data; >+ IPerspectiveDescriptor selectedPerspective = pbci.getPerspective(); >+ >+ // The perspective bar menu is created lazily here. >+ // Its data is set (each time) to the tool item, which refers to the SetPagePerspectiveAction >+ // which in turn refers to the page and perspective. >+ // It is important not to refer to the action, the page or the perspective directly >+ // since otherwise the menu hangs on to them after they are closed. >+ // By hanging onto the tool item instead, these references are cleared when the >+ // corresponding page or perspective is closed. >+ // See bug 11282 for more details on why it is done this way. >+ if (popupMenu != null) { >+ popupMenu.dispose(); >+ popupMenu = null; >+ } >+ popupMenu = createPopup(toolBar, selectedPerspective); >+ popupMenu.setData(toolItem); >+ >+ // Show popup menu. >+ popupMenu.setLocation(pt.x, pt.y); >+ popupMenu.setVisible(true); >+ } >+ >+ /** >+ * @param persp the perspective >+ * @return <code>true</code> if the perspective is active in the active page >+ */ >+ private boolean perspectiveIsActive(IPerspectiveDescriptor persp) { >+ IWorkbenchPage page = window.getActivePage(); >+ return page != null && persp.equals(page.getPerspective()); >+ } >+ >+ /** >+ * @param persp the perspective >+ * @return <code>true</code> if the perspective is open in the active page >+ */ >+ private boolean perspectiveIsOpen(IPerspectiveDescriptor persp) { >+ IWorkbenchPage page = window.getActivePage(); >+ return page != null && Arrays.asList(page.getOpenPerspectives()).contains(persp); >+ } >+ >+ private Menu createPopup(ToolBar toolBar, IPerspectiveDescriptor persp){ >+ Menu menu = new Menu(toolBar); >+ if (perspectiveIsActive(persp)) { >+ addCustomizeItem(menu); >+ addSaveAsItem(menu); >+ addResetItem(menu); >+ } >+ if (perspectiveIsOpen(persp)) { >+ addCloseItem(menu); >+ } >+ >+ new MenuItem(menu, SWT.SEPARATOR); >+ addDockOnSubMenu(menu); >+ addShowTextItem(menu); >+ return menu; >+ } >+ >+ private void addCloseItem(Menu menu) { >+ MenuItem menuItem = new MenuItem(menu, SWT.NONE); >+ menuItem.setText(WorkbenchMessages.get().WorkbenchWindow_close); >+ window.getWorkbench().getHelpSystem().setHelp(menuItem, >+ IWorkbenchHelpContextIds.CLOSE_PAGE_ACTION); >+ menuItem.addSelectionListener(new SelectionAdapter() { >+ private static final String COMMAND_CLOSE_PERSP = "org.eclipse.ui.window.closePerspective"; //$NON-NLS-1$ >+ private static final String PARAMETER_CLOSE_PERSP_ID = "org.eclipse.ui.window.closePerspective.perspectiveId"; //$NON-NLS-1$ >+ >+ public void widgetSelected(SelectionEvent e) { >+ ToolItem perspectiveToolItem = (ToolItem) popupMenu >+ .getData(); >+ >+ if (perspectiveToolItem != null >+ && !perspectiveToolItem.isDisposed()) { >+ PerspectiveBarContributionItem item = (PerspectiveBarContributionItem) perspectiveToolItem >+ .getData(); >+ IPerspectiveDescriptor persp = item.getPerspective(); >+ >+ ICommandService commandService = (ICommandService) window.getService(ICommandService.class); >+ Command command = commandService.getCommand(COMMAND_CLOSE_PERSP); >+ >+ HashMap parameters = new HashMap(); >+ parameters.put(PARAMETER_CLOSE_PERSP_ID, persp.getId()); >+ >+ ParameterizedCommand pCommand = ParameterizedCommand.generateCommand(command, parameters); >+ >+ IHandlerService handlerService = (IHandlerService) window >+ .getService(IHandlerService.class); >+ try { >+ handlerService.executeCommand(pCommand, new Event()); >+ } catch (ExecutionException e1) { >+ } catch (NotDefinedException e1) { >+ } catch (NotEnabledException e1) { >+ } catch (NotHandledException e1) { >+ } >+ } >+ } >+ }); >+ } > > /** > * @param direction one of <code>SWT.HORIZONTAL</code> or <code>SWT.VERTICAL</code> >@@ -996,188 +992,179 @@ > return barManager; > } > >- // RAP [bm]: >-// private void updateLocationItems(Menu parent, int newLocation) { >-// MenuItem left; >-// MenuItem topLeft; >-// MenuItem topRight; >-// >-// topRight = parent.getItem(0); >-// topLeft = parent.getItem(1); >-// left = parent.getItem(2); >-// >-// if (newLocation == LEFT) { >-// left.setSelection(true); >-// topRight.setSelection(false); >-// topLeft.setSelection(false); >-// } else if (newLocation == TOP_LEFT) { >-// topLeft.setSelection(true); >-// left.setSelection(false); >-// topRight.setSelection(false); >-// } else { >-// topRight.setSelection(true); >-// left.setSelection(false); >-// topLeft.setSelection(false); >-// } >-// } >- >- // RAP [bm]: >-// private void addDockOnSubMenu(Menu menu) { >-// MenuItem item = new MenuItem(menu, SWT.CASCADE); >-// item.setText(WorkbenchMessages.get().PerspectiveSwitcher_dockOn); >-// >-// final Menu subMenu = new Menu(item); >-// >-// final MenuItem menuItemTopRight = new MenuItem(subMenu, SWT.RADIO); >-// menuItemTopRight.setText(WorkbenchMessages.get().PerspectiveSwitcher_topRight); >-// >-// // RAP [bm]: HelpSystem >-//// window.getWorkbench().getHelpSystem().setHelp(menuItemTopRight, >-//// IWorkbenchHelpContextIds.DOCK_ON_PERSPECTIVE_ACTION); >-// >-// final MenuItem menuItemTopLeft = new MenuItem(subMenu, SWT.RADIO); >-// menuItemTopLeft.setText(WorkbenchMessages.get().PerspectiveSwitcher_topLeft); >-// >-// // RAP [bm]: HelpSystem >-//// window.getWorkbench().getHelpSystem().setHelp(menuItemTopLeft, >-//// IWorkbenchHelpContextIds.DOCK_ON_PERSPECTIVE_ACTION); >-// >-// final MenuItem menuItemLeft = new MenuItem(subMenu, SWT.RADIO); >-// menuItemLeft.setText(WorkbenchMessages.get().PerspectiveSwitcher_left); >-// >-// // RAP [bm]: HelpSystem >-//// window.getWorkbench().getHelpSystem().setHelp(menuItemLeft, >-//// IWorkbenchHelpContextIds.DOCK_ON_PERSPECTIVE_ACTION); >-// >-// SelectionListener listener = new SelectionAdapter() { >-// public void widgetSelected(SelectionEvent e) { >-// MenuItem item = (MenuItem) e.widget; >-// String pref = null; >-// if (item.equals(menuItemLeft)) { >-// updateLocationItems(subMenu, LEFT); >-// pref = IWorkbenchPreferenceConstants.LEFT; >-// } else if (item.equals(menuItemTopLeft)) { >-// updateLocationItems(subMenu, TOP_LEFT); >-// pref = IWorkbenchPreferenceConstants.TOP_LEFT; >-// } else { >-// updateLocationItems(subMenu, TOP_RIGHT); >-// pref = IWorkbenchPreferenceConstants.TOP_RIGHT; >-// } >-// IPreferenceStore apiStore = PrefUtil.getAPIPreferenceStore(); >-// if (!pref >-// .equals(apiStore >-// .getDefaultString(IWorkbenchPreferenceConstants.DOCK_PERSPECTIVE_BAR))) { >-// PrefUtil.getInternalPreferenceStore().setValue( >-// IPreferenceConstants.OVERRIDE_PRESENTATION, true); >-// } >-// apiStore.setValue( >-// IWorkbenchPreferenceConstants.DOCK_PERSPECTIVE_BAR, >-// pref); >-// } >-// }; >-// >-// menuItemTopRight.addSelectionListener(listener); >-// menuItemTopLeft.addSelectionListener(listener); >-// menuItemLeft.addSelectionListener(listener); >-// item.setMenu(subMenu); >-// updateLocationItems(subMenu, currentLocation); >-// } >-// >-// private void addShowTextItem(Menu menu) { >-// final MenuItem showtextMenuItem = new MenuItem(menu, SWT.CHECK); >-// showtextMenuItem.setText(WorkbenchMessages.get().PerspectiveBar_showText); >-// // RAP [bm]: HelpSystem >-//// window.getWorkbench().getHelpSystem().setHelp(showtextMenuItem, >-//// IWorkbenchHelpContextIds.SHOW_TEXT_PERSPECTIVE_ACTION); >-// >-// showtextMenuItem.addSelectionListener(new SelectionAdapter() { >-// public void widgetSelected(SelectionEvent e) { >-// if (perspectiveBar == null) { >-// return; >-// } >-// >-// boolean preference = showtextMenuItem.getSelection(); >-// if (preference != PrefUtil >-// .getAPIPreferenceStore() >-// .getDefaultBoolean( >-// IWorkbenchPreferenceConstants.SHOW_TEXT_ON_PERSPECTIVE_BAR)) { >-// PrefUtil.getInternalPreferenceStore().setValue( >-// IPreferenceConstants.OVERRIDE_PRESENTATION, true); >-// } >-// PrefUtil >-// .getAPIPreferenceStore() >-// .setValue( >-// IWorkbenchPreferenceConstants.SHOW_TEXT_ON_PERSPECTIVE_BAR, >-// preference); >-// } >-// }); >-// showtextMenuItem.setSelection( >-// PrefUtil >-// .getAPIPreferenceStore() >-// .getBoolean( >-// IWorkbenchPreferenceConstants.SHOW_TEXT_ON_PERSPECTIVE_BAR)); >-// } >-// >-// private void addCustomizeItem(Menu menu) { >-// final MenuItem customizeMenuItem = new MenuItem(menu, SWT.Activate); >-// customizeMenuItem.setText(WorkbenchMessages.get().PerspectiveBar_customize); >-// // RAP [bm]: HelpSystem >-//// window.getWorkbench().getHelpSystem().setHelp(customizeMenuItem, >-//// IWorkbenchHelpContextIds.EDIT_ACTION_SETS_ACTION); >-// customizeMenuItem.addSelectionListener(new SelectionAdapter() { >-// public void widgetSelected(SelectionEvent e) { >-// if (perspectiveBar == null) { >-// return; >-// } >-// IHandlerService handlerService = (IHandlerService) window >-// .getService(IHandlerService.class); >-// try { >-// handlerService.executeCommand( >-// "org.eclipse.ui.window.customizePerspective", null); //$NON-NLS-1$ >-// } catch (ExecutionException e1) { >-// } catch (NotDefinedException e1) { >-// } catch (NotEnabledException e1) { >-// } catch (NotHandledException e1) { >-// } >-// } >-// }); >-// } >-// >-// private void addSaveAsItem(Menu menu) { >-// final MenuItem saveasMenuItem = new MenuItem(menu, SWT.Activate); >-// saveasMenuItem.setText(WorkbenchMessages.get().PerspectiveBar_saveAs); >-// // RAP [bm]: HelpSystem >-//// window.getWorkbench().getHelpSystem().setHelp(saveasMenuItem, >-//// IWorkbenchHelpContextIds.SAVE_PERSPECTIVE_ACTION); >-// saveasMenuItem.addSelectionListener(new SelectionAdapter() { >-// public void widgetSelected(SelectionEvent e) { >-// if (perspectiveBar == null) { >-// return; >-// } >-// SavePerspectiveAction saveAction=new SavePerspectiveAction(window); >-// saveAction.setEnabled(true); >-// saveAction.run(); >-// } >-// }); >-// } >-// >-// private void addResetItem(Menu menu) { >-// final MenuItem resetMenuItem = new MenuItem(menu, SWT.Activate); >-// resetMenuItem.setText(WorkbenchMessages.get().PerspectiveBar_reset); >-// // RAP [bm]: >-//// window.getWorkbench().getHelpSystem().setHelp(resetMenuItem, >-//// IWorkbenchHelpContextIds.RESET_PERSPECTIVE_ACTION); >-// resetMenuItem.addSelectionListener(new SelectionAdapter() { >-// public void widgetSelected(SelectionEvent e) { >-// if (perspectiveBar == null) { >-// return; >-// } >-// ResetPerspectiveAction resetAction=new ResetPerspectiveAction(window); >-// resetAction.setEnabled(true); >-// resetAction.run(); >-// } >-// }); >-// } >+ private void updateLocationItems(Menu parent, int newLocation) { >+ MenuItem left; >+ MenuItem topLeft; >+ MenuItem topRight; >+ >+ topRight = parent.getItem(0); >+ topLeft = parent.getItem(1); >+ left = parent.getItem(2); >+ >+ if (newLocation == LEFT) { >+ left.setSelection(true); >+ topRight.setSelection(false); >+ topLeft.setSelection(false); >+ } else if (newLocation == TOP_LEFT) { >+ topLeft.setSelection(true); >+ left.setSelection(false); >+ topRight.setSelection(false); >+ } else { >+ topRight.setSelection(true); >+ left.setSelection(false); >+ topLeft.setSelection(false); >+ } >+ } >+ >+ private void addDockOnSubMenu(Menu menu) { >+ MenuItem item = new MenuItem(menu, SWT.CASCADE); >+ item.setText(WorkbenchMessages.get().PerspectiveSwitcher_dockOn); >+ >+ final Menu subMenu = new Menu(item); >+ >+ final MenuItem menuItemTopRight = new MenuItem(subMenu, SWT.RADIO); >+ menuItemTopRight.setText(WorkbenchMessages.get().PerspectiveSwitcher_topRight); >+ >+ window.getWorkbench().getHelpSystem().setHelp(menuItemTopRight, >+ IWorkbenchHelpContextIds.DOCK_ON_PERSPECTIVE_ACTION); >+ >+ final MenuItem menuItemTopLeft = new MenuItem(subMenu, SWT.RADIO); >+ menuItemTopLeft.setText(WorkbenchMessages.get().PerspectiveSwitcher_topLeft); >+ >+ window.getWorkbench().getHelpSystem().setHelp(menuItemTopLeft, >+ IWorkbenchHelpContextIds.DOCK_ON_PERSPECTIVE_ACTION); >+ >+ final MenuItem menuItemLeft = new MenuItem(subMenu, SWT.RADIO); >+ menuItemLeft.setText(WorkbenchMessages.get().PerspectiveSwitcher_left); >+ >+ window.getWorkbench().getHelpSystem().setHelp(menuItemLeft, >+ IWorkbenchHelpContextIds.DOCK_ON_PERSPECTIVE_ACTION); >+ >+ SelectionListener listener = new SelectionAdapter() { >+ public void widgetSelected(SelectionEvent e) { >+ MenuItem item = (MenuItem) e.widget; >+ String pref = null; >+ if (item.equals(menuItemLeft)) { >+ updateLocationItems(subMenu, LEFT); >+ pref = IWorkbenchPreferenceConstants.LEFT; >+ } else if (item.equals(menuItemTopLeft)) { >+ updateLocationItems(subMenu, TOP_LEFT); >+ pref = IWorkbenchPreferenceConstants.TOP_LEFT; >+ } else { >+ updateLocationItems(subMenu, TOP_RIGHT); >+ pref = IWorkbenchPreferenceConstants.TOP_RIGHT; >+ } >+ IPreferenceStore apiStore = PrefUtil.getAPIPreferenceStore(); >+ if (!pref >+ .equals(apiStore >+ .getDefaultString(IWorkbenchPreferenceConstants.DOCK_PERSPECTIVE_BAR))) { >+ PrefUtil.getInternalPreferenceStore().setValue( >+ IPreferenceConstants.OVERRIDE_PRESENTATION, true); >+ } >+ apiStore.setValue( >+ IWorkbenchPreferenceConstants.DOCK_PERSPECTIVE_BAR, >+ pref); >+ } >+ }; >+ >+ menuItemTopRight.addSelectionListener(listener); >+ menuItemTopLeft.addSelectionListener(listener); >+ menuItemLeft.addSelectionListener(listener); >+ item.setMenu(subMenu); >+ updateLocationItems(subMenu, currentLocation); >+ } >+ >+ private void addShowTextItem(Menu menu) { >+ final MenuItem showtextMenuItem = new MenuItem(menu, SWT.CHECK); >+ showtextMenuItem.setText(WorkbenchMessages.get().PerspectiveBar_showText); >+ window.getWorkbench().getHelpSystem().setHelp(showtextMenuItem, >+ IWorkbenchHelpContextIds.SHOW_TEXT_PERSPECTIVE_ACTION); >+ >+ showtextMenuItem.addSelectionListener(new SelectionAdapter() { >+ public void widgetSelected(SelectionEvent e) { >+ if (perspectiveBar == null) { >+ return; >+ } >+ >+ boolean preference = showtextMenuItem.getSelection(); >+ if (preference != PrefUtil >+ .getAPIPreferenceStore() >+ .getDefaultBoolean( >+ IWorkbenchPreferenceConstants.SHOW_TEXT_ON_PERSPECTIVE_BAR)) { >+ PrefUtil.getInternalPreferenceStore().setValue( >+ IPreferenceConstants.OVERRIDE_PRESENTATION, true); >+ } >+ PrefUtil >+ .getAPIPreferenceStore() >+ .setValue( >+ IWorkbenchPreferenceConstants.SHOW_TEXT_ON_PERSPECTIVE_BAR, >+ preference); >+ } >+ }); >+ showtextMenuItem.setSelection( >+ PrefUtil >+ .getAPIPreferenceStore() >+ .getBoolean( >+ IWorkbenchPreferenceConstants.SHOW_TEXT_ON_PERSPECTIVE_BAR)); >+ } >+ >+ private void addCustomizeItem(Menu menu) { >+ final MenuItem customizeMenuItem = new MenuItem(menu, SWT.Activate); >+ customizeMenuItem.setText(WorkbenchMessages.get().PerspectiveBar_customize); >+ window.getWorkbench().getHelpSystem().setHelp(customizeMenuItem, >+ IWorkbenchHelpContextIds.EDIT_ACTION_SETS_ACTION); >+ customizeMenuItem.addSelectionListener(new SelectionAdapter() { >+ public void widgetSelected(SelectionEvent e) { >+ if (perspectiveBar == null) { >+ return; >+ } >+ IHandlerService handlerService = (IHandlerService) window >+ .getService(IHandlerService.class); >+ try { >+ handlerService.executeCommand( >+ "org.eclipse.ui.window.customizePerspective", null); //$NON-NLS-1$ >+ } catch (ExecutionException e1) { >+ } catch (NotDefinedException e1) { >+ } catch (NotEnabledException e1) { >+ } catch (NotHandledException e1) { >+ } >+ } >+ }); >+ } >+ >+ private void addSaveAsItem(Menu menu) { >+ final MenuItem saveasMenuItem = new MenuItem(menu, SWT.Activate); >+ saveasMenuItem.setText(WorkbenchMessages.get().PerspectiveBar_saveAs); >+ window.getWorkbench().getHelpSystem().setHelp(saveasMenuItem, >+ IWorkbenchHelpContextIds.SAVE_PERSPECTIVE_ACTION); >+ saveasMenuItem.addSelectionListener(new SelectionAdapter() { >+ public void widgetSelected(SelectionEvent e) { >+ if (perspectiveBar == null) { >+ return; >+ } >+ SavePerspectiveAction saveAction=new SavePerspectiveAction(window); >+ saveAction.setEnabled(true); >+ saveAction.run(); >+ } >+ }); >+ } >+ >+ private void addResetItem(Menu menu) { >+ final MenuItem resetMenuItem = new MenuItem(menu, SWT.Activate); >+ resetMenuItem.setText(WorkbenchMessages.get().PerspectiveBar_reset); >+ window.getWorkbench().getHelpSystem().setHelp(resetMenuItem, >+ IWorkbenchHelpContextIds.RESET_PERSPECTIVE_ACTION); >+ resetMenuItem.addSelectionListener(new SelectionAdapter() { >+ public void widgetSelected(SelectionEvent e) { >+ if (perspectiveBar == null) { >+ return; >+ } >+ ResetPerspectiveAction resetAction=new ResetPerspectiveAction(window); >+ resetAction.setEnabled(true); >+ resetAction.run(); >+ } >+ }); >+ } > > /** > * Method to save the width of the perspective bar in the >Index: Eclipse UI/org/eclipse/ui/internal/ViewStack.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.rap/runtime.ui/org.eclipse.rap.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewStack.java,v >retrieving revision 1.2 >diff -u -r1.2 ViewStack.java >--- Eclipse UI/org/eclipse/ui/internal/ViewStack.java 6 May 2008 09:58:30 -0000 1.2 >+++ Eclipse UI/org/eclipse/ui/internal/ViewStack.java 23 Sep 2009 21:49:40 -0000 >@@ -17,7 +17,7 @@ > import org.eclipse.ui.internal.presentations.PresentationFactoryUtil; > import org.eclipse.ui.internal.presentations.SystemMenuDetach; > import org.eclipse.ui.internal.presentations.SystemMenuFastView; >-import org.eclipse.ui.internal.presentations.SystemMenuSize; >+//import org.eclipse.ui.internal.presentations.SystemMenuSize; > import org.eclipse.ui.internal.presentations.UpdatingActionContributionItem; > import org.eclipse.ui.presentations.AbstractPresentationFactory; > import org.eclipse.ui.presentations.IPresentablePart; >@@ -43,7 +43,9 @@ > > private WorkbenchPage page; > >- private SystemMenuSize sizeItem = new SystemMenuSize(null); >+ // RAP [bm]: size menu unusable due to missing keyboard support for Sash >+// private SystemMenuSize sizeItem = new SystemMenuSize(null); >+ // RAPEND: [bm] > > private SystemMenuFastView fastViewAction; > >@@ -54,8 +56,10 @@ > "misc", new UpdatingActionContributionItem(fastViewAction)); //$NON-NLS-1$ > appendToGroupIfPossible(menuManager, > "misc", new UpdatingActionContributionItem(detachViewAction)); //$NON-NLS-1$ >- sizeItem = new SystemMenuSize(getSelection()); >- appendToGroupIfPossible(menuManager, "size", sizeItem); //$NON-NLS-1$ >+ // RAP [bm]: size menu unusable due to missing keyboard support for Sash >+// sizeItem = new SystemMenuSize(getSelection()); >+// appendToGroupIfPossible(menuManager, "size", sizeItem); //$NON-NLS-1$ >+ // RAPEND: [bm] > } > > public ViewStack(WorkbenchPage page) { >@@ -117,7 +121,9 @@ > > fastViewAction.setPane(current); > detachViewAction.setPane(pane); >- sizeItem.setPane(pane); >+ // RAP [bm]: size menu unusable due to missing keyboard support for Sash >+// sizeItem.setPane(pane); >+ // RAPEND: [bm] > } > > /** >Index: Eclipse UI/org/eclipse/ui/internal/EditorStack.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.rap/runtime.ui/org.eclipse.rap.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorStack.java,v >retrieving revision 1.1 >diff -u -r1.1 EditorStack.java >--- Eclipse UI/org/eclipse/ui/internal/EditorStack.java 17 Apr 2008 12:03:51 -0000 1.1 >+++ Eclipse UI/org/eclipse/ui/internal/EditorStack.java 23 Sep 2009 21:49:39 -0000 >@@ -24,7 +24,7 @@ > import org.eclipse.ui.internal.presentations.PresentablePart; > import org.eclipse.ui.internal.presentations.PresentationFactoryUtil; > import org.eclipse.ui.internal.presentations.SystemMenuPinEditor; >-import org.eclipse.ui.internal.presentations.SystemMenuSize; >+//import org.eclipse.ui.internal.presentations.SystemMenuSize; > import org.eclipse.ui.internal.presentations.UpdatingActionContributionItem; > import org.eclipse.ui.internal.presentations.util.TabbedStackPresentation; > import org.eclipse.ui.internal.util.Util; >@@ -45,7 +45,8 @@ > > private WorkbenchPage page; > >- private SystemMenuSize sizeItem = new SystemMenuSize(null); >+ // RAP [bm]: size menu unusable due to missing keyboard support for Sash >+// private SystemMenuSize sizeItem = new SystemMenuSize(null); > > private SystemMenuPinEditor pinEditorItem = new SystemMenuPinEditor(null); > >@@ -72,8 +73,10 @@ > pinEditorItem = new SystemMenuPinEditor((EditorPane) getSelection()); > appendToGroupIfPossible(menuManager, > "misc", new UpdatingActionContributionItem(pinEditorItem)); //$NON-NLS-1$ >- sizeItem = new SystemMenuSize(getSelection()); >- appendToGroupIfPossible(menuManager, "size", sizeItem); //$NON-NLS-1$ >+ // RAP [bm]: size menu unusable due to missing keyboard support for Sash >+// sizeItem = new SystemMenuSize(getSelection()); >+// appendToGroupIfPossible(menuManager, "size", sizeItem); //$NON-NLS-1$ >+ // RAPEND: [bm] > } > > public boolean isMoveable(IPresentablePart part) { >@@ -122,7 +125,10 @@ > pane = (EditorPane) current.getPane(); > } > >- sizeItem.setPane(pane); >+ // RAP [bm]: size menu unusable due to missing keyboard support for Sash >+// sizeItem.setPane(pane); >+ // RAPEND: [bm] >+ > pinEditorItem.setPane(pane); > } > >Index: Eclipse UI/org/eclipse/ui/internal/FastViewBar.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.rap/runtime.ui/org.eclipse.rap.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FastViewBar.java,v >retrieving revision 1.4 >diff -u -r1.4 FastViewBar.java >--- Eclipse UI/org/eclipse/ui/internal/FastViewBar.java 7 Aug 2009 09:24:12 -0000 1.4 >+++ Eclipse UI/org/eclipse/ui/internal/FastViewBar.java 23 Sep 2009 21:49:40 -0000 >@@ -107,10 +107,7 @@ > private Listener addMenuListener = new Listener() { > public void handleEvent(Event event) { > Point loc = new Point(event.x, event.y); >- // RAP [bm]: SWT.MenuDetect >-// if (event.type == SWT.MenuDetect) { >- if (event.button == 2) { >- // RAPEND: [bm] >+ if (event.type == SWT.MenuDetect) { > showAddFastViewPopup(loc); > } > } >@@ -119,10 +116,7 @@ > private Listener menuListener = new Listener() { > public void handleEvent(Event event) { > Point loc = new Point(event.x, event.y); >- // RAP [bm]: >-// if (event.type == SWT.MenuDetect) { >- if (event.button == 2) { >- // RAPEND: [bm] >+ if (event.type == SWT.MenuDetect) { > showFastViewBarPopup(loc); > } > } >@@ -334,10 +328,7 @@ > String tip = WorkbenchMessages.get().FastViewBar_0; > fvbComposite.setToolTipText(tip); > >- // RAP [bm]: SWT.MenuDetect >-// fvbComposite.addListener(SWT.MenuDetect, menuListener); >- fvbComposite.addListener(SWT.MouseUp, menuListener); >- // RAPEND: [bm] >+ fvbComposite.addListener(SWT.MenuDetect, menuListener); > > // RAP [bm]: DnD > // PresentationUtil.addDragListener(fvbComposite, dragListener); >@@ -404,9 +395,8 @@ > > // Bring up the 'Add Fast View' menu on a left -or- right button click > // Right click (context menu) >- // RAP [bm]: SWT.MenuDetect >-// menuItem.addListener(SWT.MenuDetect, addMenuListener); >-// menuTB.addListener(SWT.MenuDetect, addMenuListener); >+ menuItem.addListener(SWT.MenuDetect, addMenuListener); >+ menuTB.addListener(SWT.MenuDetect, addMenuListener); > menuItem.addListener(SWT.MouseUp, addMenuListener); > menuTB.addListener(SWT.MouseUp, addMenuListener); > // RAPEND: [bm] >@@ -435,10 +425,7 @@ > > fastViewBar.createControl(fvbComposite); > >- // RAP [bm]: >-// getToolBar().addListener(SWT.MenuDetect, menuListener); >- getToolBar().addListener(SWT.MouseUp, menuListener); >- // RAPEND: [bm] >+ getToolBar().addListener(SWT.MenuDetect, menuListener); > > // RAP [bm]: DnD > // IDragOverListener fastViewDragTarget = new IDragOverListener() { >Index: Eclipse UI/org/eclipse/ui/internal/presentations/NativeStackPresentation.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.rap/runtime.ui/org.eclipse.rap.ui.workbench/Eclipse UI/org/eclipse/ui/internal/presentations/NativeStackPresentation.java,v >retrieving revision 1.6 >diff -u -r1.6 NativeStackPresentation.java >--- Eclipse UI/org/eclipse/ui/internal/presentations/NativeStackPresentation.java 12 Feb 2009 15:37:31 -0000 1.6 >+++ Eclipse UI/org/eclipse/ui/internal/presentations/NativeStackPresentation.java 23 Sep 2009 21:49:40 -0000 >@@ -85,22 +85,21 @@ > } > }; > >- // RAP [bm]: >-// private Listener menuListener = new Listener() { >-// /* (non-Javadoc) >-// * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event) >-// */ >-// public void handleEvent(Event event) { >-// Point pos = new Point(event.x, event.y); >-// // TabItem item = tabFolder.getItem(pos); >-// TabItem item = null; >-// IPresentablePart part = null; >-// if (item != null) { >-// part = getPartForTab(item); >-// } >-// showPaneMenu(part, pos); >-// } >-// }; >+ private Listener menuListener = new Listener() { >+ /* (non-Javadoc) >+ * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event) >+ */ >+ public void handleEvent(Event event) { >+ Point pos = new Point(event.x, event.y); >+ // TabItem item = tabFolder.getItem(pos); >+ TabItem item = null; >+ IPresentablePart part = null; >+ if (item != null) { >+ part = getPartForTab(item); >+ } >+ showPaneMenu(part, pos); >+ } >+ }; > > private Listener selectionListener = new Listener() { > public void handleEvent(Event e) { >@@ -157,8 +156,7 @@ > // listen for mouse down on tab to set focus. > tabFolder.addMouseListener(mouseListener); > >- // RAP [bm]: >-// tabFolder.addListener(SWT.MenuDetect, menuListener); >+ tabFolder.addListener(SWT.MenuDetect, menuListener); > > // RAP [bm]: > // dragListener = new Listener() { >#P org.eclipse.rap.jface >Index: src/org/eclipse/jface/action/ToolBarContributionItem.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.rap/runtime.ui/org.eclipse.rap.jface/src/org/eclipse/jface/action/ToolBarContributionItem.java,v >retrieving revision 1.3 >diff -u -r1.3 ToolBarContributionItem.java >--- src/org/eclipse/jface/action/ToolBarContributionItem.java 17 Apr 2008 09:35:43 -0000 1.3 >+++ src/org/eclipse/jface/action/ToolBarContributionItem.java 23 Sep 2009 21:49:43 -0000 >@@ -27,6 +27,8 @@ > import org.eclipse.swt.widgets.Control; > import org.eclipse.swt.widgets.CoolBar; > import org.eclipse.swt.widgets.CoolItem; >+import org.eclipse.swt.widgets.Event; >+import org.eclipse.swt.widgets.Listener; > import org.eclipse.swt.widgets.Menu; > import org.eclipse.swt.widgets.ToolBar; > import org.eclipse.swt.widgets.ToolItem; >@@ -211,18 +213,16 @@ > // ToolBarManager.createControl can actually return a pre-existing control. > // Only add the listener if the toolbar was newly created (bug 62097). > if (oldToolBar != toolBar) { >- // RAP [bm]: MenuDetect >-// toolBar.addListener(SWT.MenuDetect, new Listener() { >-// >-// public void handleEvent(Event event) { >-// // if the toolbar does not have its own context menu then >-// // handle the event >-// if (toolBarManager.getContextMenuManager() == null) { >-// handleContextMenu(event); >-// } >-// } >-// }); >- // RAPEND: [bm] >+ toolBar.addListener(SWT.MenuDetect, new Listener() { >+ >+ public void handleEvent(Event event) { >+ // if the toolbar does not have its own context menu then >+ // handle the event >+ if (toolBarManager.getContextMenuManager() == null) { >+ handleContextMenu(event); >+ } >+ } >+ }); > > } > >@@ -400,29 +400,29 @@ > * @param event > * the event object > */ >-// private void handleContextMenu(Event event) { >-// ToolBar toolBar = toolBarManager.getControl(); >-// // If parent has a menu then use that one >-// Menu parentMenu = toolBar.getParent().getMenu(); >-// if ((parentMenu != null) && (!parentMenu.isDisposed())) { >-// toolBar.setMenu(parentMenu); >-// // Hook listener to remove menu once it has disapeared >-// parentMenu.addListener(SWT.Hide, new Listener() { >-// >-// public void handleEvent(Event innerEvent) { >-// ToolBar innerToolBar = toolBarManager.getControl(); >-// if (innerToolBar != null) { >-// innerToolBar.setMenu(null); >-// Menu innerParentMenu = innerToolBar.getParent() >-// .getMenu(); >-// if (innerParentMenu != null) { >-// innerParentMenu.removeListener(SWT.Hide, this); >-// } >-// } >-// } >-// }); >-// } >-// } >+ private void handleContextMenu(Event event) { >+ ToolBar toolBar = toolBarManager.getControl(); >+ // If parent has a menu then use that one >+ Menu parentMenu = toolBar.getParent().getMenu(); >+ if ((parentMenu != null) && (!parentMenu.isDisposed())) { >+ toolBar.setMenu(parentMenu); >+ // Hook listener to remove menu once it has disapeared >+ parentMenu.addListener(SWT.Hide, new Listener() { >+ >+ public void handleEvent(Event innerEvent) { >+ ToolBar innerToolBar = toolBarManager.getControl(); >+ if (innerToolBar != null) { >+ innerToolBar.setMenu(null); >+ Menu innerParentMenu = innerToolBar.getParent() >+ .getMenu(); >+ if (innerParentMenu != null) { >+ innerParentMenu.removeListener(SWT.Hide, this); >+ } >+ } >+ } >+ }); >+ } >+ } > > /** > * Handles the disposal of the widget.
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 290303
:
147939
| 147941