home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / text / DefaultEditorKit.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  9.7 KB  |  243 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.    static final String selectionPageUpAction = "selection-page-up";
  28.    static final String selectionPageDownAction = "selection-page-down";
  29.    static final String selectionPageLeftAction = "selection-page-left";
  30.    static final String selectionPageRightAction = "selection-page-right";
  31.    public static final String forwardAction = "caret-forward";
  32.    public static final String backwardAction = "caret-backward";
  33.    public static final String selectionForwardAction = "selection-forward";
  34.    public static final String selectionBackwardAction = "selection-backward";
  35.    public static final String upAction = "caret-up";
  36.    public static final String downAction = "caret-down";
  37.    public static final String selectionUpAction = "selection-up";
  38.    public static final String selectionDownAction = "selection-down";
  39.    public static final String beginWordAction = "caret-begin-word";
  40.    public static final String endWordAction = "caret-end-word";
  41.    public static final String selectionBeginWordAction = "selection-begin-word";
  42.    public static final String selectionEndWordAction = "selection-end-word";
  43.    public static final String previousWordAction = "caret-previous-word";
  44.    public static final String nextWordAction = "caret-next-word";
  45.    public static final String selectionPreviousWordAction = "selection-previous-word";
  46.    public static final String selectionNextWordAction = "selection-next-word";
  47.    public static final String beginLineAction = "caret-begin-line";
  48.    public static final String endLineAction = "caret-end-line";
  49.    public static final String selectionBeginLineAction = "selection-begin-line";
  50.    public static final String selectionEndLineAction = "selection-end-line";
  51.    public static final String beginParagraphAction = "caret-begin-paragraph";
  52.    public static final String endParagraphAction = "caret-end-paragraph";
  53.    public static final String selectionBeginParagraphAction = "selection-begin-paragraph";
  54.    public static final String selectionEndParagraphAction = "selection-end-paragraph";
  55.    public static final String beginAction = "caret-begin";
  56.    public static final String endAction = "caret-end";
  57.    public static final String selectionBeginAction = "selection-begin";
  58.    public static final String selectionEndAction = "selection-end";
  59.    public static final String selectWordAction = "select-word";
  60.    public static final String selectLineAction = "select-line";
  61.    public static final String selectParagraphAction = "select-paragraph";
  62.    public static final String selectAllAction = "select-all";
  63.    static final String unselectAction = "unselect";
  64.    static final String toggleComponentOrientationAction = "toggle-componentOrientation";
  65.    public static final String defaultKeyTypedAction = "default-typed";
  66.    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("page-up", false), new PageDownAction("page-down", false), new PageUpAction("selection-page-up", true), new PageDownAction("selection-page-down", true), new PageAction("selection-page-left", true, true), new PageAction("selection-page-right", false, true), 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 UnselectAction(), new ToggleComponentOrientationAction(), new DumpModelAction()};
  67.  
  68.    public String getContentType() {
  69.       return "text/plain";
  70.    }
  71.  
  72.    public ViewFactory getViewFactory() {
  73.       return null;
  74.    }
  75.  
  76.    public Action[] getActions() {
  77.       return defaultActions;
  78.    }
  79.  
  80.    public Caret createCaret() {
  81.       return null;
  82.    }
  83.  
  84.    public Document createDefaultDocument() {
  85.       return new PlainDocument();
  86.    }
  87.  
  88.    public void read(InputStream var1, Document var2, int var3) throws IOException, BadLocationException {
  89.       this.read((Reader)(new InputStreamReader(var1)), var2, var3);
  90.    }
  91.  
  92.    public void write(OutputStream var1, Document var2, int var3, int var4) throws IOException, BadLocationException {
  93.       OutputStreamWriter var5 = new OutputStreamWriter(var1);
  94.       this.write((Writer)var5, var2, var3, var4);
  95.       var5.flush();
  96.    }
  97.  
  98.    public void read(Reader var1, Document var2, int var3) throws IOException, BadLocationException {
  99.       char[] var4 = new char[4096];
  100.       boolean var6 = false;
  101.       boolean var7 = false;
  102.       boolean var8 = false;
  103.       boolean var10 = var2.getLength() == 0;
  104.  
  105.       int var5;
  106.       while((var5 = var1.read(var4, 0, var4.length)) != -1) {
  107.          int var9 = 0;
  108.  
  109.          for(int var11 = 0; var11 < var5; ++var11) {
  110.             switch (var4[var11]) {
  111.                case '\n':
  112.                   if (var6) {
  113.                      if (var11 > var9 + 1) {
  114.                         var2.insertString(var3, new String(var4, var9, var11 - var9 - 1), (AttributeSet)null);
  115.                         var3 += var11 - var9 - 1;
  116.                      }
  117.  
  118.                      var6 = false;
  119.                      var9 = var11;
  120.                      var7 = true;
  121.                   }
  122.                   break;
  123.                case '\r':
  124.                   if (var6) {
  125.                      var8 = true;
  126.                      if (var11 == 0) {
  127.                         var2.insertString(var3, "\n", (AttributeSet)null);
  128.                         ++var3;
  129.                      } else {
  130.                         var4[var11 - 1] = '\n';
  131.                      }
  132.                   } else {
  133.                      var6 = true;
  134.                   }
  135.                   break;
  136.                default:
  137.                   if (var6) {
  138.                      var8 = true;
  139.                      if (var11 == 0) {
  140.                         var2.insertString(var3, "\n", (AttributeSet)null);
  141.                         ++var3;
  142.                      } else {
  143.                         var4[var11 - 1] = '\n';
  144.                      }
  145.  
  146.                      var6 = false;
  147.                   }
  148.             }
  149.          }
  150.  
  151.          if (var9 < var5) {
  152.             if (var6) {
  153.                if (var9 < var5 - 1) {
  154.                   var2.insertString(var3, new String(var4, var9, var5 - var9 - 1), (AttributeSet)null);
  155.                   var3 += var5 - var9 - 1;
  156.                }
  157.             } else {
  158.                var2.insertString(var3, new String(var4, var9, var5 - var9), (AttributeSet)null);
  159.                var3 += var5 - var9;
  160.             }
  161.          }
  162.       }
  163.  
  164.       if (var6) {
  165.          var2.insertString(var3, "\n", (AttributeSet)null);
  166.          var8 = true;
  167.       }
  168.  
  169.       if (var10) {
  170.          if (var7) {
  171.             var2.putProperty("__EndOfLine__", "\r\n");
  172.          } else if (var8) {
  173.             var2.putProperty("__EndOfLine__", "\r");
  174.          } else {
  175.             var2.putProperty("__EndOfLine__", "\n");
  176.          }
  177.       }
  178.  
  179.    }
  180.  
  181.    public void write(Writer var1, Document var2, int var3, int var4) throws IOException, BadLocationException {
  182.       if (var3 >= 0 && var3 + var4 <= var2.getLength()) {
  183.          Segment var5 = new Segment();
  184.          int var6 = var4;
  185.          int var7 = var3;
  186.          Object var8 = var2.getProperty("__EndOfLine__");
  187.          if (var8 == null) {
  188.             try {
  189.                var8 = System.getProperty("line.separator");
  190.             } catch (SecurityException var15) {
  191.             }
  192.          }
  193.  
  194.          String var9;
  195.          if (var8 instanceof String) {
  196.             var9 = (String)var8;
  197.          } else {
  198.             var9 = null;
  199.          }
  200.  
  201.          if (var8 != null && !var9.equals("\n")) {
  202.             while(var6 > 0) {
  203.                int var16 = Math.min(var6, 4096);
  204.                var2.getText(var7, var16, var5);
  205.                int var11 = var5.offset;
  206.                char[] var12 = var5.array;
  207.                int var13 = var11 + var5.count;
  208.  
  209.                for(int var14 = var11; var14 < var13; ++var14) {
  210.                   if (var12[var14] == '\n') {
  211.                      if (var14 > var11) {
  212.                         var1.write(var12, var11, var14 - var11);
  213.                      }
  214.  
  215.                      var1.write(var9);
  216.                      var11 = var14 + 1;
  217.                   }
  218.                }
  219.  
  220.                if (var13 > var11) {
  221.                   var1.write(var12, var11, var13 - var11);
  222.                }
  223.  
  224.                var7 += var16;
  225.                var6 -= var16;
  226.             }
  227.          } else {
  228.             while(var6 > 0) {
  229.                int var10 = Math.min(var6, 4096);
  230.                var2.getText(var7, var10, var5);
  231.                var1.write(var5.array, var5.offset, var5.count);
  232.                var7 += var10;
  233.                var6 -= var10;
  234.             }
  235.          }
  236.  
  237.          var1.flush();
  238.       } else {
  239.          throw new BadLocationException("DefaultEditorKit.write", var3);
  240.       }
  241.    }
  242. }
  243.