Java 类org.eclipse.ui.internal.about.AboutBundleGroupData 实例源码
项目:mytourbook
文件:LocalizeDialog.java
public LocalizeDialog(Shell shell, ITranslatableText tabTitle, ITranslatableSet targetLanguageSet, ITranslatableSet menuTextSet) {
super(shell);
this.tabTitle = tabTitle;
this.targetLanguageSet = targetLanguageSet;
this.menuTextSet = menuTextSet;
// create a descriptive object for each BundleGroup
IBundleGroupProvider[] providers = Platform.getBundleGroupProviders();
LinkedList groups = new LinkedList();
if (providers != null) {
for (int i = 0; i < providers.length; ++i) {
IBundleGroup[] bundleGroups = providers[i].getBundleGroups();
for (int j = 0; j < bundleGroups.length; ++j) {
groups.add(new AboutBundleGroupData(bundleGroups[j]));
}
}
}
bundleGroupInfos = (AboutBundleGroupData[]) groups
.toArray(new AboutBundleGroupData[0]);
}
项目:relations
文件:AboutFeaturesPage.java
/**
* The Plugins button was pressed. Open an about dialog on the plugins for
* the selected feature.
*/
private void handlePluginInfoPressed() {
final TableItem[] items = table.getSelection();
if (items.length <= 0) {
return;
}
final AboutBundleGroupData info = (AboutBundleGroupData) items[0]
.getData();
final IBundleGroup bundleGroup = info.getBundleGroup();
final Bundle[] bundles = bundleGroup == null ? new Bundle[0]
: bundleGroup.getBundles();
final AboutPluginsDialog d = new AboutPluginsDialog(getShell(),
getProductName(), bundles,
WorkbenchMessages.AboutFeaturesDialog_pluginInfoTitle,
NLS.bind(
WorkbenchMessages.AboutFeaturesDialog_pluginInfoMessage,
bundleGroup.getIdentifier()),
IWorkbenchHelpContextIds.ABOUT_FEATURES_PLUGINS_DIALOG);
d.open();
}
项目:relations
文件:AboutFeaturesPage.java
/**
* Update the button enablement
*/
private void updateButtons(AboutBundleGroupData info) {
if (info == null) {
moreButton.setEnabled(false);
pluginsButton.setEnabled(false);
return;
}
// Creating the feature map is too much just to determine enablement, so
// if
// it doesn't already exist, just enable the buttons. If this was the
// wrong
// choice, then when the button is actually pressed an dialog will be
// opened.
if (featuresMap == null) {
moreButton.setEnabled(true);
pluginsButton.setEnabled(true);
return;
}
moreButton.setEnabled(info.getLicenseUrl() != null);
pluginsButton.setEnabled(true);
}
项目:relations
文件:AboutFeaturesPage.java
/**
* Update the info area
*/
private void updateInfoArea(AboutBundleGroupData info) {
if (info == null) {
imageLabel.setImage(null);
text.setText(""); //$NON-NLS-1$
return;
}
final ImageDescriptor desc = info.getFeatureImage();
Image image = (Image) cachedImages.get(desc);
if (image == null && desc != null) {
image = desc.createImage();
cachedImages.put(desc, image);
}
imageLabel.setImage(image);
final String aboutText = info.getAboutText();
textManager.setItem(null);
if (aboutText != null) {
textManager.setItem(AboutUtils.scan(aboutText));
}
if (textManager.getItem() == null) {
text.setText(WorkbenchMessages.AboutFeaturesDialog_noInformation);
}
}
项目:relations
文件:AboutFeaturesPage.java
/**
* The More Info button was pressed. Open a browser with the license for the
* selected item or an information dialog if there is no license, or the
* browser cannot be opened.
*/
private void handleMoreInfoPressed() {
final TableItem[] items = table.getSelection();
if (items.length <= 0) {
return;
}
final AboutBundleGroupData info = (AboutBundleGroupData) items[0]
.getData();
if (info == null
|| !AboutUtils.openBrowser(getShell(), info.getLicenseUrl())) {
MessageDialog.openInformation(getShell(),
WorkbenchMessages.AboutFeaturesDialog_noInfoTitle,
WorkbenchMessages.AboutFeaturesDialog_noInformation);
}
}
项目:relations
文件:AboutDialog.java
/**
* @param shell
*/
public AboutDialog(Shell shell) {
super(shell);
product = Platform.getProduct();
if (product != null) {
productName = product.getName();
}
if (productName == null) {
productName = WorkbenchMessages.AboutDialog_defaultProductName;
}
// create a descriptive object for each BundleGroup
final IBundleGroupProvider[] providers = Platform.getBundleGroupProviders();
final LinkedList<AboutBundleGroupData> groups = new LinkedList<AboutBundleGroupData>();
if (providers != null) {
for (final IBundleGroupProvider provider : providers) {
final IBundleGroup[] bundleGroups = provider.getBundleGroups();
for (final IBundleGroup bundleGroup : bundleGroups) {
groups.add(new AboutBundleGroupData(bundleGroup));
}
}
}
bundleGroupInfos = groups.toArray(new AboutBundleGroupData[0]);
}
项目:relations
文件:AboutFeaturesDialog.java
/**
* Constructor for AboutFeaturesDialog.
*
* @param parentShell
* the parent shell
* @param productName
* the product name
* @param bundleGroupInfos
* the bundle info
*/
public AboutFeaturesDialog(Shell parentShell, String productName,
AboutBundleGroupData[] bundleGroupInfos,
AboutBundleGroupData initialSelection) {
super(parentShell);
final AboutFeaturesPage page = new AboutFeaturesPage();
page.setProductName(productName);
page.setBundleGroupInfos(bundleGroupInfos);
page.setInitialSelection(initialSelection);
String title;
if (productName != null) {
title = NLS.bind(WorkbenchMessages.AboutFeaturesDialog_shellTitle,
productName);
} else {
title = WorkbenchMessages.AboutFeaturesDialog_SimpleTitle;
}
initializeDialog(page, title,
IWorkbenchHelpContextIds.ABOUT_FEATURES_DIALOG);
}
项目:relations
文件:AboutFeaturesPage.java
private void initializeBundleGroupInfos() {
if (bundleGroupInfos == null) {
final IBundleGroupProvider[] providers = Platform
.getBundleGroupProviders();
// create a descriptive object for each BundleGroup
final LinkedList groups = new LinkedList();
if (providers != null) {
for (int i = 0; i < providers.length; ++i) {
final IBundleGroup[] bundleGroups = providers[i]
.getBundleGroups();
for (int j = 0; j < bundleGroups.length; ++j) {
groups.add(new AboutBundleGroupData(bundleGroups[j]));
}
}
}
bundleGroupInfos = (AboutBundleGroupData[]) groups
.toArray(new AboutBundleGroupData[0]);
} else {
// the order of the array may be changed due to sorting, so create a
// copy, since the client set this value.
final AboutBundleGroupData[] clientArray = bundleGroupInfos;
bundleGroupInfos = new AboutBundleGroupData[clientArray.length];
System.arraycopy(clientArray, 0, bundleGroupInfos, 0,
clientArray.length);
}
AboutData.sortByProvider(reverseSort, bundleGroupInfos);
}
项目:relations
文件:AboutFeaturesPage.java
@Override
public void createPageButtons(Composite parent) {
moreButton = createButton(parent, MORE_ID,
WorkbenchMessages.AboutFeaturesDialog_moreInfo);
pluginsButton = createButton(parent, PLUGINS_ID,
WorkbenchMessages.AboutFeaturesDialog_pluginsInfo);
createButton(parent, COLUMNS_ID,
WorkbenchMessages.AboutFeaturesDialog_columns);
final TableItem[] items = table.getSelection();
if (items.length > 0) {
updateButtons((AboutBundleGroupData) items[0].getData());
}
}
项目:relations
文件:AboutDialog.java
private void createFeatureImageButtonRow(Composite parent) {
final Composite featureContainer = new Composite(parent, SWT.NONE);
final RowLayout rowLayout = new RowLayout();
rowLayout.wrap = true;
featureContainer.setLayout(rowLayout);
final GridData data = new GridData();
data.horizontalAlignment = GridData.FILL;
featureContainer.setLayoutData(data);
for (final AboutBundleGroupData bundleGroupInfo : bundleGroupInfos) {
createFeatureButton(featureContainer, bundleGroupInfo);
}
}
项目:relations
文件:AboutDialog.java
private Button createFeatureButton(Composite parent,
final AboutBundleGroupData info) {
if (!buttonManager.add(info)) {
return null;
}
final ImageDescriptor desc = info.getFeatureImage();
Image featureImage = null;
final Button button = new Button(parent, SWT.FLAT | SWT.PUSH);
button.setData(info);
featureImage = desc.createImage();
images.add(featureImage);
button.setImage(featureImage);
button.setToolTipText(info.getProviderName());
button.getAccessible().addAccessibleListener(new AccessibleAdapter() {
@Override
public void getName(AccessibleEvent e) {
e.result = info.getProviderName();
}
});
button.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
final AboutBundleGroupData[] groupInfos = buttonManager
.getRelatedInfos(info);
final AboutBundleGroupData selection = (AboutBundleGroupData) event.widget
.getData();
final AboutFeaturesDialog d = new AboutFeaturesDialog(
getShell(), productName, groupInfos, selection);
d.open();
}
});
return button;
}
项目:relations
文件:AboutFeaturesPage.java
public void setBundleGroupInfos(AboutBundleGroupData[] bundleGroupInfos) {
this.bundleGroupInfos = bundleGroupInfos;
}
项目:relations
文件:AboutFeaturesPage.java
/**
* Create the info area containing the image and text
*/
protected void createInfoArea(Composite parent) {
final Font font = parent.getFont();
infoArea = new Composite(parent, SWT.BORDER);
infoArea.setBackground(infoArea.getDisplay()
.getSystemColor(SWT.COLOR_LIST_BACKGROUND));
infoArea.setBackgroundMode(SWT.INHERIT_FORCE);
GridData data = new GridData(GridData.FILL, GridData.FILL, true, false);
// need to provide space for arbitrary feature infos, not just the
// one selected by default
data.heightHint = convertVerticalDLUsToPixels(INFO_HEIGHT);
infoArea.setLayoutData(data);
final GridLayout layout = new GridLayout();
layout.numColumns = 2;
infoArea.setLayout(layout);
imageLabel = new Label(infoArea, SWT.NONE);
data = new GridData(GridData.FILL, GridData.BEGINNING, false, false);
data.widthHint = 32;
data.heightHint = 32;
imageLabel.setLayoutData(data);
imageLabel.setFont(font);
// text on the right
text = new StyledText(infoArea,
SWT.MULTI | SWT.WRAP | SWT.READ_ONLY | SWT.V_SCROLL);
text.setAlwaysShowScrollBars(false);
// Don't set caret to 'null' as this causes
// https://bugs.eclipse.org/293263.
// text.setCaret(null);
text.setFont(parent.getFont());
data = new GridData(GridData.FILL, GridData.FILL, true, true);
text.setLayoutData(data);
text.setFont(font);
text.setCursor(null);
textManager = new AboutTextManager(text);
final TableItem[] items = table.getSelection();
if (items.length > 0) {
updateInfoArea((AboutBundleGroupData) items[0].getData());
}
}
项目:relations
文件:AboutFeaturesPage.java
/**
* Select the initial selection
*
* @param info
* the info
*/
public void setInitialSelection(AboutBundleGroupData info) {
lastSelection = info;
}
项目:relations
文件:AboutFeaturesPage.java
/**
* Return an array of strings containing the argument's information in the
* proper order for this table's columns.
*
* @param info
* the source information for the new row, must not be null
*/
private static String[] createRow(AboutBundleGroupData info) {
return new String[] { info.getProviderName(), info.getName(),
info.getVersion(), info.getId() };
}