public static ImageHyperlink createDropHyperlink( final FormToolkit toolkit, final Composite parent, final String text) { final ImageHyperlink link = toolkit.createImageHyperlink(parent, SWT.WRAP | SWT.CENTER | SWT.RIGHT); link.setBackground(parent.getBackground()); link.setForeground(parent.getForeground()); final Image arrow = ImageUtils.createDisclosureTriangle(link); link.setText(text); link.setImage(arrow); link.setUnderlined(false); link.addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(final DisposeEvent e) { if (arrow != null) { arrow.dispose(); } } }); return link; }
public static ImageHyperlink createDropHyperlink( final FormToolkit toolkit, final Composite parent, final String text, final Menu menu) { final ImageHyperlink link = createDropHyperlink(toolkit, parent, text); link.setMenu(menu); link.addHyperlinkListener(new HyperlinkAdapter() { @Override public void linkActivated(final HyperlinkEvent e) { PageHelpers.showPopup(link); } }); final Point point = link.getLocation(); point.y += link.getSize().y; link.getMenu().setLocation(point); link.getMenu().setVisible(false); return link; }
private void createControls() { Composite cloudForgeComposite = new Composite(this, SWT.NULL); GridLayout layout = new GridLayout(); layout.numColumns = 1; cloudForgeComposite.setLayout(layout); GridData data = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL); cloudForgeComposite.setLayoutData(data); ImageHyperlink cloudForgeLink = new ImageHyperlink(cloudForgeComposite, SWT.NONE); cloudForgeLink.setImage(SVNUIPlugin.getPlugin().getImageDescriptor(ISVNUIConstants.IMG_CLOUDFORGE).createImage()); cloudForgeLink.addHyperlinkListener(new HyperlinkAdapter() { @Override public void linkActivated(HyperlinkEvent evt) { try { PlatformUI.getWorkbench().getBrowserSupport().getExternalBrowser().openURL(new URL(SIGNUP_URL)); } catch (Exception e) { MessageDialog.openError(getShell(), "Sign-up for CloudForge", e.getMessage()); } } }); cloudForgeLink.setToolTipText(SIGNUP_URL); }
protected void createHelpWidget(final Composite parent, final Control control, String helpId) { final ImageHyperlink helpWidget = toolkit.createImageHyperlink(parent, SWT.CENTER); Image defaultImage = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_LCL_LINKTO_HELP); helpWidget.setImage(defaultImage); GridDataFactory.fillDefaults().align(SWT.FILL, SWT.TOP).applyTo(helpWidget); helpWidget.setToolTipText(JFaceResources.getString(IDialogLabelKeys.HELP_LABEL_KEY)); helpWidget.addMouseListener(new MouseAdapter() { public void mouseDown(MouseEvent e) { control.setFocus(); PlatformUI.getWorkbench().getHelpSystem().displayDynamicHelp(); } }); GridDataFactory.fillDefaults().applyTo(helpWidget); helpWidget.setEnabled(true); setHelpContext(control, helpId); }
/** * @param matcherImageHyperLink * @param bot * @return */ public static boolean openWizard(Matcher matcherImageHyperLink, SWTWorkbenchBot bot) { @SuppressWarnings("unchecked") ImageHyperlink link = (ImageHyperlink) bot .widget(matcherImageHyperLink); link.getClass(); SWTBotImageHyperlink swtbotImageHyperLink = new SWTBotImageHyperlink( link); swtbotImageHyperLink.click(); if (swtbotImageHyperLink.isEnabled()) { return true; } return false; }
@Test public void testESBConfigProjectCreation() throws Exception { assertTrue(Properties.ERROR_OPEN_DASHBOARD, DashBoardCreation.openDashBoard(bot)); @SuppressWarnings({ "rawtypes", "unchecked" }) Matcher matcherImageHyperLink = allOf( widgetOfType(ImageHyperlink.class), withText(EndPointCreation.IMAGE_HYPER_LINK)); assertTrue(Properties.ERROR_OPEN_CREATION_WIZARD, DashBoardCreation.openWizard(matcherImageHyperLink, bot)); SWTBotShell shell = bot .shell(EndPointCreation.SHELL_CREATE_NEW_ENDPOINT); shell.activate(); EndPointCreation.handleCreationWizard(bot); assertTrue(EndPointCreation.checkCreatedProject(bot)); }
private void createItems(FormToolkit tk, Composite body) { int i = 0; LinkClick click = new LinkClick(); for (BaseDescriptor d : results) { if (i > 1000) break; i++; Composite comp = tk.createComposite(body); UI.gridData(comp, true, false); UI.gridLayout(comp, 1).verticalSpacing = 3; ImageHyperlink link = tk.createImageHyperlink(comp, SWT.TOP); link.setText(Labels.getDisplayName(d)); link.setImage(Images.get(d)); link.setForeground(Colors.linkBlue()); link.setData(d); link.addHyperlinkListener(click); renderCategory(tk, d, comp); renderDescription(tk, d, comp); } }
private void createFolderLink(Composite composite) { UI.formLabel(composite, tk, "Location"); ImageHyperlink link = tk.createImageHyperlink(composite, SWT.TOP); File folder = ShapeFileUtils.getFolder(method()); link.setText(Strings.cut(folder.getAbsolutePath(), 75)); link.setImage(Icon.FOLDER.get()); link.setForeground(Colors.linkBlue()); link.setToolTipText(folder.getAbsolutePath()); Controls.onClick(link, e -> { try { if (folder.exists() && folder.isDirectory()) Desktop.getDesktop().open(folder); } catch (Exception ex) { log.error("failed to open shape-file folder", ex); } }); }
private void createCategoryViewer(Composite client) { Composite container = toolkit.createComposite(client); UI.gridLayout(container, App.isCommentingEnabled() ? 3 : 2, 10, 0); UI.gridData(container, true, false); new Label(container, SWT.NONE).setText(M.ImpactCategory); categoryViewer = new ImpactCategoryViewer(container); CategoryChange categoryChange = new CategoryChange(); categoryViewer.addSelectionChangedListener(categoryChange); categoryViewer.setInput(getDescriptorList()); editor.getEventBus().register(categoryChange); commentControl = new ImageHyperlink(container, SWT.NONE); UI.gridData(commentControl, false, false).verticalAlignment = SWT.TOP; Controls.onClick(commentControl, (e) -> { ImpactCategoryDescriptor category = categoryViewer.getSelected(); if (category == null) return; String path = CommentPaths.get(category) + ".impactFactors"; if (!editor.hasComment(path)) return; new CommentDialog(path, editor.getComments()).open(); }); if (!App.isCommentingEnabled()) return; commentControl.setImage(Icon.SHOW_COMMENTS.get()); commentControl.setToolTipText(M.ShowComments); }
private void element(String text, Object model, int colorIndex) { if (model instanceof CategorizedDescriptor || model instanceof CategorizedEntity) { ImageHyperlink link = new ImageHyperlink(composite, SWT.TOP); link.setText(text); link.setImage(getImage(colorIndex)); Controls.onClick(link, (e) -> { if (model instanceof CategorizedDescriptor) { App.openEditor((CategorizedDescriptor) model); } else if (model instanceof CategorizedEntity) { App.openEditor((CategorizedEntity) model); } }); createdLinks.push(link); } else { CLabel label = new CLabel(composite, SWT.TOP); label.setImage(getImage(colorIndex)); label.setText(text); createdLinks.push(label); } }
public ColumnHeader(Composite parent, AgendaWeek aw){ super(parent, SWT.NONE); view = aw; if (UiDesk.getImage(IMG_PERSONS_NAME) == null) { UiDesk.getImageRegistry().put(IMG_PERSONS_NAME, Activator.getImageDescriptor(IMG_PERSONS_PATH)); } ihRes = new ImageHyperlink(this, SWT.NONE); ihRes.setImage(UiDesk.getImage(IMG_PERSONS_NAME)); ihRes.setToolTipText(Messages.ColumnHeader_selectDaysToDisplay); ihRes.addHyperlinkListener(new HyperlinkAdapter() { @Override public void linkActivated(HyperlinkEvent e){ new SelectDaysDlg().open(); } }); }
ColumnHeader(Composite parent, AgendaParallel v){ super(parent, SWT.NONE); view = v; if (UiDesk.getImage(IMG_PERSONS_NAME) == null) { UiDesk.getImageRegistry().put(IMG_PERSONS_NAME, Activator.getImageDescriptor(IMG_PERSONS_PATH)); } ihRes = new ImageHyperlink(this, SWT.NONE); ihRes.setImage(UiDesk.getImage(IMG_PERSONS_NAME)); ihRes.setToolTipText(Messages.ColumnHeader_selectMandatorToShow); ihRes.addHyperlinkListener(new HyperlinkAdapter() { @Override public void linkActivated(HyperlinkEvent e){ new SelectResourceDlg().open(); } }); }
protected BaseControlContribution createImageHyperlinkToolBarContribution(String id, final DataModel<?, ?, ?> model, final DataModelElementType modelElementType) { BaseControlContribution controlContribution = new BaseControlContribution(id) { @Override protected Control createControlInternal(Composite parent) { ImageHyperlink imageHyperlink = new ImageHyperlink(parent, SWT.TOP | SWT.WRAP); HyperlinkGroup group = new HyperlinkGroup(imageHyperlink.getDisplay()); group.setHyperlinkUnderlineMode(HyperlinkSettings.UNDERLINE_HOVER); group.add(imageHyperlink); imageHyperlink.addHyperlinkListener(new HyperlinkAdapter() { @Override public void linkActivated(HyperlinkEvent e) { BaseOpenAction openAction = modelElementType.getOpenAction(); if (openAction != null) { try { openAction.runWithObject(model); } catch (Exception e1) { openAction.reportError(e1); } } } }); ElementTypeDataModelImageHyperlinkView view = new ElementTypeDataModelImageHyperlinkView(model, imageHyperlink, modelElementType); view.updateView(); return imageHyperlink; } }; return controlContribution; }
@Override public Composite getPageContent( final FormToolkit toolkit, final Composite parent, final int style, final TeamExplorerContext context) { final Composite composite = toolkit.createComposite(parent); // Form-style border painting not enabled (0 pixel margins OK) because // no applicable controls in this composite SWTUtil.gridLayout(composite, 3, false, 0, 5); // Create the new work item hyper-link final String linkText = Messages.getString("TeamExplorerWorkItemPage.NewWorkItemLinkText"); //$NON-NLS-1$ final Menu menu = createNewWorkItemMenu(composite.getShell(), context); final ImageHyperlink link = PageHelpers.createDropHyperlink(toolkit, composite, linkText, menu); GridDataBuilder.newInstance().applyTo(link); final Label separator = toolkit.createLabel(composite, "|", SWT.VERTICAL); //$NON-NLS-1$ GridDataBuilder.newInstance().vFill().applyTo(separator); // Create the new query hyper-link. final String title = Messages.getString("TeamExplorerWorkItemsQueriesSection.NewQueryLinkText"); //$NON-NLS-1$ final Hyperlink newQueryHyperlink = toolkit.createHyperlink(composite, title, SWT.WRAP); newQueryHyperlink.setUnderlined(false); newQueryHyperlink.addHyperlinkListener(new HyperlinkAdapter() { @Override public void linkActivated(final HyperlinkEvent e) { WorkItemHelpers.openNewQuery(context); } }); GridDataBuilder.newInstance().applyTo(newQueryHyperlink); CodeMarkerDispatch.dispatch(WORKITEMS_PAGE_LOADED); return composite; }
@Override public void createCompositeHeader( final FormToolkit toolkit, final Composite composite, final TeamExplorerContext context) { final Composite headerComposite = toolkit.createComposite(composite); // Form-style border painting not enabled (0 pixel margins OK) because // no applicable controls in this composite SWTUtil.gridLayout(headerComposite, 3, false, 0, 0); GridDataBuilder.newInstance().applyTo(headerComposite); final String title = Messages.getString("TeamExplorerPendingChangesIncludedSection.ExcludeAllLinkText"); //$NON-NLS-1$ final Hyperlink includeAllHyperlink = toolkit.createHyperlink(headerComposite, title, SWT.WRAP); includeAllHyperlink.setUnderlined(false); AutomationIDHelper.setWidgetID(includeAllHyperlink, EXCLUDE_ALL_HYPERLINK_ID); includeAllHyperlink.addHyperlinkListener(new HyperlinkAdapter() { @Override public void linkActivated(final HyperlinkEvent e) { getModel().excludeAllPendingChanges(); clearFilterTextbox(); TeamExplorerHelpers.updateContainingSectionTitle(treeComposite, getTitle()); } }); GridDataBuilder.newInstance().applyTo(includeAllHyperlink); final Label separator = toolkit.createLabel(headerComposite, "|", SWT.VERTICAL); //$NON-NLS-1$ GridDataBuilder.newInstance().vFill().applyTo(separator); final String linkText = Messages.getString("TeamExplorerPendingChangesIncludedSection.FilterLinkText"); //$NON-NLS-1$ final Menu menu = createFilterMenu(composite.getShell()); final ImageHyperlink link = PageHelpers.createDropHyperlink(toolkit, headerComposite, linkText, menu); GridDataBuilder.newInstance().applyTo(link); }
@Override public Composite createControl(final Composite parent){ // Form form=tk.createForm(parent); // form.setLayoutData(SWTHelper.getFillGridData(1,true,1,false)); // Composite ret=form.getBody(); Composite ret = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(2, false); layout.marginWidth = 0; ret.setLayout(layout); ret.setBackground(parent.getBackground()); ImageHyperlink hClr = tk.createImageHyperlink(ret, SWT.NONE); //$NON-NLS-1$ hClr.setImage(Images.IMG_CLEAR.getImage()); hClr.addHyperlinkListener(new HyperlinkAdapter() { @Override public void linkActivated(final HyperlinkEvent e){ clearValues(); } }); hClr.setBackground(parent.getBackground()); inner = new Composite(ret, SWT.NONE); GridLayout lRet = new GridLayout(fields.length, true); inner.setLayout(lRet); inner.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); populateInnerComposite(); return ret; }
@Override public void linkActivated(HyperlinkEvent e) { ImageHyperlink link = (ImageHyperlink) e.widget; Object data = link.getData(); if (data instanceof CategoryDescriptor) { CategoryDescriptor d = (CategoryDescriptor) data; Category c = Cache.getEntityCache().get(Category.class, d.getId()); Navigator.select(c); } else if (data instanceof CategorizedDescriptor) { App.openEditor((CategorizedDescriptor) data); } }
private void renderFlowLink(Image image, Composite composite, ProcessDescriptor d) { ImageHyperlink link = new ImageHyperlink(composite, SWT.TOP); link.setText(Labels.getDisplayName(d)); link.setToolTipText(Labels.getDisplayInfoText(d)); link.setImage(image); link.setForeground(Colors.linkBlue()); Controls.onClick(link, e -> { ProcessDao dao = new ProcessDao(database); Process p = dao.getForId(d.getId()); App.openEditor(p); }); }
private void renderUsageLink(Image image, Composite composite, int rest) { if (rest < 1) return; ImageHyperlink link = new ImageHyperlink(composite, SWT.TOP); link.setText(rest + " more"); // TODO: @translate link.setImage(image); link.setForeground(Colors.linkBlue()); Controls.onClick(link, e -> UsageView.open(Descriptors.toDescriptor(flow))); }
private void initControl(Composite parent, FormToolkit toolkit) { if (!App.isCommentingEnabled() || comments == null || !comments.hasPath(path)) { UI.filler(parent, toolkit); return; } ImageHyperlink control = new ImageHyperlink(parent, SWT.NONE); UI.gridData(control, false, false).verticalAlignment = SWT.TOP; Controls.onClick(control, (e) -> { new CommentDialog(path, comments).open(); }); control.setImage(Icon.SHOW_COMMENTS.get()); control.setToolTipText(M.Comment); }
@Override protected void setWidgetImage(ImageHyperlink widget, Image image) { widget.setImage(image); }
@Override protected void setWidgetText(ImageHyperlink widget, String text) { widget.setText(text); }
@Override protected void setWidgetToolTipText(ImageHyperlink widget, String toolTipText) { widget.setToolTipText(toolTipText); }
protected ImageHyperlink link(Composite parent, String label, String property) { return Widgets.link(parent, label, property, getEditor(), getToolkit()); }
private static void decorateLink(ImageHyperlink link, CategorizedEntity entity) { link.setText(Labels.getDisplayName(entity)); link.setImage(Images.get(entity)); Controls.onClick(link, (e) -> App.openEditor(entity)); }
private static void decorateLink(ImageHyperlink link, CategorizedDescriptor entity) { link.setText(Labels.getDisplayName(entity)); link.setImage(Images.get(entity)); Controls.onClick(link, (e) -> App.openEditor(entity)); }
@Test public void testESBConfigProjectCreation() throws Exception { assertTrue(Properties.ERROR_OPEN_DASHBOARD, DashBoardCreation.openDashBoard(bot)); @SuppressWarnings({ "rawtypes", "unchecked" }) Matcher matcherImageHyperLink = allOf( widgetOfType(ImageHyperlink.class), withText(ESBConfigProjectCreation.IMAGE_HYPER_LINK)); assertTrue(Properties.ERROR_OPEN_CREATION_WIZARD, DashBoardCreation.openWizard(matcherImageHyperLink, bot)); SWTBotShell shell = bot.shell(Properties.SHELL_EMPTY_STRING); shell.activate(); ESBConfigProjectCreation.handleCreationWizard(bot); SWTBotTreeItem swtBotTreeItem = ESBConfigProjectCreation .checkCreatedProject(bot); int count = ESBConfigProjectCreation.getArtifactCount(bot, swtBotTreeItem); assertEquals( PropertiesESB.ERROR_MSG_ESB_CONFIG_PROJECT_MISSING_ITS_ARTIFACT, count, PropertiesESB.ARITFACT_COUNT_4); }
/** * Constructor. * * @param model The {@link DataModel}. * @param widget The {@link ImageHyperlink} view. * @param elementType The model's {@link IElementType}. */ public ElementTypeDataModelImageHyperlinkView(DataModel<?, ?, ?> model, ImageHyperlink widget, IElementType elementType) { super(model, widget, elementType); }