/** * Creates any actions needed by the tray. */ private void createActions() { createImages(); closeAction = new ContributionItem() { public void fill(ToolBar parent, int index) { final ToolItem item = new ToolItem(parent, SWT.PUSH); item.setImage(normal); item.setHotImage(hover); item.setToolTipText(Messages.ReusableHelpPart_closeAction_tooltip); item.addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) { // close the tray TrayDialog dialog = (TrayDialog)shell.getData(); dialog.closeTray(); // set focus back to shell shell.setFocus(); } }); } }; }
private void displayContextAsHelpTray(Shell activeShell, IContext context) { Control controlInFocus = activeShell.getDisplay().getFocusControl(); TrayDialog dialog = (TrayDialog)activeShell.getData(); DialogTray tray = dialog.getTray(); if (tray == null) { tray = new HelpTray(); dialog.openTray(tray); } if (tray instanceof HelpTray) { ReusableHelpPart helpPart = ((HelpTray)tray).getHelpPart(); if (context != null) { IHelpResource[] topics = context.getRelatedTopics(); if (context.getText() == null && topics.length == 1) { helpPart.showURL(topics[0].getHref()); helpPart.update(context, null, controlInFocus); } else { helpPart.showPage(IHelpUIConstants.HV_CONTEXT_HELP_PAGE); helpPart.update(context, null, controlInFocus); } } else { helpPart.showPage(IHelpUIConstants.HV_FSEARCH_PAGE, true); } } else { // someone else was occupying the tray; not supported } }
ensureMinimumHeight(parent.getShell()); helpPart.getControl().setLayoutData(gd); createActions(); tbm.add(closeAction); hookPageChangeListener(shell); helpPart.getControl().addListener(SWT.Dispose, new Listener() { public void handleEvent(Event event) {
if (DefaultHelpUI.isActiveShell(parentShell, wbWindow) || HelpTray.isAppropriateFor(parentShell)) {
HelpTray tray = (HelpTray)dialog.getTray(); if (tray == null) { tray = new HelpTray(); dialog.openTray(tray); ReusableHelpPart helpPart = tray.getHelpPart(); IHelpPartPage page = helpPart.createPage(CheatSheetHelpPart.ID, null, null); page.setVerticalSpacing(0);
if (HelpTray.isAppropriateFor(activeShell) && (!dinfopop || noInfopop)) { displayContextAsHelpTray(activeShell, context); return;
HelpTray tray = (HelpTray)dialog.getTray(); if (tray == null) { tray = new HelpTray(); dialog.openTray(tray); ReusableHelpPart helpPart = tray.getHelpPart(); IHelpPartPage page = helpPart.createPage(CheatSheetHelpPart.ID, null, null); page.setVerticalSpacing(0);