Moved some modules and added documentation

This commit is contained in:
2026-04-06 00:15:49 +02:00
parent 1f4f8a1fbd
commit f35f040efb
29 changed files with 276 additions and 70 deletions

45
wv-context.rkt Normal file
View File

@@ -0,0 +1,45 @@
#lang racket/base
(require racket/class
"racket-webview.rkt"
"wv-settings.rkt"
)
(provide wv-context%)
(define wv-context%
(class object%
(init-field
base-path
[file-getter (webview-standard-file-getter base-path)]
[context-js (λ () "")]
[context-css (λ () "")]
[boilerplate-js (webview-default-boilerplate-js context-js)]
[boilerplate-css (webview-default-boilerplate-css context-css)]
[ini (error "You need to provide a 'ini' file settings interface for settings, e.g. simple-ini/class")]
)
(define wv-context #f)
(define settings-obj #f)
(define/public (context)
wv-context)
(define/public (settings section)
(send settings-obj clone section)
)
(define/public (base-url)
(wv-context-base-url wv-context))
(super-new)
(begin
(set! wv-context
(webview-new-context file-getter
#:boilerplate-js boilerplate-js
#:boilerplate-css boilerplate-css))
(set! settings-obj (new wv-settings% [ini ini] [wv-context 'global]))
)
)
)