本文整理匯總了Java中com.intellij.execution.process.ProcessHandler.isProcessTerminating方法的典型用法代碼示例。如果您正苦於以下問題:Java ProcessHandler.isProcessTerminating方法的具體用法?Java ProcessHandler.isProcessTerminating怎麽用?Java ProcessHandler.isProcessTerminating使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類com.intellij.execution.process.ProcessHandler
的用法示例。
在下文中一共展示了ProcessHandler.isProcessTerminating方法的11個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: update
import com.intellij.execution.process.ProcessHandler; //導入方法依賴的package包/類
public static void update(@NotNull Presentation presentation,
@NotNull Presentation templatePresentation,
@Nullable ProcessHandler processHandler) {
boolean enable = false;
Icon icon = templatePresentation.getIcon();
String description = templatePresentation.getDescription();
if (processHandler != null && !processHandler.isProcessTerminated()) {
enable = true;
if (processHandler.isProcessTerminating() && processHandler instanceof KillableProcess) {
KillableProcess killableProcess = (KillableProcess) processHandler;
if (killableProcess.canKillProcess()) {
// 'force quite' action presentation
icon = AllIcons.Debugger.KillProcess;
description = "Kill process";
}
}
}
presentation.setEnabled(enable);
presentation.setIcon(icon);
presentation.setDescription(description);
}
示例2: stopProcess
import com.intellij.execution.process.ProcessHandler; //導入方法依賴的package包/類
public static void stopProcess(@Nullable ProcessHandler processHandler) {
if (processHandler instanceof KillableProcess && processHandler.isProcessTerminating()) {
// process termination was requested, but it's still alive
// in this case 'force quit' will be performed
((KillableProcess)processHandler).killProcess();
return;
}
if (processHandler != null) {
if (processHandler.detachIsDefault()) {
processHandler.detachProcess();
}
else {
processHandler.destroyProcess();
}
}
}
示例3: stop
import com.intellij.execution.process.ProcessHandler; //導入方法依賴的package包/類
private static void stop(@Nullable RunContentDescriptor descriptor) {
ProcessHandler processHandler = descriptor != null ? descriptor.getProcessHandler() : null;
if (processHandler == null) {
return;
}
if (processHandler instanceof KillableProcess && processHandler.isProcessTerminating()) {
((KillableProcess)processHandler).killProcess();
return;
}
if (!processHandler.isProcessTerminated()) {
if (processHandler.detachIsDefault()) {
processHandler.detachProcess();
}
else {
processHandler.destroyProcess();
}
}
}
示例4: restartIfActive
import com.intellij.execution.process.ProcessHandler; //導入方法依賴的package包/類
public static void restartIfActive(@NotNull RunContentDescriptor descriptor) {
ProcessHandler processHandler = descriptor.getProcessHandler();
if (processHandler != null
&& processHandler.isStartNotified()
&& !processHandler.isProcessTerminating()
&& !processHandler.isProcessTerminated()) {
restart(descriptor);
}
}
示例5: stop
import com.intellij.execution.process.ProcessHandler; //導入方法依賴的package包/類
@Override
public void stop() {
ProcessHandler processHandler = myDebugProcess.getProcessHandler();
if (processHandler.isProcessTerminated() || processHandler.isProcessTerminating()) return;
if (processHandler.detachIsDefault()) {
processHandler.detachProcess();
}
else {
processHandler.destroyProcess();
}
}
示例6: stopProcess
import com.intellij.execution.process.ProcessHandler; //導入方法依賴的package包/類
private static void stopProcess(@Nullable RunContentDescriptor descriptor) {
ProcessHandler processHandler = descriptor != null ? descriptor.getProcessHandler() : null;
if (processHandler == null) return;
if (processHandler instanceof KillableProcess && processHandler.isProcessTerminating()) {
((KillableProcess)processHandler).killProcess();
return;
}
if (processHandler.detachIsDefault()) {
processHandler.detachProcess();
}
else {
processHandler.destroyProcess();
}
}
示例7: closeQuery
import com.intellij.execution.process.ProcessHandler; //導入方法依賴的package包/類
private boolean closeQuery(boolean modal) {
final RunContentDescriptor descriptor = getRunContentDescriptorByContent(myContent);
if (descriptor == null) {
return true;
}
final ProcessHandler processHandler = descriptor.getProcessHandler();
if (processHandler == null || processHandler.isProcessTerminated() || processHandler.isProcessTerminating()) {
return true;
}
final boolean destroyProcess;
//noinspection deprecation
if (processHandler.isSilentlyDestroyOnClose() || Boolean.TRUE.equals(processHandler.getUserData(ProcessHandler.SILENTLY_DESTROY_ON_CLOSE))) {
destroyProcess = true;
}
else {
//todo[nik] this is a temporary solution for the following problem: some configurations should not allow user to choose between 'terminating' and 'detaching'
final boolean useDefault = Boolean.TRUE.equals(processHandler.getUserData(ALWAYS_USE_DEFAULT_STOPPING_BEHAVIOUR_KEY));
final TerminateRemoteProcessDialog.TerminateOption option = new TerminateRemoteProcessDialog.TerminateOption(processHandler.detachIsDefault(), useDefault);
final int rc = TerminateRemoteProcessDialog.show(myProject, descriptor.getDisplayName(), option);
if (rc != DialogWrapper.OK_EXIT_CODE) return false;
destroyProcess = !option.isToBeShown();
}
if (destroyProcess) {
processHandler.destroyProcess();
}
else {
processHandler.detachProcess();
}
waitForProcess(descriptor, modal);
return true;
}
示例8: isEnabled
import com.intellij.execution.process.ProcessHandler; //導入方法依賴的package包/類
protected boolean isEnabled(AnActionEvent event) {
RunContentDescriptor descriptor = getDescriptor(event);
ProcessHandler processHandler = descriptor == null ? null : descriptor.getProcessHandler();
ExecutionEnvironment environment = getEnvironment(event);
return environment != null &&
!ExecutorRegistry.getInstance().isStarting(environment) &&
!(processHandler != null && processHandler.isProcessTerminating());
}
示例9: BrowserStarter
import com.intellij.execution.process.ProcessHandler; //導入方法依賴的package包/類
public BrowserStarter(@NotNull RunConfiguration runConfiguration,
@NotNull StartBrowserSettings settings,
@NotNull final ProcessHandler serverProcessHandler) {
this(runConfiguration, settings, new Computable<Boolean>() {
@Override
public Boolean compute() {
return serverProcessHandler.isProcessTerminating() || serverProcessHandler.isProcessTerminated();
}
});
}
示例10: update
import com.intellij.execution.process.ProcessHandler; //導入方法依賴的package包/類
@Override
public void update(final AnActionEvent e) {
boolean enable = false;
Icon icon = getTemplatePresentation().getIcon();
String description = getTemplatePresentation().getDescription();
Presentation presentation = e.getPresentation();
if (isPlaceGlobal(e)) {
List<RunContentDescriptor> stoppableDescriptors = getActiveStoppableDescriptors(e.getDataContext());
List<Pair<TaskInfo, ProgressIndicator>> cancellableProcesses = getCancellableProcesses(e.getProject());
int todoSize = stoppableDescriptors.size() + cancellableProcesses.size();
if (todoSize > 1) {
presentation.setText(getTemplatePresentation().getText()+"...");
}
else if (todoSize == 1) {
if (stoppableDescriptors.size() ==1) {
presentation.setText(ExecutionBundle.message("stop.configuration.action.name", stoppableDescriptors.get(0).getDisplayName()));
} else {
TaskInfo taskInfo = cancellableProcesses.get(0).first;
presentation.setText(taskInfo.getCancelText() + " " + taskInfo.getTitle());
}
} else {
presentation.setText(getTemplatePresentation().getText());
}
enable = todoSize > 0;
if (todoSize > 1) {
icon = IconUtil.addText(icon, String.valueOf(todoSize));
}
}
else {
RunContentDescriptor contentDescriptor = e.getData(LangDataKeys.RUN_CONTENT_DESCRIPTOR);
ProcessHandler processHandler = contentDescriptor == null ? null : contentDescriptor.getProcessHandler();
if (processHandler != null && !processHandler.isProcessTerminated()) {
if (!processHandler.isProcessTerminating()) {
enable = true;
}
else if (processHandler instanceof KillableProcess && ((KillableProcess)processHandler).canKillProcess()) {
enable = true;
icon = AllIcons.Debugger.KillProcess;
description = "Kill process";
}
}
RunProfile runProfile = e.getData(LangDataKeys.RUN_PROFILE);
if (runProfile == null && contentDescriptor == null) {
presentation.setText(getTemplatePresentation().getText());
}
else {
presentation.setText(ExecutionBundle.message("stop.configuration.action.name",
runProfile == null ? contentDescriptor.getDisplayName() : runProfile.getName()));
}
}
presentation.setEnabled(enable);
presentation.setIcon(icon);
presentation.setDescription(description);
}
示例11: canBeStopped
import com.intellij.execution.process.ProcessHandler; //導入方法依賴的package包/類
private static boolean canBeStopped(@Nullable RunContentDescriptor descriptor) {
@Nullable ProcessHandler processHandler = descriptor != null ? descriptor.getProcessHandler() : null;
return processHandler != null && !processHandler.isProcessTerminated()
&& (!processHandler.isProcessTerminating()
|| processHandler instanceof KillableProcess && ((KillableProcess)processHandler).canKillProcess());
}