Java 类org.eclipse.ui.forms.HyperlinkGroup 实例源码

项目:eZooKeeper    文件:DataModelFormEditor.java   
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;
}