Constructor
new BoxBag(parentopt, containeropt, boxBaseopt)
BoxBag constructor
| Name | Type | Attributes | Description |
|---|---|---|---|
parent | module:boxes/AbstractBox. | <optional> | The AbstractBox to which this box bag belongs |
container | module:AWT. | <optional> | The container where this box bag is placed. |
boxBase | module:boxes/BoxBase. | <optional> | The object where colors, fonts, border and other graphic properties |
- Source
Extends
Members
$accessibleElement :external:jQuery
DOM element used to display this cell content in wai-aria contexts
- Source
$hostedComponent :external:jQuery
An external JQuery DOM element hosted by this box
- Source
accessibleAlwaysActive :boolean
Flag indicating that $accessibleElement should be always active
- boolean
- Source
accessibleText :string
Text to be used in accessible contexts
- string
- Source
alternative :boolean
Whether this box must be displayed with alternative or regular color and font settings
- boolean
- Source
backgroundBox :module:boxes/AbstractBox.AbstractBox
An optional box used as a background by this BoxBag
- Source
border :boolean
Whether this box has a border or not
- boolean
- Source
boxBase :module:boxes/BoxBase.BoxBase
The BoxBase related to this AbstractBox. When null, the parent can provide an
alternative one.
- Source
cells :Array.<module:boxes/AbstractBox.AbstractBox>
The array of cells
- Source
container :module:AWT.Container
The Container to which this AbstractBox belongs
- Source
dim :module:AWT.Dimension
The Dimension of the Rectangle
focused :boolean
Whether this box holds the input focus
- boolean
- Source
inactive :boolean
Whether this box is active or inactive
- boolean
- Source
inverted :boolean
Whether this box must be displayed with inverted or regular colors
- boolean
- Source
marked :boolean
Whether this box is marked (selected) or not
- boolean
- Source
parent :module:boxes/AbstractBox.AbstractBox
The parent AbstractBox (can be null)
- Source
pos :module:AWT.Point
The current position of the shape
preferredBounds :module:AWT.Rectangle
Rectangle containing the preferred bounds of the BoxBag
- Source
role :string
Describes the main role of this box on the activity. Useful in wai-aria descriptions.
- string
- Source
shape :module:AWT.Shape
The shape of this box (the box Rectangle or a special Shape, if set)
- Source
specialShape :boolean
Whether this box has a shape that is not a rectangle
- boolean
- Source
temporaryHidden :boolean
Used to temporary hide a box while other drawing operations are done
- boolean
- Source
tmpTrans :boolean
Cells with this attribute will be transparent but with painted border
- boolean
- Source
type :string
Shape type id
- string
visible :boolean
Whether this box is visible or not
- boolean
- Source
Methods
add(shape) → {module:AWT.Rectangle}
Adds the boundaries of another shape to the current one
| Name | Type | Description |
|---|---|---|
shape | module:AWT. | The |
- Type:
- module:AWT.
Rectangle
addBox(bx)
Adds an AbstractBox to the collection of cells
| Name | Type | Description |
|---|---|---|
bx | module:boxes/AbstractBox. | The box to add |
- Source
boxIndex(bx) → {number}
Returns the index of a specific box in the cells array
| Name | Type | Description |
|---|---|---|
bx | module:boxes/AbstractBox. |
- Source
- Type:
- number
clip(ctx, fillRuleopt) → {external:CanvasRenderingContext2D}
Creates a clipping region on the specified HTML canvas 2D rendering context
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
ctx | external:CanvasRenderingContext2D | The rendering context | ||
fillRule | string | <optional> | 'nonzero' | Can be 'nonzero' (default when not set) or 'evenodd' |
- The provided rendering context
clone() → {module:AWT.Rectangle}
Clones this Rectangle
- Type:
- module:AWT.
Rectangle
countInactiveCells() → {number}
Count the number of cells of this BoxBag that are in "inactive" state
- Source
- Type:
- number
drawBorder(ctx)
Draws the box border
| Name | Type | Description |
|---|---|---|
ctx | external:CanvasRenderingContext2D | The canvas rendering context where the border |
- Source
end()
Finisher method
- Source
equals(r) → {boolean}
Checks if two shapes are equivalent.
| Name | Type | Description |
|---|---|---|
r | module:AWT. | The Shape to compare against |
- Type:
- boolean
fill(ctx, dirtyRegionopt) → {external:CanvasRenderingContext2D}
Fills the Shape with the current style in the provided HTML canvas context
| Name | Type | Attributes | Description |
|---|---|---|---|
ctx | external:CanvasRenderingContext2D | The canvas 2D rendering context where to fill this shape. | |
dirtyRegion | module:AWT. | <optional> | The context region to be updated. Used as clipping |
- The provided rendering context
findBox(p) → {module:boxes/AbstractBox.AbstractBox}
Finds the first visible AbstractBox located under the specified point
| Name | Type | Description |
|---|---|---|
p | module:AWT. |
- Source
getAttributes() → {object}
Gets a object with the basic attributes needed to rebuild this instance excluding functions,
parent references, constants and also attributes retaining the default value.
The resulting object is commonly usued to serialize elements in JSON format.
- The resulting object, with minimal attrributes
- Type:
- object
getBackgroundBox() → {module:boxes/AbstractBox.AbstractBox}
Gets the background box
- Source
getBorderBounds() → {module:AWT.Rectangle}
Returns the enclosing Rectangle of this box including its border (if any)
- Source
- Type:
- module:AWT.
Rectangle
getBounds() → {module:AWT.Rectangle}
Gets the enclosing Rectangle of this Shape.
- Type:
- module:AWT.
Rectangle
getBox(n) → {module:boxes/AbstractBox.AbstractBox}
Returns the box at a specific index in the cells array
| Name | Type | Description |
|---|---|---|
n | number | The index |
- Source
getBoxBaseResolve() → {module:boxes/BoxBase.BoxBase}
Gets the real BoxBase associated to this box, scanning down parent relationships.
- Source
getContainerResolve() → {module:AWT.Container}
Gets the container associated to this box, asking its parents when null.
- Source
- Type:
- module:AWT.
Container
getContainerX() → {module:AWT.Container}
Gets the container attribute of this box, without checking its parent
- Source
- Type:
- module:AWT.
Container
getCoords() → {string}
Gets a string with the co-ordinates of the upper-left and lower-right vertexs of this rectangle,
(with values rounded to int)
- Type:
- string
getHostedComponent() → {external:jQuery}
Gets the current $hostedComponent member
- Source
- Type:
- external:jQuery
getMinimumSize() → {module:AWT.Dimension}
Gets the minimum size requested by this BoxBag
- Source
- Type:
- module:AWT.
Dimension
getNumCells() → {number}
Returns the number of cells stored in this BoxBag
- Source
- Type:
- number
getOppositeVertex() → {module:AWT.Point}
Gets the module:AWT.Point corresponding to the lower-right vertex of the Rectangle.
- Type:
- module:AWT.
Point
getParent() → {module:boxes/AbstractBox.AbstractBox}
Gets the current parent of this box
- Source
getPreferredSize() → {module:AWT.Dimension}
Gets the preferred size of this BoxBag
- Source
- Type:
- module:AWT.
Dimension
getScaledSize(scale) → {module:AWT.Dimension}
Scales the current size of this box bag, multiplying all values by a specific factor
| Name | Type | Description |
|---|---|---|
scale | number | The scale factor |
- Source
- Type:
- module:AWT.
Dimension
getShape() → {module:AWT.Shape}
Gets the current shape used in this box
- Source
- Type:
- module:AWT.
Shape
grow(dx, dy) → {module:AWT.Rectangle}
Expands the boundaries of this shape. This affects the current position and dimension.
| Name | Type | Description |
|---|---|---|
dx | number | The amount to grow (or decrease) in horizontal direction |
dy | number | The amount to grow (or decrease) in vertical direction |
- Type:
- module:AWT.
Rectangle
hasBorder() → {boolean}
Checks if this box has border
- Source
- Type:
- boolean
intersects(_r) → {boolean}
Checks if the provided Rectangle r intersects with this shape.
| Name | Type | Description |
|---|---|---|
_r | module:AWT. |
- Type:
- boolean
invalidate(rect)
Invalidates the zone corresponding to this box in the associated module:AWT.Container, if any.
| Name | Type | Description |
|---|---|---|
rect | module:AWT. | The rectangle to be invalidated. When |
- Source
isAlternative() → {boolean}
Checks if this box is in alternative state.
- Source
- Type:
- boolean
isFocused() → {boolean}
Checks if this box has the input focus
- Source
- Type:
- boolean
isInactive() → {boolean}
Checks if this box is currently inactive.
- Source
- Type:
- boolean
isInverted() → {boolean}
Checks if this box is in inverted state.
- Source
- Type:
- boolean
isMarked() → {boolean}
Checks if this box is marked
- Source
- Type:
- boolean
isRect() → {boolean}
Shorthand method for determining if a Shape is an Rectangle
- Type:
- boolean
isTemporaryHidden() → {boolean}
Checks if this box is temporary hidden
- Source
- Type:
- boolean
isVisible() → {boolean}
Checks if this box is fully visible
- Source
- Type:
- boolean
moveBy(dx, dy)
Sets a new location to this box. In JClic this method was named translate.
| Name | Type | Description |
|---|---|---|
dx | number | The displacement on the X axis |
dy | number | The displacement on the Y axis |
- Source
moveTo(newPos, yopt)
Sets a new location for this box. In JClic this method was named setLocation
| Name | Type | Attributes | Description |
|---|---|---|---|
newPos | AWT. | A point or the | |
y | number | <optional> | The |
- Source
preparePath(ctx) → {external:CanvasRenderingContext2D}
Prepares an HTML canvas 2D rendering context with a path that can be used to stroke a line,
to fill a surface or to define a clipping region.
| Name | Type | Description |
|---|---|---|
ctx | external:CanvasRenderingContext2D |
- The provided rendering context
recalcSize()
Recalculates the total size of this BoxBag (useful after direct additions o deletions of
elements in the cells array).
Updates preferredBounds and the current position and size of the box bag.
- Source
scaleBy(delta) → {module:AWT.Rectangle}
Multiplies the dimension of the Shape by the specified delta amount.
| Name | Type | Description |
|---|---|---|
delta | Point | | Object containing the X and Y ratio to be scaled. |
- Type:
- module:AWT.
Rectangle
setAlternative(newVal)
Overrides module:boxes/AbstractBox.AbstractBox#setAlternative iterating over all the cells stored in this box bag.
| Name | Type | Description |
|---|---|---|
newVal | boolean | Whether to set or unset the cells in "alternative" mode |
- Source
setAttributes(data) → {module:AWT.Rectangle}
Reads the properties of this Rectangle from a data object
| Name | Type | Description |
|---|---|---|
data | object | The data object to be parsed |
- Type:
- module:AWT.
Rectangle
setBackgroundBox(bx)
Sets the background box
| Name | Type | Description |
|---|---|---|
bx | module:boxes/AbstractBox. |
- Source
setBorder(newVal)
Overrides module:boxes/AbstractBox.AbstractBox#setBorder iterating over all the cells stored in this box bag.
| Name | Type | Description |
|---|---|---|
newVal | boolean | Whether to set or unset the border |
- Source
setBoxBase(boxBase)
Sets the BoxBase of this box
| Name | Type | Description |
|---|---|---|
boxBase | module:boxes/BoxBase. | The new BoxBase |
- Source
setCellAttr(key, value)
Sets the specified key - value pair to all cells of this bag.
| Name | Type | Description |
|---|---|---|
key | string | The key to be established |
value | any | The value, of any type |
- Source
setContainer(newContainer)
Setter method for container
| Name | Type | Description |
|---|---|---|
newContainer | module:AWT. | The new Container assigned to this box |
- Source
setFocused(newVal)
Sets or unsets the input focus to this box.
| Name | Type | Description |
|---|---|---|
newVal | boolean |
- Source
setHostedComponent($hc)
Sets the $hostedComponent member.
| Name | Type | Description |
|---|---|---|
$hc | external:jQuery | The jQuery DOM component hosted by this box. |
- Source
setHostedComponentBorder()
Sets the $hostedComponent border, based on the currentBoxBase of this box.
- Source
setHostedComponentBounds(_sizeChanged)
Places and resizes $hostedComponent, based on the size
and position of this box.
| Name | Type | Description |
|---|---|---|
_sizeChanged | boolean |
|
- Source
setHostedComponentColors()
Sets $hostedComponent colors and other css properties
based on the current BoxBase of this box.
- Source
setHostedComponentVisible()
Makes module:boxes/AbstractBox.AbstractBox#$hostedComponent visible or invisible, based on the value of
the AbstractBox visible flag.
- Source
setInactive(newVal)
Makes this box active (false) or inactive (true)
| Name | Type | Description |
|---|---|---|
newVal | boolean |
- Source
setInverted(newVal)
Puts this box in inverted mode or restores its original state.
| Name | Type | Description |
|---|---|---|
newVal | boolean |
- Source
setMarked(newVal)
Sets this box in marked mode, or restores its original state.
| Name | Type | Description |
|---|---|---|
newVal | boolean |
- Source
setParent(parent)
Setter method for parent
| Name | Type | Description |
|---|---|---|
parent | module:boxes/AbstractBox. | The new parent of this box |
- Source
setShape(sh)
Sets the shape used to draw the content of this box
| Name | Type | Description |
|---|---|---|
sh | module:AWT. | The shape to be set |
- Source
setSize(width, height)
Changes the size of this box
| Name | Type | Description |
|---|---|---|
width | number | |
height | number |
- Source
setTemporaryHidden(newVal)
Makes this box temporary hidden (newVal true) or resets its original state (newVal false)
| Name | Type | Description |
|---|---|---|
newVal | boolean |
- Source
setVisible(newVal)
Overrides module:boxes/AbstractBox.AbstractBox#setVisible iterating over all the cells stored in this box bag.
| Name | Type | Description |
|---|---|---|
newVal | boolean | Whether to set the cells visible or not |
- Source
stroke(ctx) → {external:CanvasRenderingContext2D}
Draws this shape in the provided HTML canvas 2D rendering context.
| Name | Type | Description |
|---|---|---|
ctx | external:CanvasRenderingContext2D | The canvas 2D rendering context where to draw the shape. |
- The provided rendering context
toString() → {string}
Overwrites the original 'Object.toString' method with a more descriptive text
- Type:
- string
update(ctx, dirtyRegionopt)
Performs graphics operations for each cell.
Overrides module:boxes/AbstractBox.AbstractBox#update
| Name | Type | Attributes | Description |
|---|---|---|---|
ctx | external:CanvasRenderingContext2D | The canvas rendering context used to draw the | |
dirtyRegion | module:AWT. | <optional> | The area that must be repainted. |
- Source
updateContent(_ctx, _dirtyRegionopt)
Here is where classes derived from AbstractBox should implement the drawing of its
content. Background and border are already painted in module:boxes/AbstractBox.AbstractBox#update.
| Name | Type | Attributes | Description |
|---|---|---|---|
_ctx | external:CanvasRenderingContext2D | The canvas rendering context used to draw the | |
_dirtyRegion | module:AWT. | <optional> | The area that must be repainted. |
- Source
(static) layoutDouble(desiredMaxSize, rsA, rsB, boxGridPos, margin) → {module:AWT.Dimension}
Static method that sets the position and dimension of two Resizable objects based on a
preferred maximum size, a layout schema and a margin.
| Name | Type | Description |
|---|---|---|
desiredMaxSize | module:AWT. | The preferred maximum size |
rsA | Resizable | First resizable object implementing the methods described in the |
rsB | Resizable | Second resizable object |
boxGridPos | string | The layout schema. Possible values are:
|
margin | number | The margin between the available area and the BoxBag |
- Source
- The resulting size of the container
- Type:
- module:AWT.
Dimension
(static) layoutSingle(preferredMaxSize, rs, margin) → {module:AWT.Dimension}
Static method that sets the position and dimension of a Resizable object based on a
preferred maximum dimension and a margin.
| Name | Type | Description |
|---|---|---|
preferredMaxSize | module:AWT. | The preferred maximum size |
rs | Resizable | A resizable object implementing the methods described in the |
margin | number | The margin between the available area and the BoxBag |
- Source
- The resulting size of the container
- Type:
- module:AWT.
Dimension