package org.eclipse.update.internal.ui.manager; | |
/* | |
* (c) Copyright IBM Corp. 2000, 2001. | |
* All Rights Reserved. | |
*/ | |
import org.eclipse.swt.widgets.*; | |
import org.eclipse.update.ui.forms.*; | |
import org.eclipse.update.ui.forms.FormWidgetFactory; | |
import org.eclipse.update.core.*; | |
import org.eclipse.swt.layout.*; | |
import java.net.URL; | |
import org.eclipse.swt.SWT; | |
import org.eclipse.update.internal.ui.UpdateUIPlugin; | |
public class InfoGroup extends ExpandableGroup { | |
private static final String KEY_TEXT = "InfoGroup.plainTextVersion"; | |
private static final String KEY_HTML = "InfoGroup.htmlVersion"; | |
private IURLEntry info; | |
private SelectableFormLabel textLink; | |
private SelectableFormLabel urlLink; | |
private String textLabelText; | |
private String urlLabelText; | |
private DetailsView view; | |
public InfoGroup(DetailsView view) { | |
this.view = view; | |
textLabelText = UpdateUIPlugin.getResourceString(KEY_TEXT); | |
urlLabelText = UpdateUIPlugin.getResourceString(KEY_HTML); | |
} | |
public void fillExpansion(Composite expansion, FormWidgetFactory factory) { | |
GridLayout layout = new GridLayout(); | |
expansion.setLayout(layout); | |
layout.marginWidth = 0; | |
textLink = new SelectableFormLabel(expansion, SWT.NULL); | |
textLink.setText(textLabelText); | |
factory.turnIntoHyperlink(textLink, new HyperlinkAdapter() { | |
public void linkActivated(Control link) { | |
showText(); | |
} | |
}); | |
GridData gd = new GridData(GridData.FILL_HORIZONTAL); | |
//textLink.setLayoutData(gd); | |
urlLink = new SelectableFormLabel(expansion, SWT.NULL); | |
urlLink.setText(urlLabelText); | |
factory.turnIntoHyperlink(urlLink, new HyperlinkAdapter() { | |
public void linkActivated(Control link) { | |
showURL(); | |
} | |
}); | |
gd = new GridData(GridData.FILL_HORIZONTAL); | |
//urlLink.setLayoutData(gd); | |
} | |
protected void linkActivated() { | |
boolean hasText = info.getAnnotation()!=null && info.getAnnotation().length()>0; | |
boolean hasURL = info.getURL()!=null; | |
if (hasText && hasURL) return; | |
if (hasText) | |
showText(); | |
else if (hasURL) | |
showURL(); | |
} | |
public void setInfo(IURLEntry info) { | |
this.info = info; | |
boolean hasText = info.getAnnotation()!=null && info.getAnnotation().length()>0; | |
boolean hasURL = info.getURL()!=null; | |
setExpandable(hasText && hasURL); | |
setExpanded(false); | |
} | |
public void setTextLabel(String text) { | |
textLabelText = text; | |
} | |
public void setURLLabel(String text) { | |
urlLabelText = text; | |
} | |
private void showText() { | |
String text = info.getAnnotation(); | |
view.showText(text); | |
} | |
private void showURL() { | |
URL url = info.getURL(); | |
view.showURL(url.toString()); | |
} | |
} |