List of usage examples for com.intellij.openapi.ui DialogWrapper getWindow
public Window getWindow()
From source file:org.exbin.deltahex.intellij.EncodingsHandler.java
License:Apache License
private void init() { encodings = new ArrayList<>(); encodingButtonGroup = new ButtonGroup(); encodingActionListener = new ActionListener() { @Override//w w w .j ava 2 s . co m public void actionPerformed(ActionEvent e) { setSelectedEncoding(((JRadioButtonMenuItem) e.getSource()).getText()); } }; utfEncodingRadioButtonMenuItem = new JRadioButtonMenuItem(); utfEncodingRadioButtonMenuItem.setSelected(true); utfEncodingRadioButtonMenuItem.setText(UTF_ENCODING_TEXT); utfEncodingRadioButtonMenuItem.setToolTipText(UTF_ENCODING_TOOLTIP); utfEncodingActionListener = new java.awt.event.ActionListener() { @Override public void actionPerformed(java.awt.event.ActionEvent evt) { setSelectedEncoding(ENCODING_UTF8); } }; utfEncodingRadioButtonMenuItem.addActionListener(utfEncodingActionListener); encodingButtonGroup.add(utfEncodingRadioButtonMenuItem); manageEncodingsAction = new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { final TextEncodingPanel textEncodingPanel = new TextEncodingPanel(); textEncodingPanel.setHandler(EncodingsHandler.this); textEncodingPanel.setEncodingList(encodings); final OptionsControlPanel controlPanel = new OptionsControlPanel(); JPanel dialogPanel = WindowUtils.createDialogPanel(textEncodingPanel, controlPanel); DialogWrapper dialog = DialogUtils.createDialog(dialogPanel, "Manage Encodings"); controlPanel.setHandler(new OptionsControlHandler() { @Override public void controlActionPerformed(OptionsControlHandler.ControlActionType actionType) { if (actionType != OptionsControlHandler.ControlActionType.CANCEL) { encodings = textEncodingPanel.getEncodingList(); rebuildEncodings(); if (actionType == OptionsControlHandler.ControlActionType.SAVE) { // Save encodings for (int i = 0; i < encodings.size(); i++) { preferences.setValue( DeltaHexFileEditor.PREFERENCES_ENCODING_PREFIX + Integer.toString(i), encodings.get(i)); } preferences.unsetValue(DeltaHexFileEditor.PREFERENCES_ENCODING_PREFIX + Integer.toString(encodings.size())); } } dialog.close(0); } }); textEncodingPanel.setAddEncodingsOperation(new TextEncodingPanel.AddEncodingsOperation() { @Override public List<String> run(List<String> usedEncodings) { final List<String> result = new ArrayList<>(); final AddEncodingPanel addEncodingPanel = new AddEncodingPanel(); addEncodingPanel.setUsedEncodings(usedEncodings); DefaultControlPanel controlPanel = new DefaultControlPanel( addEncodingPanel.getResourceBundle()); JPanel dialogPanel = WindowUtils.createDialogPanel(addEncodingPanel, controlPanel); final DialogWrapper addEncodingDialog = DialogUtils.createDialog(dialogPanel, "Add Encodings"); controlPanel.setHandler(new DefaultControlHandler() { @Override public void controlActionPerformed(DefaultControlHandler.ControlActionType actionType) { if (actionType == DefaultControlHandler.ControlActionType.OK) { result.addAll(addEncodingPanel.getEncodings()); } addEncodingDialog.close(0); } }); WindowUtils.assignGlobalKeyListener(addEncodingDialog.getWindow(), controlPanel.createOkCancelListener()); addEncodingDialog.showAndGet(); return result; } }); WindowUtils.assignGlobalKeyListener(dialog.getWindow(), controlPanel.createOkCancelListener()); dialog.showAndGet(); } }; ActionUtils.setupAction(manageEncodingsAction, resourceBundle, "manageEncodingsAction"); manageEncodingsAction.putValue(ActionUtils.ACTION_DIALOG_MODE, true); manageEncodingsAction.putValue(Action.NAME, manageEncodingsAction.getValue(Action.NAME) + ActionUtils.DIALOG_MENUITEM_EXT); toolsEncodingMenu = new JMenu(); toolsEncodingMenu.add(utfEncodingRadioButtonMenuItem); toolsEncodingMenu.addSeparator(); toolsEncodingMenu.add(manageEncodingsAction); toolsEncodingMenu.setText(resourceBundle.getString("toolsEncodingMenu.text")); toolsEncodingMenu.setToolTipText(resourceBundle.getString("toolsEncodingMenu.shortDescription")); }
From source file:org.exbin.deltahex.intellij.panel.HexSearchPanel.java
License:Apache License
private void optionsButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_optionsButtonActionPerformed cancelSearch();//from w w w.ja v a2 s. c om final FindHexPanel findHexPanel = new FindHexPanel(); findHexPanel.setSelected(); findHexPanel.setSearchHistory(searchHistory); findHexPanel.setSearchParameters(searchParameters); replaceParameters.setPerformReplace(replaceMode); findHexPanel.setReplaceParameters(replaceParameters); findHexPanel.setHexCodePopupMenuHandler(hexCodePopupMenuHandler); DefaultControlPanel controlPanel = new DefaultControlPanel(findHexPanel.getResourceBundle()); JPanel dialogPanel = WindowUtils.createDialogPanel(findHexPanel, controlPanel); final DialogWrapper dialog = DialogUtils.createDialog(dialogPanel, "Find Text"); findHexPanel.setMultilineEditorListener(new FindHexPanel.MultilineEditorListener() { @Override public SearchCondition multilineEdit(SearchCondition condition) { final HexMultilinePanel multilinePanel = new HexMultilinePanel(); multilinePanel.setHexCodePopupMenuHandler(hexCodePopupMenuHandler); multilinePanel.setCondition(condition); DefaultControlPanel controlPanel = new DefaultControlPanel(); JPanel dialogPanel = WindowUtils.createDialogPanel(multilinePanel, controlPanel); final DialogWrapper multilineDialog = DialogUtils.createDialog(dialogPanel, "Multiline Hex/Text"); final SearchConditionResult result = new SearchConditionResult(); controlPanel.setHandler(new DefaultControlHandler() { @Override public void controlActionPerformed(DefaultControlHandler.ControlActionType actionType) { if (actionType == DefaultControlHandler.ControlActionType.OK) { result.searchCondition = multilinePanel.getCondition(); updateFindStatus(); } multilineDialog.close(0); } }); WindowUtils.assignGlobalKeyListener(multilineDialog.getWindow(), controlPanel.createOkCancelListener()); // multilineDialog.setLocationRelativeTo(dialog); multilineDialog.showAndGet(); multilinePanel.detachMenu(); return result.searchCondition; } class SearchConditionResult { SearchCondition searchCondition = null; } }); controlPanel.setHandler(new DefaultControlHandler() { @Override public void controlActionPerformed(DefaultControlHandler.ControlActionType actionType) { if (actionType == ControlActionType.OK) { SearchParameters dialogSearchParameters = findHexPanel.getSearchParameters(); ((SearchHistoryModel) findComboBox.getModel()) .addSearchCondition(dialogSearchParameters.getCondition()); dialogSearchParameters.setFromParameters(dialogSearchParameters); findComboBoxEditorComponent.setItem(dialogSearchParameters.getCondition()); updateFindStatus(); ReplaceParameters dialogReplaceParameters = findHexPanel.getReplaceParameters(); switchReplaceMode(dialogReplaceParameters.isPerformReplace()); hexSearchPanelApi.performFind(dialogSearchParameters); } findHexPanel.detachMenu(); dialog.close(0); } }); WindowUtils.assignGlobalKeyListener(dialog.getWindow(), controlPanel.createOkCancelListener()); // dialog.setLocationRelativeTo(frameModule.getFrame()); dialog.showAndGet(); }