Changeset 1141


Ignore:
Timestamp:
Jul 2, 2011, 4:02:01 PM (6 years ago)
Author:
joerg
Message:

created object for the rows of a document for more fine grained syncs

Location:
trunk/src/sce
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/sce/codehelper/CodeHelperPane.java

    r1139 r1141  
    355355            if (colBefore >= 0 && colAfter < row.length &&
    356356                row.chars[colBefore].character == '[' && row.chars[colAfter].character == ']') {
    357               document.remove(rowNr, colBefore, rowNr, colAfter + 1, SCEDocumentEvent.EVENT_EDITRANGE);
     357              document.remove(rowNr, colBefore, rowNr, colAfter + 1, SCEDocumentEvent.EVENT_EDITRANGE, false);
    358358            }
    359359          }
     
    387387        if (colBefore >= 0 && colAfter < row.length &&
    388388            row.chars[colBefore].character != '[' || row.chars[colAfter].character != ']') {
    389           document.insert("[]", rowNr, colBefore, SCEDocumentEvent.EVENT_EDITRANGE);
     389          document.insert("[]", rowNr, colBefore, SCEDocumentEvent.EVENT_EDITRANGE, false);
    390390        }
    391391      }
     
    641641
    642642          pane.setFreezeCaret(true);
    643           document.remove(start.getRow(), start.getColumn(), end.getRow(), end.getColumn(), 0);
    644           document.insert(argumentValue, start.getRow(), start.getColumn(), 0);
     643          document.remove(start.getRow(), start.getColumn(), end.getRow(), end.getColumn(), 0, false);
     644          document.insert(argumentValue, start.getRow(), start.getColumn(), 0, false);
    645645          pane.setFreezeCaret(false);
    646646        }
  • trunk/src/sce/component/SCEDocument.java

    r1139 r1141  
    331331   */
    332332  public synchronized void insert(String text, int row_nr, int column_nr) {
    333     insert(text, row_nr, column_nr, SCEDocumentEvent.UPDATE_VIEW);
     333    insert(text, row_nr, column_nr, SCEDocumentEvent.UPDATE_VIEW, true);
    334334  }
    335335
     
    342342   * @param eventID   the event to tell the listeners (-1 if not to tell)
    343343   */
    344   public synchronized void insert(String text, int row_nr, int column_nr, int eventID) {
     344  public synchronized void insert(String text, int row_nr, int column_nr, int eventID, boolean checkEditRange) {
    345345    if (!editable) return;
    346346
     
    348348    SCEDocumentPosition position = new SCEDocumentPosition(row_nr, column_nr);
    349349
    350     SCEDocumentPosition endPosition = rows.insert(text, row_nr, column_nr);
     350    SCEDocumentPosition endPosition = rows.insert(text, row_nr, column_nr, checkEditRange);
    351351    if(endPosition == null) return;
    352352
     
    374374   */
    375375  public void remove(int startRow, int startColumn, int endRow, int endColumn) {
    376     remove(startRow, startColumn, endRow, endColumn, SCEDocumentEvent.UPDATE_VIEW);
     376    remove(startRow, startColumn, endRow, endColumn, SCEDocumentEvent.UPDATE_VIEW, true);
    377377  }
    378378
     
    386386   * @param eventID     the event to tell the listeners (-1 if not to tell)
    387387   */
    388   public void remove(int startRow, int startColumn, int endRow, int endColumn, int eventID) {
     388  public void remove(int startRow, int startColumn, int endRow, int endColumn, int eventID, boolean checkEditRange) {
    389389    if (!editable) return;
    390390
     
    394394    String text = getText(start, end);
    395395
    396     if(!rows.remove(startRow, startColumn, endRow, endColumn)) return;
     396    if(!rows.remove(startRow, startColumn, endRow, endColumn, checkEditRange)) return;
    397397
    398398    // Inform the listeners about the change
  • trunk/src/sce/component/SCEDocumentRows.java

    r1139 r1141  
    301301   * @param column_nr the column
    302302   */
    303   public synchronized SCEDocumentPosition insert(String text, int row_nr, int column_nr) {
     303  public synchronized SCEDocumentPosition insert(String text, int row_nr, int column_nr, boolean checkEditRange) {
    304304    if (row_nr >= rowsCount) return null;
    305305
     
    308308
    309309    // is this position within the edit range?
    310     if (hasEditRange()) {
     310    if (checkEditRange && hasEditRange()) {
    311311      if (position.compareTo(editRangeStart) <= 0 || position.compareTo(editRangeEnd) >= 0) {
    312312        // this is not allowed
     
    454454   * @param endColumn   the end column (behind the last character to remove)
    455455   */
    456   public synchronized boolean remove(int startRow, int startColumn, int endRow, int endColumn) {
     456  public synchronized boolean remove(int startRow, int startColumn, int endRow, int endColumn, boolean checkEditRange) {
    457457    SCEDocumentPosition start = new SCEDocumentPosition(startRow, startColumn);
    458458    SCEDocumentPosition end = new SCEDocumentPosition(endRow, endColumn);
    459459
    460460    // is this position within the edit range?
    461     if (hasEditRange()) {
     461    if (checkEditRange && hasEditRange()) {
    462462      if (start.compareTo(editRangeStart) <= 0 || end.compareTo(editRangeEnd) >= 0) {
    463463        // this is not allowed
  • trunk/src/sce/component/SCEUndoManager.java

    r969 r1141  
    5050
    5151      if (event.isInsert()) {
    52         document.remove(start.getRow(), start.getColumn(), end.getRow(), end.getColumn(), SCEDocumentEvent.EVENT_UNDO);
     52        document.remove(start.getRow(), start.getColumn(), end.getRow(), end.getColumn(), SCEDocumentEvent.EVENT_UNDO, false);
    5353      }
    5454      if (event.isRemove()) {
    55         document.insert(text, start.getRow(), start.getColumn(), SCEDocumentEvent.EVENT_UNDO);
     55        document.insert(text, start.getRow(), start.getColumn(), SCEDocumentEvent.EVENT_UNDO, false);
    5656      }
    5757      if (event.isEditRange()) {
     
    8484
    8585      if (event.isInsert()) {
    86         document.insert(text, start.getRow(), start.getColumn(), SCEDocumentEvent.EVENT_REDO);
     86        document.insert(text, start.getRow(), start.getColumn(), SCEDocumentEvent.EVENT_REDO, false);
    8787      }
    8888      if (event.isRemove()) {
    89         document.remove(start.getRow(), start.getColumn(), end.getRow(), end.getColumn(), SCEDocumentEvent.EVENT_REDO);
     89        document.remove(start.getRow(), start.getColumn(), end.getRow(), end.getColumn(), SCEDocumentEvent.EVENT_REDO, false);
    9090      }
    9191
Note: See TracChangeset for help on using the changeset viewer.