This is an automated email from the git hooks/post-receive script. pini pushed a commit to tag upstream/1.1.0_beta1 in repository sikuli.
commit 28ee922f26fcbab88378d76586e34db9b8443ecf Author: Johan Sjöblom <[email protected]> Date: Fri May 2 20:47:26 2014 +0200 Adding option to clear message log --- .../java/org/sikuli/ide/EditorConsolePane.java | 87 ++++++++++++++++------ 1 file changed, 65 insertions(+), 22 deletions(-) diff --git a/IDE/src/main/java/org/sikuli/ide/EditorConsolePane.java b/IDE/src/main/java/org/sikuli/ide/EditorConsolePane.java old mode 100755 new mode 100644 index e33891f..702c480 --- a/IDE/src/main/java/org/sikuli/ide/EditorConsolePane.java +++ b/IDE/src/main/java/org/sikuli/ide/EditorConsolePane.java @@ -17,6 +17,7 @@ package org.sikuli.ide; // RJHM van den Bergh , [email protected] import org.sikuli.basics.PreferencesUser; import java.awt.*; +import java.awt.event.*; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.StringSelection; import java.awt.datatransfer.Transferable; @@ -25,6 +26,8 @@ import java.util.regex.*; import javax.swing.*; import javax.swing.text.*; import javax.swing.text.html.*; +import javax.swing.JMenu; +import javax.swing.JMenuItem; import org.sikuli.basics.Debug; import org.sikuli.basics.IScriptRunner; import org.sikuli.basics.Settings; @@ -45,7 +48,32 @@ public class EditorConsolePane extends JPanel implements Runnable { private Thread[] reader; private boolean quit; private PipedInputStream[] pin; - Thread errorThrower; // just for testing (Throws an Exception at this Console + private JPopupMenu popup; + Thread errorThrower; // just for testing (Throws an Exception at this Console) + + + class PopupListener extends MouseAdapter { + JPopupMenu popup; + + PopupListener(JPopupMenu popupMenu) { + popup = popupMenu; + } + + public void mousePressed(MouseEvent e) { + maybeShowPopup(e); + } + + public void mouseReleased(MouseEvent e) { + maybeShowPopup(e); + } + + private void maybeShowPopup(MouseEvent e) { + if (e.isPopupTrigger()) { + popup.show(e.getComponent(), e.getX(), e.getY()); + } + } + } + public EditorConsolePane() { super(); @@ -60,31 +88,47 @@ public class EditorConsolePane extends JPanel implements Runnable { add(new JScrollPane(textArea), BorderLayout.CENTER); if (ENABLE_IO_REDIRECT) { - int npipes = 2; - NUM_PIPES = npipes * Settings.scriptRunner.size(); - pin = new PipedInputStream[NUM_PIPES]; - reader = new Thread[NUM_PIPES]; + int npipes = 2; + NUM_PIPES = npipes * Settings.scriptRunner.size(); + pin = new PipedInputStream[NUM_PIPES]; + reader = new Thread[NUM_PIPES]; for (int i = 0; i < NUM_PIPES; i++) { pin[i] = new PipedInputStream(); } - int irunner = 0; - for (IScriptRunner srunner : Settings.scriptRunner.values()) { - if (srunner.doSomethingSpecial("redirect", pin)) { - Debug.log(2, "EditorConsolePane: stdout/stderr redirected to console" - + " for " + srunner.getName()); - quit = false; // signals the Threads that they should exit - - // Starting two seperate threads to read from the PipedInputStreams - for (int i = irunner * npipes; i < irunner * npipes + npipes; i++) { - reader[i] = new Thread(this); - reader[i].setDaemon(true); - reader[i].start(); - } - irunner++; - } - } + int irunner = 0; + for (IScriptRunner srunner : Settings.scriptRunner.values()) { + if (srunner.doSomethingSpecial("redirect", pin)) { + Debug.log(2, "EditorConsolePane: stdout/stderr redirected to console" + + " for " + srunner.getName()); + quit = false; // signals the Threads that they should exit + + // Starting two seperate threads to read from the PipedInputStreams + for (int i = irunner * npipes; i < irunner * npipes + npipes; i++) { + reader[i] = new Thread(this); + reader[i].setDaemon(true); + reader[i].start(); + } + irunner++; + } + } } + + + //Create the popup menu. + popup = new JPopupMenu(); + JMenuItem menuItem = new JMenuItem("Clear messages"); + // Add ActionListener that clears the textArea + menuItem.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + textArea.setText(""); + } + }); + popup.add(menuItem); + + //Add listener to components that can bring up popup menus. + MouseListener popupListener = new PopupListener(popup); + textArea.addMouseListener(popupListener); } private void appendMsg(String msg) { @@ -155,7 +199,6 @@ public class EditorConsolePane extends JPanel implements Runnable { } catch (Exception e) { Debug.error(me + "Console reports an internal error:\n%s", e.getMessage()); } - } public synchronized String readLine(PipedInputStream in) throws IOException { -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/sikuli.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

