下面列出了org.eclipse.core.runtime.IProduct#getProperty ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void init(Shell splash) {
super.init(splash);
String progressString = null;
// Try to get the progress bar and message updater.
IProduct product = Platform.getProduct();
if (product != null) {
progressString = product.getProperty(IProductConstants.STARTUP_PROGRESS_RECT);
}
Rectangle progressRect = StringConverter.asRectangle(progressString, PROCESS_BAR_RECTANGLE);
setProgressRect(progressRect);
// Set font color.
setForeground(FOREGROUND_COLOR);
// Set the software version.
getContent().addPaintListener(e -> {
e.gc.setForeground(getForeground());
e.gc.drawText(
NLS.bind(Messages.SplahScreen_VersionString,
TracingRcpPlugin.getDefault().getBundle().getVersion().toString()),
VERSION_LOCATION.x, VERSION_LOCATION.y, true);
});
}
public synchronized static String getStudioPrefix()
{
// Cache this value!
if (fgPrefix == null)
{
fgPrefix = APTANA_STUDIO_PREFIX;
IProduct product = Platform.getProduct();
if (product != null)
{
String name = product.getProperty("studioPrefix"); //$NON-NLS-1$
if (!StringUtil.isEmpty(name))
{
fgPrefix = name;
}
}
}
return fgPrefix;
}
/**
* Obtains URLs to product image
*
* @return String[] with URLs as Strings or null
*/
private static String[] getProductImageURLs( )
{
IProduct product = Platform.getProduct( );
if ( product != null )
{
String url = product.getProperty( "windowImages" ); //$NON-NLS-1$
if ( url != null && url.length( ) > 0 )
{
return url.split( ",\\s*" ); //$NON-NLS-1$
}
url = product.getProperty( "windowImage" ); //$NON-NLS-1$
if ( url != null && url.length( ) > 0 )
{
return new String[]{
url
};
}
}
return null;
}
@Override
public boolean canEnableSimilarDeclarationUpdating() {
IProduct product = Platform.getProduct();
if (product != null) {
String property = product.getProperty("org.eclipse.jdt.ui.refactoring.handlesSimilarDeclarations"); //$NON-NLS-1$
if ("false".equalsIgnoreCase(property)) {
return false;
}
}
return true;
}
public boolean canEnableSimilarDeclarationUpdating() {
IProduct product= Platform.getProduct();
if (product != null) {
String property= product.getProperty("org.eclipse.jdt.ui.refactoring.handlesSimilarDeclarations"); //$NON-NLS-1$
if ("false".equalsIgnoreCase(property)) //$NON-NLS-1$
return false;
}
return true;
}
/**
* Retrieves the product version from the Platform aboutText property
*
* @return
*/
public static String getProductVersion()
{
String version = null;
try
{
IProduct product = Platform.getProduct();
if (product != null)
{
String aboutText = product.getProperty("aboutText"); //$NON-NLS-1$
if (!StringUtil.isEmpty(aboutText))
{
String pattern = "Version: (.*)\n"; //$NON-NLS-1$
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(aboutText);
boolean found = m.find();
if (!found)
{
// fall back to trying to match build #
p = Pattern.compile("build: (.*)\n"); //$NON-NLS-1$
m = p.matcher(aboutText);
found = m.find();
}
if (found)
{
version = m.group(1);
}
}
}
}
catch (Exception e)
{
// ignore
}
if (StringUtil.isEmpty(version))
{
// falls back to the branding plugin version
return getStudioVersion();
}
return version;
}
@Override
public void init(Shell splash) {
super.init(splash);
String progressRectString = null;
String messageRectString = null;
String foregroundColorString = null;
String versionColorString = null;
String buildIdLocationString = null;
IProduct product = Platform.getProduct();
if (product != null) {
progressRectString = product.getProperty(IProductConstants.STARTUP_PROGRESS_RECT);
messageRectString = product.getProperty(IProductConstants.STARTUP_MESSAGE_RECT);
foregroundColorString = product.getProperty(IProductConstants.STARTUP_FOREGROUND_COLOR);
versionColorString = product.getProperty("versionForegroundColor");
buildIdLocationString = product.getProperty("versionRect");
}
Rectangle progressRect = StringConverter.asRectangle(progressRectString, new Rectangle(10, 10, 300, 15));
setProgressRect(progressRect);
Rectangle messageRect = StringConverter.asRectangle(messageRectString, new Rectangle(10, 35, 300, 15));
setMessageRect(messageRect);
int foregroundColorInteger;
int versionColorInteger;
try {
foregroundColorInteger = Integer.parseInt(foregroundColorString, 16);
versionColorInteger = Integer.parseInt(versionColorString, 16);
}
catch (Exception ex) {
foregroundColorInteger = 0xD2D7FF; // off white
versionColorInteger = 0xD2D7FF; // off white
}
setForeground(new RGB((foregroundColorInteger & 0xFF0000) >> 16, (foregroundColorInteger & 0xFF00) >> 8,
foregroundColorInteger & 0xFF));
final Color versionColor = new Color(getSplash().getShell().getDisplay(),
new RGB((versionColorInteger & 0xFF0000) >> 16, (versionColorInteger & 0xFF00) >> 8,
versionColorInteger & 0xFF));
// add Version number at custom location
final String version = getVersionString();
final Point versionPoint = StringConverter.asPoint(buildIdLocationString, new Point(322, 190));
getContent().addPaintListener(new PaintListener() {
public void paintControl(PaintEvent e) {
e.gc.setForeground(versionColor);
// This is needed to right align the text to the given location
Point p = e.gc.textExtent(version);
e.gc.drawText(version, versionPoint.x - p.x, versionPoint.y, true);
}
});
}
@Override
public void init(final Shell splash) {
super.init(splash);
String progressRectString = null;
String messageRectString = null;
String foregroundColorString = null;
final IProduct product = Platform.getProduct();
if (product != null) {
progressRectString = product.getProperty(IProductConstants.STARTUP_PROGRESS_RECT);
messageRectString = product.getProperty(IProductConstants.STARTUP_MESSAGE_RECT);
foregroundColorString = product.getProperty(IProductConstants.STARTUP_FOREGROUND_COLOR);
}
final Rectangle progressRect = StringConverter.asRectangle(progressRectString);
setProgressRect(progressRect);
final Rectangle messageRect = StringConverter.asRectangle(messageRectString);
setMessageRect(messageRect);
int foregroundColorInteger;
try {
foregroundColorInteger = Integer.parseInt(foregroundColorString, 16);
} catch (final Exception ex) {
foregroundColorInteger = 0xD2D7FF; // off white
}
setForeground(new RGB((foregroundColorInteger & 0xFF0000) >> 16,
(foregroundColorInteger & 0xFF00) >> 8,
foregroundColorInteger & 0xFF));
setForeground(new RGB((foregroundColorInteger & 0xFF0000) >> 16,
(foregroundColorInteger & 0xFF00) >> 8,
foregroundColorInteger & 0xFF));
// the following code will be removed for release time
if (PrefUtil.getInternalPreferenceStore().getBoolean(
"SHOW_BUILDID_ON_STARTUP")) { //$NON-NLS-1$
final String buildId = System.getProperty(
"eclipse.buildId", "Unknown Build"); //$NON-NLS-1$ //$NON-NLS-2$
// find the specified location. Not currently API
// hardcoded to be sensible with our current splash Graphic
final String buildIdLocString = product.getProperty("buildIdLocation"); //$NON-NLS-1$
final Point buildIdPoint = StringConverter.asPoint(buildIdLocString,
new Point(322, 190));
getContent().addPaintListener(new PaintListener() {
@Override
public void paintControl(final PaintEvent e) {
e.gc.setForeground(getForeground());
e.gc.setBackground(getForeground()) ;
e.gc
.drawText(buildId, buildIdPoint.x, buildIdPoint.y,
true);
}
});
}
else {
getContent(); // ensure creation of the progress
}
}