# gui/interface/Widget.tcl

    @interface Widget : Object {
      {
        path @callbacks @defaults
      }

      + newWithPath: aPath ;
      - initWithPath: aPath ;

      - path ;

      - show ;
      - hide ;

      - cursor: aCursorName ;
      - cursor ;

      - on: event do: callback ;
      - do: event with: eventData ;

      - addCallback: callback forEvent: event ;
      - callbackForEvent: event atIndex: index ;
      - removeCallbackForEvent: event atIndex: index ;

      - callbackIndexesForEvent: event ;

      - enableEvent: eventList on: pathList ;
      - disableEvent: eventList on: pathList ;
    }