use of org.eclipse.core.runtime.IStatus in project translationstudio8 by heartsome.
the class TermDbManagerDialog method createNewDatabase.
/**
* 创建新库 ;
*/
private void createNewDatabase() {
// 数据库连接参数输入合法性检查
IStatus status = validator();
if (status.getSeverity() != IStatus.OK) {
MessageDialog.openInformation(getShell(), Messages.getString("dialog.TermDbManagerDialog.msgTitle"), status.getMessage());
return;
}
SystemDBOperator sysDbOp = getCurrSysDbOp();
if (sysDbOp == null) {
return;
}
// 连接检查
if (!sysDbOp.checkDbConnection()) {
MessageDialog.openInformation(getShell(), Messages.getString("dialog.TermDbManagerDialog.msgTitle"), Messages.getString("dialog.TermDbManagerDialog.msg1"));
return;
}
TermDbNameInputDialog inputDbNameialog = new TermDbNameInputDialog(getShell(), Messages.getString("dialog.TermDbManagerDialog.inputDbNameialogTitle"), Messages.getString("dialog.TermDbManagerDialog.inputDbNameialogMsg"), "", new IInputValidator() {
public String isValid(String newText) {
String vRs = DbValidator.valiateDbName(newText);
return vRs;
}
});
inputDbNameialog.setSystemDbOp(sysDbOp);
if (inputDbNameialog.open() == Window.OK) {
// 刷新界面
executeSearch(sysDbOp);
}
}
use of org.eclipse.core.runtime.IStatus in project translationstudio8 by heartsome.
the class OpenMessageUtils method openMessageWithReason.
/**
* 弹出错误或警告对话框,需要提供错误或警告的文本原因信息
* @param severity
* 必须是<code>IStatus.ERROR<code>,<code>IStatus.WARNING<code>
* @param message
* 错误、警告的文本信息,不能为null或空串;
* @param reasonMsg
* 错误或警告的文本原因信息,不能为null或空串;
*/
public static void openMessageWithReason(int severity, String message, String reasonMsg) {
Assert.isLegal(severity == IStatus.ERROR || severity == IStatus.WARNING);
Assert.isLegal(message != null && message.length() > 0);
IStatus status = getIStatus(severity, reasonMsg);
String title = getMessageDlgTitle(severity);
if (title == null) {
return;
}
ErrorDialog.openError(new Shell(Display.getDefault()), title, message, status);
}
use of org.eclipse.core.runtime.IStatus in project translationstudio8 by heartsome.
the class OpenMessageUtils method openErrorMsgWithDetail.
/**
* 弹出错误或警告对话框,需要提供错误或警告的文本原因信息以及详细的异常<code>Throwable<code>
* @param message
* 错误或警告的文本信息,不能为null或空串
* @param reasonMsg
* 错误、警告的文本原因信息,不能为null或空串
* @param throwable
* <code>Throwable<code> 对象,错误或警告的详细异常信息;
*/
public static void openErrorMsgWithDetail(String message, String reasonMsg, Throwable throwable) {
Assert.isLegal(message != null && message.length() > 0);
Assert.isLegal(reasonMsg != null && reasonMsg.length() > 0);
Assert.isLegal(throwable != null);
IStatus status = throwable2MultiStatus(reasonMsg, throwable);
String title = getMessageDlgTitle(IStatus.ERROR);
if (title == null) {
return;
}
ErrorDialog.openError(new Shell(Display.getDefault()), title, message, status);
}
use of org.eclipse.core.runtime.IStatus in project translationstudio8 by heartsome.
the class ResourceDropAdapterAssistant method handleDrop.
/*
* (non-Javadoc)
*
* @see org.eclipse.ui.navigator.CommonDropAdapterAssistant#handleDrop(CommonDropAdapter,
* DropTargetEvent, Object)
*/
public IStatus handleDrop(CommonDropAdapter aDropAdapter, DropTargetEvent aDropTargetEvent, Object aTarget) {
if (Policy.DEBUG_DND) {
System.out.println(//$NON-NLS-1$
"ResourceDropAdapterAssistant.handleDrop (begin)");
}
// alwaysOverwrite = false;
if (aTarget == null || aDropTargetEvent.data == null) {
return Status.CANCEL_STATUS;
}
IStatus status = null;
IResource[] resources = null;
TransferData currentTransfer = aDropAdapter.getCurrentTransfer();
if (LocalSelectionTransfer.getTransfer().isSupportedType(currentTransfer)) {
resources = getSelectedResources();
} else if (ResourceTransfer.getInstance().isSupportedType(currentTransfer)) {
resources = (IResource[]) aDropTargetEvent.data;
}
if (FileTransfer.getInstance().isSupportedType(currentTransfer)) {
status = performFileDrop(aDropAdapter, aDropTargetEvent.data);
} else if (resources != null && resources.length > 0) {
if ((aDropAdapter.getCurrentOperation() == DND.DROP_COPY) || (aDropAdapter.getCurrentOperation() == DND.DROP_LINK)) {
if (Policy.DEBUG_DND) {
System.out.println(//$NON-NLS-1$
"ResourceDropAdapterAssistant.handleDrop executing COPY.");
}
status = performResourceCopy(aDropAdapter, getShell(), resources);
} else {
if (Policy.DEBUG_DND) {
System.out.println(//$NON-NLS-1$
"ResourceDropAdapterAssistant.handleDrop executing MOVE.");
}
status = performResourceMove(aDropAdapter, resources);
}
}
openError(status);
IContainer target = getActualTarget((IResource) aTarget);
if (target != null && target.isAccessible()) {
try {
target.refreshLocal(IResource.DEPTH_ONE, null);
} catch (CoreException e) {
}
}
return status;
}
use of org.eclipse.core.runtime.IStatus in project translationstudio8 by heartsome.
the class ResourceMgmtActionProvider method makeActions.
protected void makeActions() {
IShellProvider sp = new IShellProvider() {
public Shell getShell() {
return shell;
}
};
openProjectAction = new OpenResourceAction(sp);
openProjectAction.setText(WorkbenchNavigatorMessages.actions_ResourceMgmtActionProvider_openProjectAction);
closeProjectAction = new CloseResourceAction(sp);
closeProjectAction.setText(WorkbenchNavigatorMessages.actions_ResourceMgmtActionProvider_closeProjectAction);
//
// closeUnrelatedProjectsAction = new CloseUnrelatedProjectsAction(sp);
// closeUnrelatedProjectsAction.setText("关闭无关的项目");
refreshAction = new RefreshAction(sp) {
public void run() {
final IStatus[] errorStatus = new IStatus[1];
errorStatus[0] = Status.OK_STATUS;
final WorkspaceModifyOperation op = (WorkspaceModifyOperation) createOperation(errorStatus);
WorkspaceJob job = new //$NON-NLS-1$
WorkspaceJob(//$NON-NLS-1$
"refresh") {
public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
try {
op.run(monitor);
if (shell != null && !shell.isDisposed()) {
shell.getDisplay().asyncExec(new Runnable() {
public void run() {
StructuredViewer viewer = getActionSite().getStructuredViewer();
if (viewer != null && viewer.getControl() != null && !viewer.getControl().isDisposed()) {
viewer.refresh();
}
}
});
}
} catch (InvocationTargetException e) {
String msg = NLS.bind(WorkbenchNavigatorMessages.actions_ResourceMgmtActionProvider_logTitle, getClass().getName(), e.getTargetException());
throw new CoreException(new Status(IStatus.ERROR, NavigatorPlugin.PLUGIN_ID, IStatus.ERROR, msg, e.getTargetException()));
} catch (InterruptedException e) {
return Status.CANCEL_STATUS;
}
return errorStatus[0];
}
};
ISchedulingRule rule = op.getRule();
if (rule != null) {
job.setRule(rule);
}
job.setUser(true);
job.schedule();
}
};
refreshAction.setText(WorkbenchNavigatorMessages.actions_ResourceMgmtActionProvider_refreshAction);
//$NON-NLS-1$
refreshAction.setDisabledImageDescriptor(getImageDescriptor("dlcl16/refresh_nav.gif"));
//$NON-NLS-1$
refreshAction.setImageDescriptor(getImageDescriptor("elcl16/refresh_nav.gif"));
refreshAction.setActionDefinitionId(IWorkbenchCommandConstants.FILE_REFRESH);
if (getContext() == null) {
refreshAction.setEnabled(false);
} else {
IStructuredSelection selection = (IStructuredSelection) getContext().getSelection();
refreshAction.selectionChanged(selection);
refreshAction.setEnabled(!selection.isEmpty());
}
// buildAction = new BuildAction(sp, IncrementalProjectBuilder.INCREMENTAL_BUILD);
// buildAction.setActionDefinitionId(IWorkbenchCommandConstants.PROJECT_BUILD_PROJECT);
}
Aggregations