diff --git a/com.io7m.jsycamore.documentation/src/main/resources/com/io7m/jsycamore/documentation/buttonInactive.png b/com.io7m.jsycamore.documentation/src/main/resources/com/io7m/jsycamore/documentation/buttonInactive.png new file mode 100644 index 00000000..628c064a Binary files /dev/null and b/com.io7m.jsycamore.documentation/src/main/resources/com/io7m/jsycamore/documentation/buttonInactive.png differ diff --git a/com.io7m.jsycamore.documentation/src/main/resources/com/io7m/jsycamore/documentation/m-component.xml b/com.io7m.jsycamore.documentation/src/main/resources/com/io7m/jsycamore/documentation/m-component.xml index e75678e0..35be15c5 100644 --- a/com.io7m.jsycamore.documentation/src/main/resources/com/io7m/jsycamore/documentation/m-component.xml +++ b/com.io7m.jsycamore.documentation/src/main/resources/com/io7m/jsycamore/documentation/m-component.xml @@ -4,22 +4,70 @@ id="0c480fad-ee66-4532-a0b1-f06ebe582ea8" title="Components"> - + - A component... + Components + are the elements that make up the user interface inside + windows. Concretely, a component is any object that + implements the + SyComponentType + interface. The package provides the abstract SyComponentAbstract class that provides + sensible default implementations of all the required methods. - + - A component may be active or inactive. + Components form a tree structure, with each component having an arbitrary number of child components, and at most + one parent component. A component is said to be + detached + if it has no parent component, and it is also not the root component for a window. A + detached component is not visited during + layout + operations or during + event dispatch. - + + + A component may be active or inactive. A component can be set to + active or inactive by setting the value of the component's + activity + attribute. Inactivity is implicitly inherited; if the parent component P of a + component + C + is inactive, then C is considered to be inactive. + + + An inactive component will not receive events during + event dispatch. Additionally, + themes + are encouraged to render inactive components in a greyed-out form. For example, the button labelled "Button 1" in + the following image is inactive and so cannot be clicked: + + + + Multiple buttons, one of which is inactive. + + + + + Component layout... + + + The jsycamore package provides a set of + standard components. + + + diff --git a/com.io7m.jsycamore.documentation/src/main/resources/com/io7m/jsycamore/documentation/m-screen.xml b/com.io7m.jsycamore.documentation/src/main/resources/com/io7m/jsycamore/documentation/m-screen.xml index e4b06ab8..fbc649ca 100644 --- a/com.io7m.jsycamore.documentation/src/main/resources/com/io7m/jsycamore/documentation/m-screen.xml +++ b/com.io7m.jsycamore.documentation/src/main/resources/com/io7m/jsycamore/documentation/m-screen.xml @@ -100,6 +100,7 @@ If the viewport-space position of the mouse event (the cursor position) falls within the viewport-space bounds of w, then ask w for the + active component c that is overlapped by the cursor. The window implementation is required to return the most specific component for the given position; the component that