racket/collects/rackunit/private/gui/interfaces.rkt
2010-05-17 16:33:55 -06:00

70 lines
1.3 KiB
Racket

#lang racket/base
(require racket/class
unstable/class-iop)
(provide (all-defined-out))
;; controller
;; Manages the model and view.
;; Propagates status changes from model to view.
(define-interface controller<%> ()
(get-selected-model
set-selected-model
listen-selected-model
create-model
on-model-status-change
register-view
on-view-shutdown
;; field: locked?
))
;; result
;; Represents a test (case or suite) together with the state associated
;; with the last run of that test.
(define-interface result<%> ()
(get-test
get-parent
get-name
get-controller
finished?
success?
failure?
error?
has-output?
has-trash?
get-total-cases
get-total-successes
get-total-failures))
(define-interface case<%> (result<%>)
(update
get-result
get-timing
get-output
get-trash
get-property
get-property-set
get-all-properties))
(define-interface suite<%> (result<%>)
(get-children
add-child
finish!
on-child-status-change))
;; view
;; Presents a graphical interface for inspecting and running tests.
(define-interface view<%> ()
(create-view-link
queue-for-update
shutdown))
;; style-map
;; Maps symbolic style names ('bold, 'red) to GRacket styles.
(define-interface style-map<%> ()
(get-style))