Documentation Index Fetch the complete documentation index at: https://mintlify.com/Steema/TeeTree/llms.txt
Use this file to discover all available pages before exploring further.
Overview
TeeTree includes a comprehensive set of flowchart shapes defined in the TreeFlow unit. These shapes follow standard flowchart conventions and are ideal for process diagrams, workflow visualizations, and business process modeling.
Inheritance Hierarchy
TCustomTreeShape
└── TFlowChartShape (base class for flowchart shapes)
├── TDecisionShape
├── TProcessShape
├── TTerminalShape
├── TConnectorShape
├── TInputOutputShape
└── ... (other flowchart shapes)
Process Shapes
TProcessShape
Process Represents a process step or action.
Description: Standard rectangular shape for process steps.
Default Style: tssRectangle
Usage:
var
Process: TProcessShape;
begin
Process := TProcessShape.Create(Tree);
Process.Text. Add ( 'Process Data' );
Process.X0 := 100 ;
Process.Y0 := 100 ;
end ;
TPredefinedProcessShape
Predefined Process Represents a predefined process or subroutine.
Description: Rectangle with vertical lines on the sides.
Usage:
var
SubRoutine: TPredefinedProcessShape;
begin
SubRoutine := TPredefinedProcessShape.Create(Tree);
SubRoutine.Text. Add ( 'Call Subroutine' );
end ;
TManualOperationShape
Manual Operation Represents a manual operation or task.
Description: Trapezoid shape with slanted top.
Default Color: clAqua
Usage:
var
ManualOp: TManualOperationShape;
begin
ManualOp := TManualOperationShape.Create(Tree);
ManualOp.Text. Add ( 'Manual Entry' );
end ;
Decision and Logic Shapes
TDecisionShape
Decision Represents a decision point in the flow.
Description: Diamond shape for yes/no decisions.
Default Style: tssDiamond
Default Colors: Red background, white text
Alias: TConditionShape
Usage:
var
Decision: TDecisionShape;
begin
Decision := TDecisionShape.Create(Tree);
Decision.Text. Add ( 'Valid?' );
// Default colors already set
end ;
TSelectShape
Select Represents a multi-way branch or select statement.
Description: Hexagon-like shape for multi-path selection.
Default Color: clLime
Usage:
var
Select : TSelectShape;
begin
Select := TSelectShape.Create(Tree);
Select .Text. Add ( 'Select Case' );
end ;
TAndShape
AND Gate Logical AND operation.
Description: Circle with cross pattern.
Usage:
var
AndGate: TAndShape;
begin
AndGate := TAndShape.Create(Tree);
AndGate.Style := tssCircle;
end ;
TOrShape
OR Gate Logical OR operation.
Description: Circle with plus pattern.
Usage:
var
OrGate: TOrShape;
begin
OrGate := TOrShape.Create(Tree);
end ;
Input/Output Represents input or output operations.
Description: Parallelogram with adjustable slant.
Default Color: clYellow
Alias: TTitleShape
Properties:
Slant: Controls the angle of slant (default: 12.5%)
Usage:
var
IO: TInputOutputShape;
begin
IO := TInputOutputShape.Create(Tree);
IO.Text. Add ( 'Read Input' );
IO.Slant := 15.0 ; // Adjust slant angle
end ;
Manual Input Represents manual input from keyboard.
Description: Quadrilateral slanted on one side.
Default Color: clSkyBlue
Alias: TManualShape
Usage:
var
Input: TManualInputShape;
begin
Input := TManualInputShape.Create(Tree);
Input.Text. Add ( 'Enter Data' );
end ;
Data Storage Shapes
TDocumentShape
Document Represents a document or report.
Description: Rectangle with wavy bottom.
Usage:
var
Doc: TDocumentShape;
begin
Doc := TDocumentShape.Create(Tree);
Doc.Text. Add ( 'Report' );
end ;
TPunchCardShape
Punched Card Represents punched card input/output.
Alias: TCardShape
Properties:
PercentHoriz: Horizontal cut percentage (default: 25)
PercentVert: Vertical cut percentage (default: 25)
Usage:
var
Card: TPunchCardShape;
begin
Card := TPunchCardShape.Create(Tree);
Card.PercentHoriz := 30 ;
end ;
TPunchTapeShape
Punched Tape Represents punched tape storage.
Usage:
var
Tape: TPunchTapeShape;
begin
Tape := TPunchTapeShape.Create(Tree);
end ;
TOnlineStorageShape
Online Storage Represents online storage or database.
Alias: TDataShape
Usage:
var
Storage: TOnlineStorageShape;
begin
Storage := TOnlineStorageShape.Create(Tree);
Storage.Text. Add ( 'Database' );
end ;
TMagneticTapeShape
Magnetic Tape Represents magnetic tape storage.
Alias: TTapeShape
Usage:
var
Tape: TMagneticTapeShape;
begin
Tape := TMagneticTapeShape.Create(Tree);
end ;
Flow Control Shapes
TTerminalShape
Terminal Represents start or end of a process.
Description: Rounded rectangle (stadium shape).
Usage:
var
Start: TTerminalShape;
begin
Start := TTerminalShape.Create(Tree);
Start.Text. Add ( 'Start' );
end ;
TConnectorShape
Connector Represents a connector or continuation point.
Default Style: tssCircle
Usage:
var
Conn: TConnectorShape;
begin
Conn := TConnectorShape.Create(Tree);
Conn.Text. Add ( 'A' );
end ;
TDelayShape
Delay Represents a delay in the process.
Description: Semi-circle on the right side.
Usage:
var
Delay: TDelayShape;
begin
Delay := TDelayShape.Create(Tree);
Delay.Text. Add ( 'Wait 5s' );
end ;
Additional Geometric Shapes
TPentagonShape
Pentagon Five-sided polygon.
Usage:
var
Pentagon: TPentagonShape;
begin
Pentagon := TPentagonShape.Create(Tree);
Pentagon.AngleOffset := 18 ;
end ;
THexagonShape
Hexagon Six-sided polygon.
Usage:
var
Hexagon: THexagonShape;
begin
Hexagon := THexagonShape.Create(Tree);
end ;
TOctagonShape
Octagon Eight-sided polygon.
Usage:
var
Octagon: TOctagonShape;
begin
Octagon := TOctagonShape.Create(Tree);
Octagon.AngleOffset := 22.5 ;
end ;
TCrossShape
Cross Cross or plus shape.
Properties:
PercentHoriz: Horizontal bar thickness (default: 25)
PercentVert: Vertical bar thickness (default: 25)
Usage:
var
Cross: TCrossShape;
begin
Cross := TCrossShape.Create(Tree);
Cross.PercentHoriz := 30 ;
Cross.PercentVert := 30 ;
end ;
Arrow Shapes
Arrow Up Upward-pointing arrow
Arrow Down Downward-pointing arrow
Arrow Left Left-pointing arrow
Arrow Right Right-pointing arrow
Base Class: TTreeCustomArrowShape
Properties:
PercentHoriz: Horizontal proportion (default: 25)
PercentVert: Vertical proportion (default: 33)
Usage:
var
Arrow: TArrowRightShape;
begin
Arrow := TArrowRightShape.Create(Tree);
Arrow.PercentHoriz := 30 ;
Arrow.PercentVert := 40 ;
end ;
Special Shapes
TGridShape
Grid Multi-cell grid shape.
Properties:
Rows: Number of rows (default: 3)
Columns: Number of columns (default: 3)
Cells[Row, Col]: Access individual cells
GridLines: Pen for grid lines
Events:
OnNewCell: Triggered when a new cell is created
Usage:
var
Grid: TGridShape;
begin
Grid := TGridShape.Create(Tree);
Grid.Rows := 4 ;
Grid.Columns := 3 ;
Grid.Cells[ 0 , 0 ].Text. Add ( 'Header 1' );
Grid.Cells[ 0 , 1 ].Text. Add ( 'Header 2' );
Grid.Cells[ 1 , 0 ].Text. Add ( 'Data 1' );
end ;
THouseShape
House House shape with adjustable roof.
Properties:
WallSize: Percentage of wall height (default: 50)
Usage:
var
House: THouseShape;
begin
House := THouseShape.Create(Tree);
House.WallSize := 60 ;
end ;
TEnvelopeShape
Properties:
OffsetY: Flap position percentage (default: 33)
Usage:
var
Envelope: TEnvelopeShape;
begin
Envelope := TEnvelopeShape.Create(Tree);
Envelope.OffsetY := 40 ;
end ;
TCallOutShape
Callout Speech bubble or callout.
Usage:
var
Callout: TCallOutShape;
begin
Callout := TCallOutShape.Create(Tree);
Callout.Text. Add ( 'Note!' );
end ;
TStarShape
Usage:
var
Star: TStarShape;
begin
Star := TStarShape.Create(Tree);
end ;
TBeveledShape
Beveled Panel Panel with 3D bevel effect.
Properties:
Bevel: Bevel style (bvRaised, bvLowered, bvNone)
BevelSize: Bevel width in pixels (default: 1)
Default Color: clBtnFace
Usage:
var
Panel: TBeveledShape;
begin
Panel := TBeveledShape.Create(Tree);
Panel.Bevel := bvRaised;
Panel.BevelSize := 2 ;
end ;
Complete Flowchart Example
uses
TeeTree, TreeFlow;
procedure CreateFlowchartDemo (Tree: TTree);
var
Start, Process1, Decision, Process2, End_: TTreeNodeShape;
begin
// Start terminal
Start := TTerminalShape.Create(Tree);
with Start do
begin
Text. Add ( 'Start' );
X0 := 200 ;
Y0 := 50 ;
end ;
// First process
Process1 := TProcessShape.Create(Tree);
with Process1 do
begin
Text. Add ( 'Initialize' );
Parent := Start;
end ;
// Decision point
Decision := TDecisionShape.Create(Tree);
with Decision do
begin
Text. Add ( 'Valid?' );
Parent := Process1;
end ;
// Process on true branch
Process2 := TProcessShape.Create(Tree);
with Process2 do
begin
Text. Add ( 'Process Data' );
Parent := Decision;
end ;
// End terminal
End_ := TTerminalShape.Create(Tree);
with End_ do
begin
Text. Add ( 'End' );
Parent := Process2;
end ;
// Arrange automatically
Tree.GlobalFormat.ChildManager.ApplyFormat;
end ;
Shape Registration
Flowchart shapes are automatically registered in the component palette under the “Flow” tab:
Decision
Process
Predefined Process
Terminal
Connector
Input/Output
Manual Operation
Select
Document
Punched Card
Punched Tape
Delay
Manual Input
AND
OR
Online Storage
Magnetic Tape
See Also
Basic Shapes Fundamental geometric shapes
UML Shapes Shapes for UML diagrams
Electric Shapes Circuit diagram shapes
Custom Shapes Create custom shapes