Distribute the literate prose from the old combined scrollbox-tabbar.org into three individual module org files: - scrollbox.org: ScrollBox class, render, scrollbars, bug fixes, plus the combined test suite (tangles scrollbox-tabbar-tests.lisp) - tabbar.org: TabBar class, navigation, keyboard handler, render - container-package.org: Package definition and exports The old scrollbox-tabbar.org is retained as a documentation archive with all code blocks set to :tangle no and a redirecting note. Fixes the draw-scrollbars code block to use the post-bugfix version (with layout-node origin offset ox/oy), matching the working code. All 13 test suites pass at 100%.
34 lines
943 B
Org Mode
34 lines
943 B
Org Mode
#+TITLE: Container Package
|
|
#+STARTUP: content
|
|
#+FILETAGS: :cl-tty:container:
|
|
|
|
* Overview
|
|
|
|
The ~cl-tty.container~ package defines the container component types:
|
|
ScrollBox and TabBar. It uses ~cl-tty.backend~, ~cl-tty.box~,
|
|
~cl-tty.layout~, and ~cl-tty.input~.
|
|
|
|
The package exports both ScrollBox and TabBar classes, constructors,
|
|
accessors, and navigation functions.
|
|
|
|
* Package Definition
|
|
|
|
#+BEGIN_SRC lisp :tangle ../src/components/container-package.lisp
|
|
(defpackage :cl-tty.container
|
|
(:use :cl :cl-tty.backend :cl-tty.box :cl-tty.layout :cl-tty.input)
|
|
(:export
|
|
;; ScrollBox
|
|
#:scroll-box #:make-scroll-box
|
|
#:scroll-box-scroll-y #:scroll-box-scroll-x
|
|
#:scroll-box-children
|
|
#:scroll-by #:sticky-scroll-p
|
|
#:clamp-scroll
|
|
;; TabBar
|
|
#:tab-bar #:make-tab-bar
|
|
#:tab-bar-active #:tab-bar-tabs
|
|
#:tab-bar-add #:tab-bar-next #:tab-bar-prev
|
|
#:tab-bar-select #:tab-bar-handle-key
|
|
;; Rendering
|
|
#:render))
|
|
#+END_SRC
|