Changed filter so it can be easily applied to components git-svn-id: https://taverna.googlecode.com/svn/taverna/utils/net.sf.taverna.t2.lang/branches/maintenance@16494 bf327186-88b3-11dd-a302-d386e5130c1c
Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/commit/7f23d78a Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/tree/7f23d78a Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/diff/7f23d78a Branch: refs/heads/master Commit: 7f23d78af0cdc6fc8d0f4527de4a342b6d998635 Parents: e388ce2 Author: [email protected] <[email protected]@bf327186-88b3-11dd-a302-d386e5130c1c> Authored: Wed Jan 8 14:36:34 2014 +0000 Committer: [email protected] <[email protected]@bf327186-88b3-11dd-a302-d386e5130c1c> Committed: Wed Jan 8 14:36:34 2014 +0000 ---------------------------------------------------------------------- .../t2/lang/ui/SanitisingDocumentFilter.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/7f23d78a/ui/src/main/java/net/sf/taverna/t2/lang/ui/SanitisingDocumentFilter.java ---------------------------------------------------------------------- diff --git a/ui/src/main/java/net/sf/taverna/t2/lang/ui/SanitisingDocumentFilter.java b/ui/src/main/java/net/sf/taverna/t2/lang/ui/SanitisingDocumentFilter.java index 04341d4..2a91e18 100644 --- a/ui/src/main/java/net/sf/taverna/t2/lang/ui/SanitisingDocumentFilter.java +++ b/ui/src/main/java/net/sf/taverna/t2/lang/ui/SanitisingDocumentFilter.java @@ -5,15 +5,32 @@ package net.sf.taverna.t2.lang.ui; import java.util.regex.Pattern; +import javax.swing.text.AbstractDocument; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; +import javax.swing.text.Document; import javax.swing.text.DocumentFilter; +import javax.swing.text.JTextComponent; /** * @author alanrw * */ public class SanitisingDocumentFilter extends DocumentFilter { + + private static SanitisingDocumentFilter INSTANCE = new SanitisingDocumentFilter(); + + private SanitisingDocumentFilter () { + super(); + } + + public static void addFilterToComponent(JTextComponent c) { + Document d = c.getDocument(); + if (d instanceof AbstractDocument) { + ((AbstractDocument) d).setDocumentFilter(INSTANCE); + } + } + public void insertString(DocumentFilter.FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException { fb.insertString(offset, sanitiseString(string), attr); @@ -23,7 +40,7 @@ public class SanitisingDocumentFilter extends DocumentFilter { String text, javax.swing.text.AttributeSet attr) throws BadLocationException { - fb.insertString(offset, sanitiseString(text), attr); + fb.replace(offset, length, sanitiseString(text), attr); } private static String sanitiseString(String text) {
