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