anchor.diff:      procedure MMRenamenodeClick(Sender: TObject);
       procedure MMViewTBTreeClick(Sender: TObject);
       procedure TVDeleteNodeClick(Sender: TObject);
  -    procedure TVMouseDown(Sender: TObject; Button: TMouseButton;
  -      Shift: TShiftState; X, Y: Integer);
       procedure TVDeletion(Sender: TObject; Node: TTreeNTNode);
       procedure MMTreeFullExpandClick(Sender: TObject);
       procedure MMTreeFullCollapseClick(Sender: TObject);
  
positive.code:           posFirstChar:= Perform( EM_LINEINDEX,line,0 );
            Col  := SelStart - posFirstChar;
  
            // get part of current line in front of caret
            S:= Copy( lines[ line ], 1, col );
  
            // count blanks and tabs in this string
            indent := 0;
            while (indent < length( S )) and
                  (S[indent+1] In  [' ',#9])
            do
              Inc( indent );
        end;
    end;
  
  
negative.code: procedure TForm_Main.RxRTFKeyDown(Sender: TObject; var Key: Word;
    Shift: TShiftState);
  var
    line, col, indent, maxIndent, posFirstChar : integer;
    s : string;
    ptCursor :  TPoint;
  
  