@node VComponent @section (vcomponent) @defvr {Configuration Variable} calendar-files List of filepaths @end defvr @defvr {Configuration Variable} default-calendar @end defvr @c ===== Concepts ===== @c - internal fields @c DATA layout @c how does multiple value work? @c ===== BASE ===== @deftp {Record Type} @c - key @c - value @c - parameters @c - source @defun make-vline key value [ht=(make-hash-table)] @var{ht} is the hash table storing the parameters, can be explicitly given if need for optimizations arrises. @end defun @defun vline? x @end defun @defun vline-key vline @end defun @deffn {Slot} vline-source vline @end deffn @deffn {Slot} value vline @end deffn @deffn {Slot} param vline key @end deffn @defun delete-parameter! vline key @end defun @defun parameters vline Key a list of all parameters @example ((key value) ...) @end example @end defun @end deftp @deftp {Record Type} @defun vcomponent? x @end defun @defun make-vcomponent [type='VIRTUAL] @end defun @defun children vcomponent Returns all direct children of vcomponent, as a list of vcomponents. @end defun @deffn {Slot} parent vcomonent @end deffn @defun type vcomponent Returns the type of this vcomponent, as a symbol. Probably one of @code{VCALENDAR}, @code{VEVENT}, ... @end defun @defun add-child! parent child Adds child to the parents child list, but also updates the child to have parent in its parent slot @end defun @deffn {Prop} prop* vcomponent key @deffnx {Prop} prop vcomponent key @var{prop*} return the vline object, while @var{prop} is equivalent to @lisp (value (prop* vcomponent key)) @end lisp @end deffn @deffn (extract field) vcomponent @deffnx (extract* field) vcomponent Curried version of @var{prop}. @end deffn @defun delete-property! component key @end defun @defun properties comopnent @example ((key . value) ...) @end example @end defun @end deftp @defun copy-vcomponent vcomponent @end defun @defun x-property? symb Does symbol start with ``X-''? @end defun @defun internal-field? symb [prefix="-"] @end defun