/** * Domyślna implementacja usługi Nameable. Wszystkie metody nie wykonują żadnych operacji. * * @since 3.1 */public class NullNameableService implements INameable { /** * Konstruktor komponentu. Nie należy wywoływać bezpośrednio. */ public NullNameableService() {} public void setName(String newName) {} public void setContentDescription(String contentDescription)
{} public void setImage(ImageDescriptor theImage) {} public void setTooltip(String toolTip) {}}/** * Implementacja domyślna interfejsu IMessageDialogs. Używa
pola sterującego * części jako kontekstu i umożliwia części otwieranie okien dialogowych w powłoce elementu potomnego. * * @since 3.1 */public class DefaultMessageDialogs implements IMessageDialogs { private Composite control; /** * Konstruktor komponentu. Nie należy wywoływać bezpośrednio. */ 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); } }}Poniżej pokazano powiązany język znaczników punktu rozszerzenia dla właściwości 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>