ktechlab archituecture

Zoltan Padrah edited this page Aug 25, 2012 · 1 revision
Clone this wiki locally

Table of Contents

Color conventions

Features - overview

 * reating, editing, saving projects
   * adding, removing files to/from project
 * creating, editing, saving documents
 * document types:
   * circuit
     * can be simulated
   * flowcode
     * set up pic to upload to
     * can be converted to microbe, hex, assemby
     * uploaded to pic
   * text
     * hex
     * assembly
     * microbe
     * C
     * can be converted to some other formats and uploaded to the pic
 * help can be read
   * for each item there should be help

Features - detailed

 * creating, editing, saving projects
   * adding, removing files to/from projekt
   * creating subprojects
 * creating, editing, saving documents
   * zoom in/out
   * cut/copy/paste
   * undo/redo
 * print
 * document types:
   * circuit
     * can be simulated
   * flowcode
     * set up pic to upload to
     * can be converted to microbe, hex, assemby
     * uploaded to pic
   * flowcode & circuit
     * can be exportedas an image
     * items can be :
       * placed on the document by drag and drop
       * deleted
       * selected
       * their properties can be edited
       * can be rotated
     * items can be connected
   * text
     * hex
     * assembly
     * microbe
     * C
     * can be converted to some other formats and uploaded to the pic
       * can be exported as html

Class Diagrams

ktechlab, document, documentifaces, views, viewifaces

Image(architecture-doc-00.png, 700px)

Here are 4 class categories:

 * Document
 * DocumentIface
 * View
 * ViewIface

hierarchies.

From each category there are 4 levels of abstraction:

 * Document
   * TextDocument
   * ItemDocument
     * ICNDocument
       * FlowCodeDocument
       * CircuitDocument

Circuit: circuitdocument, *node, connector,*item, component, element

Image(architecture-doc-00-documents.png, 700px)

Relations:

 * an Item knows about ItemDocument
 * CNItem about ICNDocument
 * Component about CircuitDocument

A Connector connects two Nodes. There are separate connectors for circuits and for flow documents. ECNode is split into JunctionNode and PinNode.

See also class members wiki:KtechlabCircuitDocumentMembers

Image(architecture-doc-00-circuit-illustration.png)

Flowdocument: FlowPart, FPNode, FlowCodeDocument, FlowCode

Image(architecture-doc-00-flowcode.png, 700px)

This diagram is similar to the circuitdocument; the separation of abstraction levels is better. The product of this class structure is the FlowCode; the FlowPart class has a generateMicrobe virtual member.

Image(architecture-doc-00-flowcode-illustration.png)