List of usage examples for com.intellij.openapi.ui DialogBuilder getWindow
public Window getWindow()
From source file:com.urswolfer.intellij.plugin.gerrit.ui.diff.CustomizableFrameDiffTool.java
License:Apache License
public void show(DiffRequest request) { Collection hints = request.getHints(); boolean shouldOpenDialog = shouldOpenDialog(hints); if (shouldOpenDialog) { final DialogBuilder builder = new DialogBuilder(request.getProject()); DiffPanelImpl diffPanel = createDiffPanelIfShouldShow(request, builder.getWindow(), builder, true); if (diffPanel == null) { Disposer.dispose(builder);//from w ww .j a va2 s . co m return; } if (hints.contains(DiffTool.HINT_DIFF_IS_APPROXIMATE)) { diffPanel.setPatchAppliedApproximately(); // todo read only and not variants } final Runnable onOkRunnable = request.getOnOkRunnable(); if (onOkRunnable != null) { builder.setOkOperation(new Runnable() { @Override public void run() { builder.getDialogWrapper().close(0); onOkRunnable.run(); } }); } else { builder.removeAllActions(); } builder.setCenterPanel(diffPanel.getComponent()); builder.setPreferredFocusComponent(diffPanel.getPreferredFocusedComponent()); builder.setTitle(request.getWindowTitle()); builder.setDimensionServiceKey(request.getGroupKey()); new AnAction() { public void actionPerformed(final AnActionEvent e) { builder.getDialogWrapper().close(0); } }.registerCustomShortcutSet( new CustomShortcutSet( KeymapManager.getInstance().getActiveKeymap().getShortcuts("CloseContent")), diffPanel.getComponent()); showDiffDialog(builder, hints); } else { final FrameWrapper frameWrapper = new FrameWrapper(request.getProject(), request.getGroupKey()); DiffPanelImpl diffPanel = createDiffPanelIfShouldShow(request, frameWrapper.getFrame(), frameWrapper, true); if (diffPanel == null) { Disposer.dispose(frameWrapper); return; } if (hints.contains(DiffTool.HINT_DIFF_IS_APPROXIMATE)) { diffPanel.setPatchAppliedApproximately(); } frameWrapper.setTitle(request.getWindowTitle()); DiffUtil.initDiffFrame(diffPanel.getProject(), frameWrapper, diffPanel, diffPanel.getComponent()); new AnAction() { public void actionPerformed(final AnActionEvent e) { frameWrapper.getFrame().dispose(); } }.registerCustomShortcutSet( new CustomShortcutSet( KeymapManager.getInstance().getActiveKeymap().getShortcuts("CloseContent")), diffPanel.getComponent()); frameWrapper.show(); } }
From source file:manuylov.maxim.ocaml.toolWindow.OCamlToolWindowSettingsAction.java
License:Open Source License
public void showSettingsDialog() { final OCamlSettings settings = OCamlSettings.getInstance(myProject); final OCamlToolWindowSettingsForm settingsForm = new OCamlToolWindowSettingsForm(myProject); settingsForm.setSelectedSdk(settings.getTopLevelSdk()); settingsForm.setCmdParams(settings.getTopLevelCmdOptions()); settingsForm.setWorkingDirectory(settings.getTopLevelCmdWorkingDir()); final DialogBuilder dialogBuilder = new DialogBuilder(myProject); dialogBuilder.setCenterPanel(settingsForm.getRootPanel()); dialogBuilder.addOkAction().setText("Ok"); dialogBuilder.addCancelAction().setText("Cancel"); dialogBuilder.setPreferredFocusComponent(settingsForm.getSdkComboBox()); dialogBuilder.setTitle("OCaml Top Level Console Settings"); dialogBuilder.setOkOperation(new Runnable() { public void run() { settings.setTopLevelSdk(settingsForm.getSelectedSdk()); settings.setTopLevelCmdOptions(settingsForm.getCmdParams()); settings.setTopLevelCmdWorkingDir(settingsForm.getWorkingDirectory()); dialogBuilder.getWindow().setVisible(false); if (myAction != null) { myAction.run();/*from w w w . j av a 2 s . c om*/ } } }); dialogBuilder.show(); }