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) {

Reply via email to