gui/pasteboard-mixins.ss
(module pasteboard-mixins mzscheme

  (require (lib "contract.ss")
           (lib "class.ss")
           (lib "mred.ss" "mred")
           "interfaces.ss")

  (provide/contract
   [static-pasteboard-mixin (mixin/c [pasteboard%] [] [])]
   [inert-pasteboard-mixin (mixin/c [pasteboard%] [] [])])

  (define (inert-pasteboard-mixin super%)
    (class super%
      (super-new)

      (override on-default-event)

      (define (on-default-event event)
        (void))))

  (define (static-pasteboard-mixin super%)
    (class super%
      (super-new)

      (override can-do-edit-operation?)
      (augment can-interactive-move?
               can-interactive-resize?)

      (define (can-do-edit-operation? op recursive?) #f)
      (define (can-interactive-move? event) #f)
      (define (can-interactive-resize? snip) #f)))

  )