home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 144 / DPCS0200.iso / Internet / Supanet / system / swing.jar / javax / swing / text / DefaultEditorKit.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-05  |  10.1 KB  |  221 lines

  1. package javax.swing.text;
  2.  
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.io.InputStreamReader;
  6. import java.io.OutputStream;
  7. import java.io.OutputStreamWriter;
  8. import java.io.Reader;
  9. import java.io.Writer;
  10. import javax.swing.Action;
  11.  
  12. public class DefaultEditorKit extends EditorKit {
  13.    public static final String EndOfLineStringProperty = "__EndOfLine__";
  14.    public static final String insertContentAction = "insert-content";
  15.    public static final String insertBreakAction = "insert-break";
  16.    public static final String insertTabAction = "insert-tab";
  17.    public static final String deletePrevCharAction = "delete-previous";
  18.    public static final String deleteNextCharAction = "delete-next";
  19.    public static final String readOnlyAction = "set-read-only";
  20.    public static final String writableAction = "set-writable";
  21.    public static final String cutAction = "cut-to-clipboard";
  22.    public static final String copyAction = "copy-to-clipboard";
  23.    public static final String pasteAction = "paste-from-clipboard";
  24.    public static final String beepAction = "beep";
  25.    public static final String pageUpAction = "page-up";
  26.    public static final String pageDownAction = "page-down";
  27.    public static final String forwardAction = "caret-forward";
  28.    public static final String backwardAction = "caret-backward";
  29.    public static final String selectionForwardAction = "selection-forward";
  30.    public static final String selectionBackwardAction = "selection-backward";
  31.    public static final String upAction = "caret-up";
  32.    public static final String downAction = "caret-down";
  33.    public static final String selectionUpAction = "selection-up";
  34.    public static final String selectionDownAction = "selection-down";
  35.    public static final String beginWordAction = "caret-begin-word";
  36.    public static final String endWordAction = "caret-end-word";
  37.    public static final String selectionBeginWordAction = "selection-begin-word";
  38.    public static final String selectionEndWordAction = "selection-end-word";
  39.    public static final String previousWordAction = "caret-previous-word";
  40.    public static final String nextWordAction = "caret-next-word";
  41.    public static final String selectionPreviousWordAction = "selection-previous-word";
  42.    public static final String selectionNextWordAction = "selection-next-word";
  43.    public static final String beginLineAction = "caret-begin-line";
  44.    public static final String endLineAction = "caret-end-line";
  45.    public static final String selectionBeginLineAction = "selection-begin-line";
  46.    public static final String selectionEndLineAction = "selection-end-line";
  47.    public static final String beginParagraphAction = "caret-begin-paragraph";
  48.    public static final String endParagraphAction = "caret-end-paragraph";
  49.    public static final String selectionBeginParagraphAction = "selection-begin-paragraph";
  50.    public static final String selectionEndParagraphAction = "selection-end-paragraph";
  51.    public static final String beginAction = "caret-begin";
  52.    public static final String endAction = "caret-end";
  53.    public static final String selectionBeginAction = "selection-begin";
  54.    public static final String selectionEndAction = "selection-end";
  55.    public static final String selectWordAction = "select-word";
  56.    public static final String selectLineAction = "select-line";
  57.    public static final String selectParagraphAction = "select-paragraph";
  58.    public static final String selectAllAction = "select-all";
  59.    public static final String defaultKeyTypedAction = "default-typed";
  60.    private static final Action[] defaultActions = new Action[]{new InsertContentAction(), new DeletePrevCharAction(), new DeleteNextCharAction(), new ReadOnlyAction(), new WritableAction(), new CutAction(), new CopyAction(), new PasteAction(), new PageUpAction(), new PageDownAction(), new InsertBreakAction(), new BeepAction(), new NextVisualPositionAction("caret-forward", false, 3), new NextVisualPositionAction("caret-backward", false, 7), new NextVisualPositionAction("selection-forward", true, 3), new NextVisualPositionAction("selection-backward", true, 7), new NextVisualPositionAction("caret-up", false, 1), new NextVisualPositionAction("caret-down", false, 5), new NextVisualPositionAction("selection-up", true, 1), new NextVisualPositionAction("selection-down", true, 5), new BeginWordAction("caret-begin-word", false), new EndWordAction("caret-end-word", false), new BeginWordAction("selection-begin-word", true), new EndWordAction("selection-end-word", true), new PreviousWordAction("caret-previous-word", false), new NextWordAction("caret-next-word", false), new PreviousWordAction("selection-previous-word", true), new NextWordAction("selection-next-word", true), new BeginLineAction("caret-begin-line", false), new EndLineAction("caret-end-line", false), new BeginLineAction("selection-begin-line", true), new EndLineAction("selection-end-line", true), new BeginParagraphAction("caret-begin-paragraph", false), new EndParagraphAction("caret-end-paragraph", false), new BeginParagraphAction("selection-begin-paragraph", true), new EndParagraphAction("selection-end-paragraph", true), new BeginAction("caret-begin", false), new EndAction("caret-end", false), new BeginAction("selection-begin", true), new EndAction("selection-end", true), new DefaultKeyTypedAction(), new InsertTabAction(), new SelectWordAction(), new SelectLineAction(), new SelectParagraphAction(), new SelectAllAction(), new DumpModelAction()};
  61.  
  62.    public Object clone() {
  63.       return new DefaultEditorKit();
  64.    }
  65.  
  66.    public Caret createCaret() {
  67.       return null;
  68.    }
  69.  
  70.    public Document createDefaultDocument() {
  71.       return new PlainDocument();
  72.    }
  73.  
  74.    public Action[] getActions() {
  75.       return defaultActions;
  76.    }
  77.  
  78.    public String getContentType() {
  79.       return "text/plain";
  80.    }
  81.  
  82.    public ViewFactory getViewFactory() {
  83.       return null;
  84.    }
  85.  
  86.    public void read(InputStream var1, Document var2, int var3) throws IOException, BadLocationException {
  87.       this.read((Reader)(new InputStreamReader(var1)), var2, var3);
  88.    }
  89.  
  90.    public void read(Reader var1, Document var2, int var3) throws IOException, BadLocationException {
  91.       char[] var4 = new char[4096];
  92.       boolean var6 = false;
  93.       boolean var7 = false;
  94.  
  95.       int var5;
  96.       while((var5 = var1.read(var4, 0, var4.length)) != -1) {
  97.          int var8 = 0;
  98.  
  99.          for(int var9 = 0; var9 < var5; ++var9) {
  100.             switch (var4[var9]) {
  101.                case '\n':
  102.                   if (var6) {
  103.                      if (var9 > var8 + 1) {
  104.                         var2.insertString(var3, new String(var4, var8, var9 - var8 - 1), (AttributeSet)null);
  105.                         var3 += var9 - var8 - 1;
  106.                      }
  107.  
  108.                      var6 = false;
  109.                      var8 = var9;
  110.                      var7 = true;
  111.                   }
  112.                   break;
  113.                case '\u000b':
  114.                case '\f':
  115.                default:
  116.                   if (var6) {
  117.                      if (var9 == 0) {
  118.                         var2.insertString(var3, "\r", (AttributeSet)null);
  119.                         ++var3;
  120.                      } else {
  121.                         var2.insertString(var3, new String(var4, var8, var9 - var8), (AttributeSet)null);
  122.                         var3 += var9 - var8;
  123.                         var8 = var9;
  124.                         var6 = false;
  125.                      }
  126.                   }
  127.                   break;
  128.                case '\r':
  129.                   if (var6) {
  130.                      if (var9 == 0) {
  131.                         var2.insertString(var3, "\r", (AttributeSet)null);
  132.                         ++var3;
  133.                      } else {
  134.                         var2.insertString(var3, new String(var4, var8, var9 - var8), (AttributeSet)null);
  135.                         var3 += var9 - var8;
  136.                         var8 = var9;
  137.                      }
  138.                   } else {
  139.                      var6 = true;
  140.                   }
  141.             }
  142.          }
  143.  
  144.          if (var8 < var5) {
  145.             if (var6) {
  146.                if (var8 < var5 - 1) {
  147.                   var2.insertString(var3, new String(var4, var8, var5 - var8 - 1), (AttributeSet)null);
  148.                   var3 += var5 - var8 - 1;
  149.                }
  150.             } else {
  151.                var2.insertString(var3, new String(var4, var8, var5 - var8), (AttributeSet)null);
  152.                var3 += var5 - var8;
  153.             }
  154.          }
  155.       }
  156.  
  157.       if (var6) {
  158.          var2.insertString(var3, "\r", (AttributeSet)null);
  159.       }
  160.  
  161.       if (var7) {
  162.          var2.putProperty("__EndOfLine__", "\r\n");
  163.       } else {
  164.          var2.putProperty("__EndOfLine__", (Object)null);
  165.       }
  166.  
  167.    }
  168.  
  169.    public void write(OutputStream var1, Document var2, int var3, int var4) throws IOException, BadLocationException {
  170.       this.write((Writer)(new OutputStreamWriter(var1)), var2, var3, var4);
  171.    }
  172.  
  173.    public void write(Writer var1, Document var2, int var3, int var4) throws IOException, BadLocationException {
  174.       if (var3 >= 0 && var3 + var4 <= var2.getLength()) {
  175.          Segment var5 = new Segment();
  176.          int var6 = var4;
  177.          int var7 = var3;
  178.          Object var8 = var2.getProperty("__EndOfLine__");
  179.          int var10;
  180.          if (var8 != null && var8 instanceof String && !((String)var8).equals("\n")) {
  181.             for(String var15 = (String)var8; var6 > 0; var6 -= var10) {
  182.                var10 = Math.min(var6, 4096);
  183.                var2.getText(var7, var10, var5);
  184.                int var11 = var5.offset;
  185.                char[] var12 = var5.array;
  186.                int var13 = var11 + var5.count;
  187.  
  188.                for(int var14 = var11; var14 < var13; ++var14) {
  189.                   if (var12[var14] == '\n') {
  190.                      if (var14 > var11) {
  191.                         var1.write(var12, var11, var14 - var11);
  192.                      }
  193.  
  194.                      var1.write(var15);
  195.                      var11 = var14 + 1;
  196.                   }
  197.                }
  198.  
  199.                if (var13 > var11) {
  200.                   var1.write(var12, var11, var13 - var11);
  201.                }
  202.  
  203.                var7 += var10;
  204.             }
  205.          } else {
  206.             while(var6 > 0) {
  207.                int var9 = Math.min(var6, 4096);
  208.                var2.getText(var7, var9, var5);
  209.                var1.write(var5.array, var5.offset, var5.count);
  210.                var7 += var9;
  211.                var6 -= var9;
  212.             }
  213.          }
  214.  
  215.          var1.flush();
  216.       } else {
  217.          throw new BadLocationException("DefaultEditorKit.write", var3);
  218.       }
  219.    }
  220. }
  221.