Labs/Thunderhead/TheBook: Difference between revisions

Line 3: Line 3:
As I've been hacking on Thunderhead (aka "Th") I have various things I need to write down, but I haven't decided on a doc format for Th, so just going to record the stuff here.
As I've been hacking on Thunderhead (aka "Th") I have various things I need to write down, but I haven't decided on a doc format for Th, so just going to record the stuff here.


== Components ==
== Component System Overview ==


Th is a GUI toolkit. Its components are built on top of a small OO library called JSTraits, which in turn is inspired by John Resig's post on JS OO libraries, which in turn was inspired by... you get the idea.
Th is a GUI toolkit. Its components are built on top of a small OO library called JSTraits, which in turn is inspired by John Resig's post on JS OO libraries, which in turn was inspired by... you get the idea.
Line 22: Line 22:


{ top: 10, right: 10, bottom: 10, left: 10 }
{ top: 10, right: 10, bottom: 10, left: 10 }
== Component Notes ==
=== ScrollPane ===
Provides scrolling services to one component. Can contain a vertical scrollbar or a horizontal one, or both. The scrollbars can have little nibs that make them draggable. These are triggered by the following CSS properties:
* overflow-x: "hidden", "scroll", and "auto" supported; "visible" not supported (one of the worst things about CSS)
* overflow-y: same as overflow-x
* overflow: short-cut for x and y
* -th-nib-y: "visible", "none"; if "visible", this causes a panel with nibs at the top and bottom to show up
* -th-nib-x: "visible", "none"
The nib panel changes the preferred size of the scroll pane as it is moved and requests a re-layout by the scrollpane's parent.


== Layout ==
== Layout ==
123

edits