/**
* Implementação padrão do serviço Nameable. Todos os métodos são no-ops.
*
* @since 3.1
*/
public class NullNameableService implements INameable {
/**
* Construtor do componente. Não chamar diretamente.
*/
public NullNameableService() {
}
public void setName(String newName) {}
public void setContentDescription(String contentDescription)
{
}
public void setImage(ImageDescriptor theImage) {
}
public void setTooltip(String toolTip) {
}
}
/**
* Implementação padrão da interface IMessageDialogs. Utiliza o controle
* de parte como contexto e permite que a parte abra diálogos em um shell filho.
*
* @since 3.1
*/
public class DefaultMessageDialogs implements IMessageDialogs {
private Composite control;
/**
* Construtor do componente. Não chamar diretamente.
*/
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);
}
}
}
Aqui está a marcação do ponto de extensão associado para 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>