anchor.diff:       num, fx, ukm, kbd, undk, fs;
   
   type
  -  TDbOutCursor = class (udc.TDbCursor)
  -    public
  -      procedure Toggle;
  -    end;
     TDbOutlnApp  = class (uapp.TCustomApp)
       protected
  -      curs     : TDbOutCursor;
  +      cur      : TDbCursor;
         dbc      : udb.TDatabase;
  -      view     : udv.TDbTreeGrid;
  +      treegrid     : udv.TDbTreeGrid;
         typeMenu : udv.TDBMenu;
         pageMenu : udv.TDBMenu;
         rsOutln  : udb.TRecordSet;
  
positive.code: 
  procedure TDbOutlnApp.keys(km : TKeyMap);
    begin
      km.cmd[ ^P ] := curs.Prev;
      km.cmd[ ^N ] := curs.Next;
      km.cmd['p'] := curs.Prev;
      km.cmd['n'] := curs.Next;
      km.cmd['['] := curs.ToTop;
      km.cmd[']'] := curs.ToEnd;
      km.cmd[ ^C ] := self.Quit;
      km.cmd[ ^I ] := curs.Toggle;
      km.cmd[ ^T ] := self.ChooseType;
      km.cmd[ ^O ] := self.ChoosePage;
      km.cmd[ ^L ] := self.Redraw;
  
negative.code:     rsOutln := dbc.query(
        'SELECT olid, nid, kind, node, depth, collapsed, hidden, leaf '+
          'FROM outline');
      cur := TDbCursor.Create(dbc);
      cur.Attach(rsOutln, 'nid');
      cur.canHideRows := true; cur.hideFlag := 'hidden';
      cur.OnMarkChanged := self.OnCursorChange;
  
      // TODO: eventually i'll build a little lazarus-like RAD thing
      // to manage these components as data rather than code.
  