DrawObjectsExtended Design Document

Contents

License 1

DrawObjectsExtended Design Overview 1

Use Cases 1

Main use cases 1

Screen copies 1

Linux Screen Copies 1

UML Design 1

Overall Structure 1

Main Classes 1

The drawing behaviour 1



License

DrawObjectsExtended is published under Mozilla License 1.1.

The original contributor of DrawObjects is Angus Johnson.

DrawObjectsExtended is contributed by Thierry Coq.



DrawObjectsExtended Design Overview

This document describes the design and use of the DrawObjectsExtended Component.

This component is designed for use with FPC 2.3.1 and Lazarus 0.9.29 on the Windows platform, and has been ported from Delphi. The final target is to be portable to Linux.

It allows users to make structured graphics, such as boxes and arrows linked together.



Use Cases

Main use cases








Screen copies

A few screen copies are presented below:


the DrawObjectsExtended test form running under Lazarus 0.9.29beta, in windows


Some drawobjects, including the Composite DrawObject.



Linux Screen Copies


Linux screen copy, on Ubuntu 8.04. The composite is already working.

UML Design

The UML Model is implemented using ModelMaker's UML tool, version 9.

Overall Structure

The first diagram shows the relationships between the various units, the classes and operations provided by each unit.




Main Classes

The second diagram shows the inheritance relationships to identify where to add additional classes, if needed.




The drawing behaviour