Containers, swimlanes and tables¶
Most shapes in the Library panel are drawings. These four aren't: SimpleDiagrams draws them itself, at whatever size you make them, so a big swimlane diagram doesn't end up looking like a stretched photo of a small one.
They live in the Complex Shapes section of the Library panel:
| Shape | What it's for |
|---|---|
| Container | A box with a title that holds other shapes and takes them along when it moves |
| Swimlanes | Who does what in a process: lanes, each holding its own shapes |
| Table | Rows and columns of text |
| Callout | A speech bubble |

The section sits just after Basic. If you've rearranged your libraries, you'll find
it at the end instead. Search finds these by name, or by the obvious words: box,
lane, pool, grid, bubble and friends. Quick Library Search finds them too.
Placing one¶
The same as any library shape: drag the tile onto the page, double-click it, or click it and press Enter. Then drag the handles until it's the size you want. The app redraws it at every size, so the line and the text never stretch.
Tiles that place a complex shape wear a tiny ✱ in their corner wherever they show up, including UML's and BPMN's ready-made ones, and their tooltip says Complex shape, as does their row in Quick Library Search.
Containers¶
A container is a box with a title that holds other shapes. It isn't a group: the shapes inside stay separate, so you can still click, edit and recolour each one on its own. The container just keeps them together.
Double-click an empty part of the container to type its title. A new container's title starts at the left edge.
A title in a corner tag¶
Choose Format ▸ Complex Shape ▸ Title in Corner Tag, or right-click the container, and
its title moves into a small tag in the top-left corner, with the tag's bottom-right corner
cut off. It's the frame UML draws round sd, alt, loop and opt, but any container
can have one. The menu shows a tick while it's on, and choosing it again puts the title
back along the top.
The tag is as wide as its title. Change the title and the tag grows or shrinks to fit once you finish typing. A title too long for the container wraps, and the tag gets taller to hold it, so no word falls out. If the container wears a drawing with an icon in its top-left corner, the tag holds the icon too: the title sits just after it, and the tag reaches down past it rather than cutting across it. Nothing inside the container moves either way.
Putting shapes in¶
Drag a shape so it's wholly inside the container and it joins. Drag it wholly outside and it leaves. A shape that's only partly out stays in: it has to make a clean break.
While you drag, the container's border lights up to show where the shape will land. No light, no joining. The shapes you're dragging stay in front of everything, so you can see what you're doing. Shapes you drop in from the Library panel, or paste inside, join the same way.

Select a shape that's in a container and the container's border lights up faintly, so you can always tell what belongs where.
A container never takes in shapes by accident. Move or resize it over some shapes and they stay out. To bring them in, select them and choose Format ▸ Complex Shape ▸ Add to Container, or right-click them. Remove from Container does the reverse: the shape stays put but no longer belongs. Move it while it's still inside, though, and it joins again, so drag it out if you really mean it. Both commands are only available when they'd do something.
Moving, turning and stacking¶
Move a container and everything inside comes too, including any connector that runs between the shapes inside, bends and all. Turn it and the contents turn with it, as one. Bring it to the front or send it to the back and the contents go with it, always in front of their container.
Resizing¶
Resizing a container changes the box and nothing else. The shapes inside stay exactly where they are, and each edge stops when it reaches them, so you can't shrink a container out from under its contents. Type a size that's too small into the Transform panel and it tells you so.
Some containers wear a drawing, like the ones in Visio drawings you open. If that drawing has an icon fixed in its top-left corner, the icon keeps its size however big you make the container, and the title politely starts just after it instead of sitting on top.
Containers inside containers¶
A container can go inside another container, up to four deep. Drop one in any deeper and it lands where you let go without joining, with a note beside the pointer saying why. If you need five levels, it might be time for a second diagram.
A container can go in a swimlane's lane, too. Swimlanes can't go inside a container.
What a container won't do¶
A few things don't make sense for a container. Try them and the app says no, and says why: in a short message, or in a note beside the pointer if you're dragging.
- Grouping. A container can't be part of a group, and a shape inside a container can't be grouped with one outside it. Put them in the same container instead; that's what it's for.
- Flipping. A container can't be flipped, since it would mirror its title. Select the shapes inside it to flip those.
Locking¶
Lock a container (Cmd+L) and everything inside it is locked too, text included, the way locking a group works. A locked container doesn't take in new shapes either. Try to change something that's locked because of its container and the app tells you why: beside the pointer if you're dragging or double-clicking, in a message for keys and menus. Select a shape inside a locked container and it gets the same orange dashed outline and no handles as anything else that's locked.
It works the other way round as well. A locked shape inside stops its container moving, since the container would have to take it along.
To unlock, select the container and press Cmd+Shift+L. Selecting a shape inside and unlocking it does the same, unless that shape was locked on its own.
Swimlanes¶
Swimlanes show who does what in a process: one lane per person, team or system, with their steps in it. A new Swimlanes shape has three lanes running across, a title strip at the start of each lane, and a band along the top for a title.

Lane titles¶
Double-click a lane's title strip to rename the lane. Tab moves you on to the next lane's title, and Shift+Tab back. Double-click the band along the top to title the whole thing.
Titles too long for their strips? Select the swimlanes and drag the line between the title strips and the lanes. Every strip gets wider together, so they stay tidy.
The band along the top stretches too. Drag the line under it to give a long title more room: every lane moves down with it, shapes and all, and the swimlanes grow to match. It can't get shorter than a new band, though. If something in a lane is locked, the band stays put, and a note beside the pointer says why. One drag, one Undo.
Choosing a lane¶
Click a lane's title strip to choose that lane. It lights up, and the swimlanes stay selected around it. Then:
- Format ▸ Complex Shape ▸ Add Lane Before or Add Lane After adds a lane beside it, the same size as it.
- Del, or Delete Lane, deletes the lane and the shapes in it, and the lanes after it close up. Undo is your friend.
- Enter edits its title.
- Esc goes back to the whole swimlanes.
Right-click a lane and it's chosen, with the lane commands at the top of the menu. Clicking a lane's open space chooses the whole swimlanes instead.
With the swimlanes selected, a small round + sits just past the last lane. Click it to add a lane at the end. The whole shape grows to make room, up to 50 lanes, which is a lot of meetings.
Resizing lanes¶
The handles and the lines do different things:
- The handles resize every lane together, and each lane's shapes ride along with it.
- A lane's line, the one under it (or the outer edge, for the last lane), resizes just that lane. The lanes after it move along with their shapes, and the whole shape grows or shrinks.
Either way, no line ever passes over a shape: a lane stops when it reaches the shapes in it. An arrow you've drawn in a lane moves with its lane, too.
Horizontal and vertical¶
Format ▸ Complex Shape ▸ Vertical Lanes turns lanes that run across into lanes that run down, and Horizontal Lanes turns them back. Both are on the right-click menu as well. The shapes go with their lanes, each keeping its place, and connectors between them stay tidy: an end that left a shape's right side now leaves its bottom.
If something no longer fits its turned lane, the lane grows to hold it. Lanes never shrink by themselves, so after a round trip they may be a little roomier than before. Undo puts them back exactly.
Putting shapes in lanes¶
Drop a shape in a lane and it joins that lane. The lane lights up while you drag, so you know which one you're about to land in. The shape needs to be wholly inside the swimlanes, and it joins whichever lane holds its middle. Drag it right out and it leaves.
The rest works as it does for a container. Move the swimlanes and everything in them comes too. Add to Lane and Remove from Lane do what the container commands do. Locking the swimlanes locks everything in their lanes. And swimlanes can't be grouped, flipped, or put inside a container or other swimlanes.
Tables¶
A table is rows and columns of text. A new one is three by three, with its top row in bold as a heading.
Double-click a cell to type in it. Or select the table and press Enter to start at the first cell. Tab moves you on to the next cell, Shift+Tab back. Each cell keeps its own formatting and line breaks.
Rows grow to fit. Type more than a row can hold and the row gets taller as you type, a line at a time, with the table growing to match. Leave the cell and the text and the extra height are one Undo; press Esc instead and the table is exactly as it was. Rows never shrink by themselves, so a row keeps its room after you trim its text.
Adding rows as you go¶
Press Tab in the last cell and you get a new row, with the cursor waiting in its first cell, so you can fill in a whole list without touching the mouse. The new row is its own Undo, separate from what you typed. Shift+Tab in the very first cell stays put; there's nowhere further back to go.
The + buttons¶
With the table selected, two small round + buttons appear just outside it: one below the bottom edge, near the left, and one beside the right edge, near the top. The bottom one adds a row at the end, the side one a column, each the same size as the last and each its own Undo. Hover over one if you forget which is which. At the table's limits, a note beside the pointer says why nothing happened.
Choosing a cell¶
With the table selected, click a cell to choose it. It lights up, and the table stays selected around it. Then:
- Format ▸ Complex Shape ▸ Insert Row Above or Insert Row Below adds a row beside it, as tall as its row. Insert Column Left and Insert Column Right add a column, as wide as its column. New cells borrow their neighbours' style.
- Delete Row and Delete Column delete its row or column, text and all. The table shrinks to match.
- Enter edits it.
- Esc goes back to the whole table.
Del still deletes the whole table, chosen cell or not, so reach for Delete Row when you mean a row. Right-click a cell and it's chosen, with the row and column commands at the top of the menu. The cell you're typing in counts as chosen too, so the commands work mid-sentence.
A table holds up to 200 rows, 50 columns and 2,000 cells. Ask for more and the app says why it can't. It won't delete the last row or column either: a table needs one of each, so to get rid of the lot, delete the table.
Header Row¶
Header Row, in the same menu, sets the top row in bold on a band of the table's fill colour. A new table has it on, and the menu shows a tick while it is. It only changes how the row looks: turn it off and the text is back as you wrote it. If bold text needs more room, the row grows to fit.
The header is always the top row, so Insert Row Above is greyed out there. Turn Header Row off first if you really want a row above it.
Formatting a table¶
Select the table and use the Format menu or the Shape Properties panel: font, size, bold, italic, underline, colour and alignment change every cell at once, as one Undo. If the text gets bigger, the rows grow to hold it. Choose a cell first and only that cell changes.
Bold on a mix of bold and plain cells makes them all bold, rather than swapping each one over. Press it again and they're all plain.
Resizing rows and columns¶
Select the table and drag the line under a row to make just that row taller or shorter, or the line after a column to make just that column wider or narrower. Nothing else changes size; the table grows or shrinks around it. The bottom edge is the last row's line, and the right edge the last column's.
A row stops at its text, and a column at 16 points. Hold the line past that and a note beside the pointer says why. Press Esc mid-drag to change your mind. Double-click a line to edit the cell it belongs to, and zoomed far out, the lines step aside so a click still chooses a cell.
Resizing a table¶
Drag a handle and the rows and columns scale together. No row gets shorter than its text: the handle stops there. Make the table narrower and any text that no longer fits its lines wraps, and those rows grow to hold it. Type a size into the Transform panel that's too small for the text and it tells you so.
VoiceOver reads a table's size, "Table, 3 rows, 2 columns", and each cell as its own item. Press a cell to edit it.
Callouts¶
A callout is a speech bubble you type in. Unlike the bubbles in Word Bubbles, the app draws it, so it stays crisp at any size.
Pointing the tail¶
Select a callout and a small handle appears at the tip of its tail, the same kind of handle a connector has at its ends. Drag it to point the tail wherever you like. The tail follows as you drag, and each drag is one step to undo.
- Attach it to a shape. Drag the tip near another shape and its connection points appear, just as they do for a connector. Let go on one and the tail attaches there, and a filled dot in the handle shows it. Move that shape later and the tail keeps pointing at it. A connection point is happy to hold a callout's tail and connector ends at the same time.
- Let it go. Drag an attached tip into open space and it comes free, right where you dropped it.
- Remove the tail. Drop the tip inside the bubble, or right on its edge, and the tail disappears. The handle waits in the middle of the bubble, so you can drag a new tail out whenever you want one.
You can do the last two without dragging, too: right-click the callout, or use Format › Complex Shape, and choose Detach Callout Tail to let an attached tail go where it is, or Remove Callout Tail. VoiceOver tells you what an attached callout is pointing at, and offers both commands as actions.
A tail can't attach to its own bubble, to a connector, or along a lifeline's dashed line (attach it to the lifeline's head instead). Move the bubble and a free tail comes along with it, while an attached tail stays on its shape and stretches to reach it. Flip the callout to point a free tail the other way. A locked callout shows no handle, the same as anything else that's locked.
Ready-made ones in other libraries¶
A few tiles in other libraries are these same shapes, set up for a particular job:
- BPMN's Pool is swimlanes with two lanes, and its Expanded Sub-Process is a container. See BPMN diagrams.
- UML's Class, Interface, Enumeration and Database Entity boxes are tables, and its System Boundary is a container. See UML and C4 diagrams.
Once placed, they're ordinary complex shapes, so everything on this page applies to them.
Sharing these diagrams
Diagrams saved by SimpleDiagrams 5.1 need 5.1 or later to open, whether or not they use these shapes. Make sure anyone you share with has updated. See Troubleshooting.