/**
* Реализация службы Nameable по умолчанию. Методы не выполняют никаких функций.
*
* @since 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 по умолчанию. Контекстом является
управляющий элемент
* компонента. Реализация позволяет компоненту открывать диалоги в дочернем
окне.
*
* @since 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>