(module text mzscheme (require (lib "unitsig.ss") (lib "class.ss") "drsig.ss" (lib "framework.ss" "framework")) (provide text@) (define text@ (unit/sig drscheme:text^ (import) (define text<%> (interface (scheme:text<%>) printing-on printing-off is-printing?)) (define text% (class* scheme:text% (text<%>) (define printing? #f) (define/public (is-printing?) printing?) (define/public (printing-on) (set! printing? #t)) (define/public (printing-off) (set! printing? #f)) ; (rename [super-on-paint on-paint]) ; (inherit get-filename) ; (override ; [on-paint ; (λ (before? dc left top right bottom dx dy draw-caret) ; (super-on-paint before? dc left top right bottom dx dy draw-caret) ; (let ([str (string-append ; (mzlib:date:date->string (seconds->date (current-seconds))) ; " " ; (if (string? (get-filename)) ; (get-filename) ; "Untitled"))]) ; (send dc draw-text str dx dy)))]) (super-new))))))