racket/collects/drracket/private/interface.rkt
Robby Findler 70fac182c6 Add support to the show menu item to make ordering the items
simpler.

Use that support to adjust the Show menu to have a better
ordering for the built-in DrRacket items.
2012-07-17 13:07:41 -05:00

135 lines
3.7 KiB
Racket

#lang racket/unit
#|
This file has names with partial prefixes built into them
because the interfaces here used to be in other files, but
that was causing circular dependencies; the interfaces
were moved here to break the cycle, but the names should
remain the same for tools that use them.
|#
(require "drsig.rkt"
"local-member-names.rkt"
racket/class
framework)
(import)
(export drracket:interface^)
(define frame:basics<%> (interface (frame:standard-menus<%>)))
(define frame:<%>
(interface (frame:editor<%> frame:basics<%> frame:text-info<%>)
get-show-menu
update-shown
add-show-menu-items
set-show-menu-sort-key))
(define unit:frame<%>
(interface (frame:<%>
frame:searchable-text<%>
frame:delegate<%>)
get-insert-menu
get-special-menu
get-interactions-text
get-definitions-text
get-interactions-canvas
get-definitions-canvas
get-button-panel
execute-callback
get-current-tab
open-in-new-tab
create-new-tab
close-current-tab
on-tab-change
enable-evaluation
disable-evaluation
get-definitions/interactions-panel-parent
register-capability-menu-item
ensure-rep-shown
ensure-rep-hidden
ensure-defs-shown
get-language-menu
register-toolbar-button
register-toolbar-buttons
unregister-toolbar-button
sort-toolbar-buttons-panel
get-tabs))
(define unit:definitions-text<%>
(interface ()
begin-metadata-changes
end-metadata-changes
get-tab
get-next-settings
after-set-next-settings
set-needs-execution-message))
(define rep:context<%>
(interface ()
ensure-rep-shown ;; (interactions-text -> void)
;; make the rep visible in the frame
repl-submit-happened ;; (-> boolean)
;; notify the context that an evaluation is about to
;; happen in the REPL (so it can show a warning about
;; the language/etc is out of sync if neccessary).
enable-evaluation ;; (-> void)
;; make the context enable all methods of evaluation
;; (disable buttons, menus, etc)
disable-evaluation ;; (-> void)
;; make the context disable all methods of evaluation
;; (disable buttons, menus, etc)
set-breakables ;; (union thread #f) (union custodian #f) -> void
;; the context might initiate breaks or kills to
;; the thread passed to this function
get-breakables ;; -> (values (union thread #f) (union custodian #f))
;; returns the last values passed to set-breakables.
reset-offer-kill ;; (-> void)
;; the next time the break button is pushed, it will only
;; break. (if the break button is clicked twice without
;; this method being called in between, it will offer to
;; kill the user's program)
update-running ;; (boolean -> void)
;; a callback to indicate that the repl may have changed its running state
;; use the repls' get-in-evaluation? method to find out what the current state is.
clear-annotations ;; (-> void)
;; clear any error highlighting context
get-directory ;; (-> (union #f string[existing directory]))
;; returns the directory that should be the default for
;; the `current-directory' parameter in the repl.
))
(define unit:tab<%>
(interface (rep:context<%>)
get-frame
get-defs
get-ints
get-visible-defs
set-visible-defs
set-visible-ints
set-focus-d/i
get-i
set-i
break-callback
is-current-tab?
get-enabled
on-close
can-close?
toggle-log))
(define module-language-tools:definitions-text<%> (interface () move-to-new-language))
(define module-language-tools:tab<%> (interface ()))
(define module-language-tools:frame<%> (interface ()))