/**
* Nameable 服務的預設實作。所有方法都是 no-ops。
*
* @自 3.1
*/
public class NullNameableService implements INameable {
/**
* 元件建構子。不要直接呼叫。
*/
public NullNameableService() {
}
public void setName(String newName) {}
public void setContentDescription(String contentDescription)
{
}
public void setImage(ImageDescriptor theImage) {
}
public void setTooltip(String toolTip) {
}
}
/**
* IMessageDialogs 介面的預設實作。
* 將組件的控制項當成環境定義,並容許組件在子項 Shell 中開啟對話框。
*
* @自 3.1
*/
public class DefaultMessageDialogs implements IMessageDialogs {
private Composite control;
/**
* 元件建構子。不要直接呼叫。
*/
public DefaultMessageDialogs(Composite control) {
this.control = control;
}
public void open(IStatus message) {
if (message.getSeverity() ==
IStatus.ERROR) {
ErrorDialog.openError(control.getShell(),
null, null, message);
} else {
open(message.getSeverity(),
message.getMessage());
}
}
public void openError(String message, Throwable cause)
{
open(new Status(IStatus.ERROR,
WorkbenchPlugin.getDefault().getBundle().getSymbolicName(),
IStatus.OK,
message,
cause));
}
public void open(int severity, String message) {
if (severity == IStatus.ERROR)
{
MessageDialog.openError(control.getShell(),
null, message);
} else if (severity == IStatus.WARNING)
{
MessageDialog.openWarning(control.getShell(),
null, message);
} else {
MessageDialog.openInformation(control.getShell(),
null, message);
}
}
}
此為 DefaultMessageDialog 相關聯的延伸點標記。
<extension
point="org.eclipse.core.component.types">
<component
initializer="org.eclipse.ui.part.SiteInitializer"
interface="org.eclipse.ui.part.services.IMessageDialogs"
implementation="org.eclipse.ui.internal.part.services.DefaultMessageDialogs"
singleton="false"
/>
</extension>