You can add a shape to a table cell:
{
"Cell": [
{
"Row": 2, "Column": 2,
"Shape": {
"ID": 2,
"Label": "Nested",
"FillColor": "#3498DB",
"TextColor": "#FFFFFF"
}
}
]
}
Note that cell 2,2 grows to accommodate a default-sized shape.
By default, the shape in the cell has a margin of 20/100" separating it from the edge of the cell. You can control this margin with ShapeMarginH and ShapeMarginV on the Table.
{
"Table": {
"Rows": 3,
"Columns": 3,
"ShapeMarginH": 20,
"ShapeMarginV": 20,
"Cell": [
{ "Row": 2, "Column": 2, "Shape": { "ID": 2 } }
]
}
}
If you make the cell larger than the shape plus margin, it is placed according to the text justification in the cell.
The shape may have all the properties of any shape, including being the root shape for a ShapeContainer, a ShapeConnector or another table:
{
"Cell": [
{
"Row": 1, "Column": 1,
"Shape": {
"ID": 2,
"ShapeContainer": {
"Arrangement": "Row",
"Shapes": [
{ "ID": 3, "Label": "Choice A" },
{ "ID": 4, "Label": "Choice B" }
]
}
}
}
]
}
Note you can hide the parent shape of these two children and get the effect of adding multiple shapes to one cell.
{
"Shape": {
"ID": 2,
"Hide": true,
"ShapeContainer": { ... }
}
}
Any ShapeConnector can be used too.
{
"Cell": [
{
"Row": 1, "Column": 1,
"Shape": {
"ID": 2,
"ShapeConnector": [
{
"ShapeConnectorType": "OrgChart",
"Shapes": [{ "ID": 3 }, { "ID": 4 }]
}
]
}
}
]
}
A shape in a cell can contain another table which may also have a shape in a cell recursively: