{"size": 2022, "ext": "scrbl", "max_stars_repo_path": "gui-pkg-manager-doc/pkg/gui/scribblings/gui-pkg-manager.scrbl", "max_stars_repo_name": "racket/gui-pkg-manager", "max_stars_repo_stars_event_min_datetime": "2022-03-05T20:28:41.000Z", "max_stars_repo_stars_event_max_datetime": "2022-03-05T20:28:41.000Z", "max_issues_repo_path": "gui-pkg-manager-doc/pkg/gui/scribblings/gui-pkg-manager.scrbl", "max_issues_repo_name": "racket/gui-pkg-manager", "max_issues_repo_issues_event_min_datetime": "2015-10-06T03:14:15.000Z", "max_issues_repo_issues_event_max_datetime": "2019-09-04T19:40:23.000Z", "max_forks_repo_path": "gui-pkg-manager-doc/pkg/gui/scribblings/gui-pkg-manager.scrbl", "max_forks_repo_name": "racket/gui-pkg-manager", "max_forks_repo_forks_event_min_datetime": "2016-02-08T22:45:31.000Z", "max_forks_repo_forks_event_max_datetime": "2022-03-05T20:28:50.000Z"}
{"max_stars_count": 1, "max_issues_count": 3, "max_forks_count": 3, "avg_line_length": 43.0212765957, "max_line_length": 100, "alphanum_fraction": 0.646884273}
#lang scribble/manual
@(require scribble/bnf
          scribble/core
          (for-label pkg racket/base))

@title{Package Management GUI Libraries}

@author[@author+email["Matthew Flatt" "mflatt@racket-lang.org"]
        @author+email["Jay McCarthy" "jay@racket-lang.org"]
        @author+email["Robert Bruce Findler" "robby@racket-lang.org"]]

@declare-exporting[pkg/gui]

The @tt{gui-pkg-manager} provides GUI support for package management.

@defproc[(make-pkg-gui
          [#:wrap-terminal-action wrap-terminal-action (-> (-> any) any) (λ (t) (t))]
          [#:initial-tab initial-tab (or/c 'by-source 'installed 'from-list 'migrate) 'by-source])
         (is-a?/c top-level-window<%>)]{
 Opens the package manager GUI starting with the @racket[initial-tab] selected. 
                                                   
 The @racket[wrap-terminal-action] function is passed a thunk that it is expected to 
 invoke, possibly after redirecting the @racket[current-output-port] and @racket[current-error-port]
 to point to an existing GUI window.
}

@defproc[(make-pkg-installer
          [#:parent parent (or/c #f (is-a?/c top-level-window<%>)) #f]
          [#:wrap-terminal-action wrap-terminal-action (-> (-> any) any) (λ (t) (t))]
          [#:package-to-offer package-to-offer (or/c #f string?) #f])
         (is-a?/c top-level-window<%>)]{
                                        
 Opens a specialized version of the @racket[make-pkg-gui] window that contains only the 
 @racket['by-source] panel.
  
 The @racket[wrap-terminal-action] function is passed a thunk that it is expected to 
 invoke, possibly after redirecting the @racket[current-output-port] and @racket[current-error-port]
 to point to an existing GUI window.
}

@defproc[(pkg-catalog-update-local/simple-status-dialog
          [#:parent parent (or/c (is-a?/c frame%) (is-a?/c dialog%) #f) #f])
         void?]{
  Calls @racket[pkg-catalog-update-local] with a simple @racket[dialog%]
  that shows which catalog servers are being consulted.
}
