From 1976980d4a272fb7fc3694c734bfc6825edfc721 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Thu, 23 Jun 2022 03:23:44 +0200 Subject: Centralize (almost) all exports to :export in define-module. --- module/vcomponent/base.scm | 70 +++++++++++++++++++++++++++++++--------------- 1 file changed, 47 insertions(+), 23 deletions(-) (limited to 'module/vcomponent/base.scm') diff --git a/module/vcomponent/base.scm b/module/vcomponent/base.scm index 3d40ef9c..e79a4d5c 100644 --- a/module/vcomponent/base.scm +++ b/module/vcomponent/base.scm @@ -5,7 +5,34 @@ :use-module (srfi srfi-9 gnu) :use-module (srfi srfi-17) :use-module (ice-9 hash-table) - :use-module ((ice-9 optargs) :select (define*-public)) + :export (make-vline + vline? + vline-key + vline-source + + make-vcomponent + vcomponent? + children type parent + + add-child! remove-child! + + delete-property! + prop* prop + extract extract* + + delete-parameter! + value + param + + parameters + properties + + copy-vcomponent + x-property? + internal-field? + + + ) ) @@ -31,8 +58,6 @@ (source get-source set-source!) ) -(export vline? vline-key) - (set-record-type-printer! (lambda (v p) @@ -41,11 +66,11 @@ (get-vline-value v) (hash-map->list list (get-vline-parameters v))))) -(define-public vline-source +(define vline-source (make-procedure-with-setter get-source set-source!)) -(define*-public (make-vline key value #:optional (ht (make-hash-table))) +(define* (make-vline key value #:optional (ht (make-hash-table))) (make-vline% key value ht)) (define-record-type @@ -55,7 +80,6 @@ (children children set-component-children!) (parent get-component-parent set-component-parent!) (properties get-component-properties)) -(export vcomponent? children type) ((@ (srfi srfi-9 gnu) set-record-type-printer!) @@ -66,18 +90,18 @@ (and=> (get-component-parent c) type)))) ;; TODO should this also update the parent -(define-public parent +(define parent (make-procedure-with-setter get-component-parent set-component-parent!)) -(define*-public (make-vcomponent #:optional (type 'VIRTUAL)) +(define* (make-vcomponent #:optional (type 'VIRTUAL)) (make-vcomponent% type '() #f (make-hash-table))) -(define-public (add-child! parent child) +(define (add-child! parent child) (set-component-children! parent (cons child (children parent))) (set-component-parent! child parent)) -(define-public (remove-child! parent-component child) +(define (remove-child! parent-component child) (unless (eq? parent-component (parent child)) (scm-error 'wrong-type-arg "remove-child!" "Child doesn't belong to parent" @@ -97,7 +121,7 @@ ;; vline → value -(define-public value +(define value (make-procedure-with-setter get-vline-value set-vline-value!)) @@ -110,12 +134,12 @@ (hashq-set! (get-component-properties component) (as-symb key) value)) -(define-public prop* +(define prop* (make-procedure-with-setter get-prop* set-prop*!)) -(define-public (delete-property! component key) +(define (delete-property! component key) (hashq-remove! (get-component-properties component) (as-symb key))) @@ -131,13 +155,13 @@ (define (set-prop! component key value) (set-property! component (as-symb key) value)) -(define-public prop +(define prop (make-procedure-with-setter get-prop set-prop!)) -(define-public param +(define param (make-procedure-with-setter (lambda (vline parameter-key) ;; TODO `list' is a hack since a bit to much code depends @@ -150,17 +174,17 @@ (as-symb parameter-key) val)))) -(define-public (delete-parameter! vline parameter-key) +(define (delete-parameter! vline parameter-key) (hashq-remove! (get-vline-parameters vline) (as-symb parameter-key))) ;; Returns the parameters of a property as an assoc list. ;; @code{(map car <>)} leads to available parameters. -(define-public (parameters vline) +(define (parameters vline) (hash-map->list list (get-vline-parameters vline))) -(define-public (properties component) +(define (properties component) (hash-map->list cons (get-component-properties component))) (define (copy-vline vline) @@ -169,7 +193,7 @@ ;; TODO deep-copy on parameters? (get-vline-parameters vline))) -(define-public (copy-vcomponent component) +(define (copy-vcomponent component) (make-vcomponent% (type component) ;; TODO deep copy? @@ -183,16 +207,16 @@ (copy-vline value)))) (get-component-properties component))))) -(define-public (extract field) +(define (extract field) (lambda (e) (prop e field))) -(define-public (extract* field) +(define (extract* field) (lambda (e) (prop* e field))) -(define-public (x-property? symb) +(define (x-property? symb) (string=? "X-" (string-take (symbol->string symb) 2))) -(define*-public (internal-field? symbol optional: (prefix "-")) +(define* (internal-field? symbol optional: (prefix "-")) (string=? prefix (string-take-to (symbol->string symbol) (string-length prefix)))) -- cgit v1.2.3