From 0f47403d0220757fed189b76e2071e25b1025cb8 Mon Sep 17 00:00:00 2001 From: Runemoro Date: Wed, 3 Jun 2020 13:39:42 -0400 Subject: Split GUI code to separate module (#242) * Split into modules * Post merge compile fixes Co-authored-by: modmuss50 --- .../cuchaz/enigma/gui/EnigmaQuickFindDialog.java | 90 ---------------------- 1 file changed, 90 deletions(-) delete mode 100644 src/main/java/cuchaz/enigma/gui/EnigmaQuickFindDialog.java (limited to 'src/main/java/cuchaz/enigma/gui/EnigmaQuickFindDialog.java') diff --git a/src/main/java/cuchaz/enigma/gui/EnigmaQuickFindDialog.java b/src/main/java/cuchaz/enigma/gui/EnigmaQuickFindDialog.java deleted file mode 100644 index c912be3..0000000 --- a/src/main/java/cuchaz/enigma/gui/EnigmaQuickFindDialog.java +++ /dev/null @@ -1,90 +0,0 @@ -package cuchaz.enigma.gui; - -import de.sciss.syntaxpane.actions.DocumentSearchData; -import de.sciss.syntaxpane.actions.gui.QuickFindDialog; - -import javax.swing.*; -import javax.swing.text.JTextComponent; -import java.awt.*; -import java.awt.event.KeyAdapter; -import java.awt.event.KeyEvent; -import java.util.stream.IntStream; -import java.util.stream.Stream; - -public class EnigmaQuickFindDialog extends QuickFindDialog { - public EnigmaQuickFindDialog(JTextComponent target) { - super(target, DocumentSearchData.getFromEditor(target)); - - JToolBar toolBar = getToolBar(); - JTextField textField = getTextField(toolBar); - - textField.addKeyListener(new KeyAdapter() { - @Override - public void keyPressed(KeyEvent e) { - super.keyPressed(e); - if (e.getKeyCode() == KeyEvent.VK_ENTER) { - JToolBar toolBar = getToolBar(); - boolean next = !e.isShiftDown(); - JButton button = next ? getNextButton(toolBar) : getPrevButton(toolBar); - button.doClick(); - } - } - }); - } - - @Override - public void showFor(JTextComponent target) { - String selectedText = target.getSelectedText(); - - try { - super.showFor(target); - } catch (Exception e) { - e.printStackTrace(); - return; - } - - Container view = target.getParent(); - Point loc = new Point(0, view.getHeight() - getSize().height); - setLocationRelativeTo(view); - SwingUtilities.convertPointToScreen(loc, view); - setLocation(loc); - - JToolBar toolBar = getToolBar(); - JTextField textField = getTextField(toolBar); - - if (selectedText != null) { - textField.setText(selectedText); - } - - textField.selectAll(); - } - - private JToolBar getToolBar() { - return components(getContentPane(), JToolBar.class).findFirst().orElse(null); - } - - private JTextField getTextField(JToolBar toolBar) { - return components(toolBar, JTextField.class).findFirst().orElse(null); - } - - private JButton getNextButton(JToolBar toolBar) { - Stream buttons = components(toolBar, JButton.class); - return buttons.skip(1).findFirst().orElse(null); - } - - private JButton getPrevButton(JToolBar toolBar) { - Stream buttons = components(toolBar, JButton.class); - return buttons.findFirst().orElse(null); - } - - private static Stream components(Container container) { - return IntStream.range(0, container.getComponentCount()) - .mapToObj(container::getComponent); - } - - private static Stream components(Container container, Class type) { - return components(container) - .filter(type::isInstance) - .map(type::cast); - } -} -- cgit v1.2.3