format 58
"flowparts" // trunk::src::flowparts
  revision 1
  modified_by 22 "zolee"
  // class settings
  //class diagram settings
  draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default show_stereotype_properties default
  //use case diagram settings
  package_name_in_tab default show_context default auto_label_position default draw_all_relations default class_drawing_mode default shadow default show_stereotype_properties default
  //sequence diagram settings
  show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default
  //collaboration diagram settings
  show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default show_stereotype_properties default
  //object diagram settings
   write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default show_stereotype_properties default
  //component diagram settings
  package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
  draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default
  //deployment diagram settings
  package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default
  draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default
  //state diagram settings
  package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
  show_activities default region_horizontally default drawing_language default show_stereotype_properties default
  //activity diagram settings
  package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
  show_infonote default drawing_language default show_stereotype_properties default
  
  classview 130198 "flowparts"
    //class diagram settings
    draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default show_stereotype_properties default
    //collaboration diagram settings
    show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default show_stereotype_properties default
    //object diagram settings
     write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default show_stereotype_properties default
    //sequence diagram settings
    show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default
    //state diagram settings
    package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
    show_activities default region_horizontally default drawing_language default show_stereotype_properties default
    //class settings
    //activity diagram settings
    package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
    show_infonote default drawing_language default show_stereotype_properties default
    class 164118 "FlowPart"
      abstract visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
All flow parts (eg 'CallSub', 'Read from Port' ,etc) should inherit from this class.
It provides basic functionality for creating commonly used nodes, as well as a virtual function
that you should reinherit for generating the assembly code.
@short Base class for all FlowParts
@author David Saxton
"
      classrelation 262422 // <generalisation>
	relation 262422 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 262422 // <generalisation>
	  b parent class_ref 148118 // CNItem
      end

      extra_member 158614 "Q_OBJECT"
	
	cpp "  Q_OBJECT" ""
	java ""
	php ""
	python ""
	idl ""
      end

      class 208022 "FlowSymbol"
	visibility package stereotype "enum"
	cpp_decl "${comment}enum ${name} {
${items}
};
"
	java_decl ""
	php_decl ""
	python_2_2 python_decl ""
	idl_decl ""
	explicit_switch_type ""
	
	attribute 319638 "ps_process"
	  public type class_ref 208022 // FlowSymbol
	  cpp_decl "  ${name}${value},${comment}"
	  java_decl ""
	  php_decl ""
	  python_decl ""
	  idl_decl ""
	end

	attribute 319766 "ps_call"
	  public type class_ref 208022 // FlowSymbol
	  cpp_decl "  ${name}${value},${comment}"
	  java_decl ""
	  php_decl ""
	  python_decl ""
	  idl_decl ""
	end

	attribute 319894 "ps_io"
	  public type class_ref 208022 // FlowSymbol
	  cpp_decl "  ${name}${value},${comment}"
	  java_decl ""
	  php_decl ""
	  python_decl ""
	  idl_decl ""
	end

	attribute 320022 "ps_round"
	  public type class_ref 208022 // FlowSymbol
	  cpp_decl "  ${name}${value},${comment}"
	  java_decl ""
	  php_decl ""
	  python_decl ""
	  idl_decl ""
	end

	attribute 320150 "ps_decision"
	  public type class_ref 208022 // FlowSymbol
	  cpp_decl "  ${name}${value},${comment}"
	  java_decl ""
	  php_decl ""
	  python_decl ""
	  idl_decl ""
	end

	attribute 320278 "ps_other"
	  public type class_ref 208022 // FlowSymbol
	  cpp_decl "  ${name}${value},${comment}"
	  java_decl ""
	  php_decl ""
	  python_decl ""
	  idl_decl ""
	end
      end

      operation 628374 "FlowPart"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "QString"
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} & ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} & ${p2}${)}
	: CNItem( icnDocument, newItem, id )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 628502 "~FlowPart"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 628630 "generateMicrobe"
	abstract cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	
	
	
	
      end

      operation 628758 "setOrientation"
	preserve_cpp_body_indent public explicit_return_type "void"
	nparams 1
	  param in name "orientation" type class_ref 151446 // uint
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Set a preset \"orientation\" of this item - 0 through 7
	 "
      end

      operation 628886 "orientation"
	const cpp_inline public return_type class_ref 151446 // uint
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return m_orientation; };
"
	
	
	
	
      end

      operation 629014 "allowedOrientations"
	preserve_cpp_body_indent const public return_type class_ref 151446 // uint
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * The allowed orientations, as bit positions of 0 through 7
	 "
      end

      operation 629142 "itemData"
	preserve_cpp_body_indent const cpp_virtual public return_type class_ref 158486 // ItemData
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 629270 "restoreFromItemData"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param in name "itemData" type class_ref 158486 // ItemData
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 629398 "setCaption"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param in name "caption" explicit_type "QString"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Sets the caption displayed in the flowpart, resizes the item as necessary
	 "
      end

      operation 629526 "endPart"
	preserve_cpp_body_indent public return_type class_ref 164118 // FlowPart
	nparams 2
	  param in name "ids" explicit_type "QStringList"
	  param inout name "previousParts" type class_ref 164246 // FlowPartList
	    defaultvalue "0l "
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} ${p0}${v0}, ${t1} * ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} ${p0}, ${t1} * ${p1}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Traces the FlowCode document route from the nodes with the given internal
	 * ids, and returns the FlowPart to which:
	 * @li all the routes from the given nodes are eventually connected to downwards
	 * @li their exists one (possibly internally branched) route for each node to that part
	 * @param ids The list of internal ids of the nodes for the paths to begin from - if empty,
	 *			  all nodes internal nodes are used
	 * @param previousParts A list of parts in the calling tree. This avoids infinite recursion.
	 * @returns The first FlowPart satisfying these conditions, or NULL if no such part exists
	 "
      end

      operation 629654 "handleIfElse"
	preserve_cpp_body_indent public explicit_return_type "void"
	nparams 5
	  param inout name "code" type class_ref 207254 // FlowCode
	  param in name "case1Statement" explicit_type "QString"
	  param in name "case2Statement" explicit_type "QString"
	  param in name "case1" explicit_type "QString"
	  param in name "case2" explicit_type "QString"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, const ${t1} & ${p1}${v1}, const ${t2} & ${p2}${v2}, const ${t3} & ${p3}${v3}, const ${t4} & ${p4}${v4}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}, const ${t4} & ${p4}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Handles the addition of a if-else statement to the given FlowCode. This will
	 * order the code as necessary, adding the branches in the appropriate places
	 * @param code The FlowCode where the if-else will be added
	 * @param case1Statement The statement (e.g. \"PORTA.0 is high\") used for the first case
	 * @param case2Statement The logically opposite statement (e.g. \"PORTA.0 is low\") (note
	 						 that only one of the two statements will be used.
	 * @param case1 The internal node id for case1
	 * @param case2 The internal node id for case2
	 "
      end

      operation 629782 "outputPart"
	preserve_cpp_body_indent public return_type class_ref 164118 // FlowPart
	nparams 1
	  param in name "internalNodeId" explicit_type "QString"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Returns a pointer to the FlowPart that is connected to the node with the
	 * given internal id, or NULL if no such node / no connected part
	 "
      end

      operation 629910 "inputParts"
	preserve_cpp_body_indent public return_type class_ref 164246 // FlowPartList
	nparams 1
	  param in name "id" explicit_type "QString"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Returns the FlowParts connected to the given node
	 * @see outputPart
	 "
      end

      operation 630038 "inputParts"
	preserve_cpp_body_indent public return_type class_ref 164246 // FlowPartList
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Returns a list of parts that are connected to *all* input parts
	 "
      end

      operation 630166 "outputParts"
	preserve_cpp_body_indent public return_type class_ref 164246 // FlowPartList
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Returns a list of parts that are connected to *all* output parts. Note that if
	 * the same FlowPart is connected to more than one output, that flowpart will appear
	 * in the FlowPartList the number of times it is connected.
	 "
      end

      operation 630294 "orientationPixmap"
	preserve_cpp_body_indent const public explicit_return_type "void"
	nparams 2
	  param in name "orientation" type class_ref 151446 // uint
	  param inout name "pm" explicit_type "QPixmap"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}, ${t1} & ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} & ${p1}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Draw the picture of the flowpart in the given orientation onto the pixmap
	 "
      end

      operation 630422 "createProperty"
	preserve_cpp_body_indent cpp_virtual public return_type class_ref 166166 // Variant
	nparams 2
	  param in name "id" explicit_type "QString"
	  param in name "type" type class_ref 166934 // Value
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${v0}, ${t1} ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      extra_member 158742 "slots"
	
	cpp "  public slots:" ""
	java ""
	php ""
	python ""
	idl ""
      end

      operation 630550 "updateVarNames"
	preserve_cpp_body_indent public explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Called when variable name data for MicroSettings changes, and so our
	 * data needs updating
	 "
      end

      operation 630678 "varNameChanged"
	preserve_cpp_body_indent public explicit_return_type "void"
	nparams 2
	  param in name "newValue" explicit_type "QVariant"
	  param in name "oldValue" explicit_type "QVariant"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}, ${t1} ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Called when a variable name has changed (from an entry box)
	 "
      end

      operation 630806 "slotUpdateFlowPartVariables"
	preserve_cpp_body_indent public explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Called when some of the FlowPart-specific variables (e.g. Pin or
	 * SevenSegment) requiring updating, such as when the PIC type changes
	 * or the list of Pin Maps changes.
	 "
      end

      operation 630934 "updateAttachedPositioning"
	preserve_cpp_body_indent cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 631062 "filterEndPartIDs"
	cpp_virtual cpp_inline protected explicit_return_type "void"
	nparams 1
	  param inout name "ids" explicit_type "QStringList"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract} { Q_UNUSED(ids); };
"
	
	
	
	
	comment "*
	 * Removes the node ids that shouldn't be used for finding the end part
	 "
      end

      operation 631190 "drawShape"
	preserve_cpp_body_indent cpp_virtual protected explicit_return_type "void"
	nparams 1
	  param inout name "p" explicit_type "QPainter"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Normally just passes the paint request onto CNItem::drawShape,
	 * although in the case of some FlowSymbols (e.g. decision), it will handle
	 * the drawing itself
	 "
      end

      operation 631318 "gotoCode"
	preserve_cpp_body_indent protected explicit_return_type "QString"
	nparams 1
	  param in name "internalNodeId" explicit_type "QString"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Returns the goto instruction that will goto the FlowPart that is connected
	 * to the node with the given internal id.
	 * For example, gotoCode(\"stdOutput\") might return \"goto delay__13\"
	 "
      end

      operation 631446 "createStdInput"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Creates a FPNode with an internal id of \"stdinput\".
	 * The node is positioned half-way along the top of the FlowPart,
	 * as determined by width(), height(), x() and y()
	 "
      end

      operation 631574 "createStdOutput"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Creates a FPNode with an internal id of \"stdoutput\".
	 * The node is positioned half-way along the bottom of the FlowPart,
	 * as determined by width(), height(), x() and y()
	 "
      end

      operation 631702 "createAltOutput"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Creates a FPNode with an internal id of \"altoutput\".
	 * The node is positioned half-way along the right of the FlowPart,
	 * as determined by width(), height(), x() and y()
	 "
      end

      operation 631830 "initSymbol"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 2
	  param in name "symbol" type class_ref 208022 // FlowSymbol
	  param in name "width" explicit_type "int"
	    defaultvalue "48 "
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}, ${t1} ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Initialises a symbol, by calling setItemPoints with the shape
	 "
      end

      operation 631958 "initProcessSymbol"
	cpp_inline protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { initSymbol( FlowPart::ps_process ); };
"
	
	
	
	
      end

      operation 632086 "initCallSymbol"
	cpp_inline protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { initSymbol( FlowPart::ps_call ); };
"
	
	
	
	
      end

      operation 632214 "initIOSymbol"
	cpp_inline protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { initSymbol( FlowPart::ps_io ); };
"
	
	
	
	
      end

      operation 632342 "initRoundedRectSymbol"
	cpp_inline protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { initSymbol( FlowPart::ps_round ); };
"
	
	
	
	
      end

      operation 632470 "initDecisionSymbol"
	cpp_inline protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { initSymbol( FlowPart::ps_decision ); };
"
	
	
	
	
      end

      attribute 320406 "m_caption"
	protected explicit_type "QString"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      classrelation 262550 // m_orientation (<directional composition>)
	relation 262550 *-->
	  a role_name "m_orientation" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	    classrelation_ref 262550 // m_orientation (<directional composition>)
	  b parent class_ref 151446 // uint
      end

      classrelation 262678 // m_stdInput (<unidirectional association>)
	relation 262678 --->
	  a role_name "m_stdInput" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 262678 // m_stdInput (<unidirectional association>)
	  b parent class_ref 165270 // FPNode
      end

      classrelation 262806 // m_stdOutput (<unidirectional association>)
	relation 262806 --->
	  a role_name "m_stdOutput" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 262806 // m_stdOutput (<unidirectional association>)
	  b parent class_ref 165270 // FPNode
      end

      classrelation 262934 // m_altOutput (<unidirectional association>)
	relation 262934 --->
	  a role_name "m_altOutput" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 262934 // m_altOutput (<unidirectional association>)
	  b parent class_ref 165270 // FPNode
      end

      classrelation 263062 // m_pFlowCodeDocument (<directional composition>)
	relation 263062 *-->
	  stereotype "QGuardedPtr"
	  a role_name "m_pFlowCodeDocument" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
"
	    classrelation_ref 263062 // m_pFlowCodeDocument (<directional composition>)
	  b parent class_ref 161302 // FlowCodeDocument
      end

      operation 632598 "postResize"
	preserve_cpp_body_indent cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 632726 "updateNodePositions"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      classrelation 263190 // m_flowSymbol (<directional composition>)
	relation 263190 *-->
	  a role_name "m_flowSymbol" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	    classrelation_ref 263190 // m_flowSymbol (<directional composition>)
	  b parent class_ref 208022 // FlowSymbol
      end
    end

    class 164502 "FlowICNDocument"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
	A document holding a flow-diagram
	@author Zoltan P <zoltan.padrah@gmail.com>
"
      classrelation 262166 // <generalisation>
	relation 262166 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 262166 // <generalisation>
	  b parent class_ref 151958 // ICNDocument
      end

      extra_member 158486 "Q_OBJECT"
	
	cpp "  Q_OBJECT" ""
	java ""
	php ""
	python ""
	idl ""
      end

      operation 626326 "FlowICNDocument"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 2
	  param in name "caption" explicit_type "QString"
	  param in name "name" explicit_type "char"
	cpp_decl "    ${comment}${inline}${name}${(}const ${t0} & ${p0}${v0}, const ${t1} * ${p1}${v1}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} * ${p1}${)}
	: ICNDocument(caption, name )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 626454 "~FlowICNDocument"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 626582 "canConnect"
	preserve_cpp_body_indent const cpp_virtual public explicit_return_type "bool"
	nparams 2
	  param inout name "qcanvasItem1" type class_ref 145174 // QCanvasItem
	  param inout name "qcanvasItem2" type class_ref 145174 // QCanvasItem
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, ${t1} * ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}, ${t1} * ${p1}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Reinherit this function to perform special checks on whether the two
	 * given QCanvasItems (either nodes or connectors or both) can be
	 * connected together.
	 "
      end

      operation 626710 "createConnector"
	preserve_cpp_body_indent cpp_virtual public return_type class_ref 153110 // Connector
	nparams 4
	  param inout name "node" type class_ref 153238 // Node
	  param inout name "con" type class_ref 153110 // Connector
	  param in name "pos2" explicit_type "QPoint"
	  param inout name "pointList" type class_ref 150166 // QPointList
	    defaultvalue "0L "
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} * ${p1}${v1}, const ${t2} & ${p2}${v2}, ${t3} * ${p3}${v3}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} * ${p1}, const ${t2} & ${p2}, ${t3} * ${p3}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Splits Connector con into two connectors at point pos2, and creates a connector from the node
	 * to the intersection of the two new connectors. If pointList is non-null, then the new connector
	 * from the node will be assigned those points
	 "
      end

      operation 626838 "createConnector"
	preserve_cpp_body_indent cpp_virtual public return_type class_ref 153110 // Connector
	nparams 5
	  param inout name "con1" type class_ref 153110 // Connector
	  param inout name "con2" type class_ref 153110 // Connector
	  param in name "pos1" explicit_type "QPoint"
	  param in name "pos2" explicit_type "QPoint"
	  param inout name "pointList" type class_ref 150166 // QPointList
	    defaultvalue "0L "
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} * ${p1}${v1}, const ${t2} & ${p2}${v2}, const ${t3} & ${p3}${v3}, ${t4} * ${p4}${v4}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} * ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}, ${t4} * ${p4}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Splits con1 and con2 into two new connectors each at points pos1 and pos2, and creates a new connector
	 * between the two points of intersection given by pos1 and pos2. If pointList is non-null, then the new
	 * connector between the two points will be assigned those points
	 "
      end

      operation 626966 "createConnector"
	preserve_cpp_body_indent cpp_virtual public return_type class_ref 153110 // Connector
	nparams 3
	  param in name "startNodeId" explicit_type "QString"
	  param in name "endNodeId" explicit_type "QString"
	  param inout name "pointList" type class_ref 150166 // QPointList
	    defaultvalue "0L "
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${v0}, const ${t1} & ${p1}${v1}, ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Creates a connector between two nodes, and returns a pointer to it
	 * and adds the operation to the undo list
	 "
      end

      operation 627094 "nodeWithID"
	preserve_cpp_body_indent cpp_virtual public return_type class_ref 153238 // Node
	nparams 1
	  param in name "id" explicit_type "QString"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Returns a pointer to a node on the canvas with the given id,
	 * or NULL if no such node exists
	 "
      end

      operation 627222 "getFPnodeWithID"
	preserve_cpp_body_indent public return_type class_ref 165270 // FPNode
	nparams 1
	  param in name "id" explicit_type "QString"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 627350 "slotAssignNodeGroups"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Assigns the orphan nodes into NodeGroups. You shouldn't call this
	 * function directly - instead use ItemDocument::requestEvent.
	 "
      end

      operation 627478 "flushDeleteList"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Permantly deletes all items that have been added to the delete list with
	 * the appendDeleteList( QCanvasItem *qcanvasItem ) function.
	 "
      end

      operation 627606 "registerItem"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 1
	  param inout name "qcanvasItem" type class_ref 145174 // QCanvasItem
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * registers (adds to the document) an item (a connector or a node)
	 * @param qcanvasItem the item to be registered
	 * @return true if succeeded, false if it didn't
	 "
      end

      operation 627734 "unregisterUID"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param in name "uid" explicit_type "QString"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 627862 "nodeList"
	preserve_cpp_body_indent const cpp_virtual public return_type class_ref 158742 // NodeList
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 627990 "joinConnectors"
	preserve_cpp_body_indent protected explicit_return_type "bool"
	nparams 1
	  param inout name "node" type class_ref 165270 // FPNode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * If there are two connectors joined to a node, then they can be merged
	 * into one connector. The node will not be removed.
	 * @param node The node between the two connectors
	 * @param noCreate If true, no new connectors will be created
	 * @returns true if it was successful in merging the connectors
	 "
      end

      operation 628118 "selectAllNodes"
	preserve_cpp_body_indent cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 *        Selects all nodes on the document. Should be overridden.
	 "
      end

      operation 628246 "deleteAllNodes"
	preserve_cpp_body_indent cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 *        deletes all the elements containde in the nodeList. Should be overridden.
	 "
      end

      classrelation 262294 // m_flowNodeList (<directional composition>)
	relation 262294 *-->
	  a role_name "m_flowNodeList" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	    classrelation_ref 262294 // m_flowNodeList (<directional composition>)
	  b parent class_ref 207894 // FPNodeMap
      end
    end

    class 168470 "PinMapping"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
Stores a pin mapping Pic <--> [component] where component is set by the Type
(e.g. Keypad or Seven Segment). Used for FlowCode.
@author David Saxton
"
      class 209046 "Type"
	visibility package stereotype "enum"
	cpp_decl "${comment}enum ${name} {
${items}
};
"
	java_decl ""
	php_decl ""
	python_2_2 python_decl ""
	idl_decl ""
	explicit_switch_type ""
	
	attribute 320534 "SevenSegment"
	  public type class_ref 209046 // Type
	  cpp_decl "  ${name}${value},${comment}"
	  java_decl ""
	  php_decl ""
	  python_decl ""
	  idl_decl ""
	end

	attribute 320662 "Keypad_4x3"
	  public type class_ref 209046 // Type
	  cpp_decl "  ${name}${value},${comment}"
	  java_decl ""
	  php_decl ""
	  python_decl ""
	  idl_decl ""
	end

	attribute 320790 "Keypad_4x4"
	  public type class_ref 209046 // Type
	  cpp_decl "  ${name}${value},${comment}"
	  java_decl ""
	  php_decl ""
	  python_decl ""
	  idl_decl ""
	end

	attribute 320918 "Invalid"
	  public type class_ref 209046 // Type
	  cpp_decl "  ${name}${value},${comment}"
	  java_decl ""
	  php_decl ""
	  python_decl ""
	  idl_decl ""
	end
      end

      operation 637078 "PinMapping"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
	comment "*
		 * Creates an invalid PinMapping, required by Qt templates.
		 "
      end

      operation 637206 "PinMapping"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 1
	  param in name "type" type class_ref 209046 // Type
	cpp_decl "    ${comment}${inline}${name}${(}${t0} ${p0}${v0}${)}${volatile}${throw};
"
	cpp_def "//BEGIN class PinMapping

${comment}${inline}${class}::${name}${(}${t0} ${p0}${)}${throw}{
${body}}
"
	
	
	
	
	comment "*
		 * Creates a PinMapping with the given type.
		 "
      end

      operation 637334 "~PinMapping"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 637462 "type"
	const cpp_inline public return_type class_ref 209046 // Type
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return m_type; };
"
	
	
	
	
      end

      operation 637590 "pins"
	const cpp_inline public explicit_return_type "QStringList"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return m_pins; };
"
	
	
	
	
      end

      operation 637718 "setPins"
	cpp_inline public explicit_return_type "void"
	nparams 1
	  param in name "pins" explicit_type "QStringList"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract} { m_pins = pins; };
"
	
	
	
	
      end

      attribute 321046 "m_pins"
	protected explicit_type "QStringList"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      classrelation 264214 // m_type (<directional composition>)
	relation 264214 *-->
	  a role_name "m_type" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	    classrelation_ref 264214 // m_type (<directional composition>)
	  b parent class_ref 209046 // Type
      end
    end

    class 207126 "CallSub"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@short FlowPart that calls a subroutine
@author David Saxton
"
      classrelation 261398 // <generalisation>
	relation 261398 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 261398 // <generalisation>
	  b parent class_ref 164118 // FlowPart
      end

      operation 622486 "CallSub"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	    defaultvalue "0L "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowPart( icnDocument, newItem, id ? id : \"callsub\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 622614 "~CallSub"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 622742 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 622870 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 622998 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "code" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 623126 "dataChanged"
	preserve_cpp_body_indent private explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 207382 "Count"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@short FlowPart that provides a delay
@author David Saxton
"
      classrelation 261526 // <generalisation>
	relation 261526 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 261526 // <generalisation>
	  b parent class_ref 164118 // FlowPart
      end

      operation 623254 "Count"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	    defaultvalue "0L "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowPart( icnDocument, newItem, id ? id : \"count\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 623382 "~Count"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 623510 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 623638 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 623766 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "code" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 623894 "dataChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 207510 "Delay"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@short FlowPart that provides a delay
@author David Saxton
"
      classrelation 261654 // <generalisation>
	relation 261654 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 261654 // <generalisation>
	  b parent class_ref 164118 // FlowPart
      end

      operation 624022 "Delay"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	    defaultvalue "0L "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowPart( icnDocument, newItem, id ? id : \"delay\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 624150 "~Delay"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 624278 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 624406 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 624534 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "code" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 624662 "dataChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 207638 "Embed"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@short FlowPart that provides a delay
@author David Saxton
"
      classrelation 261782 // <generalisation>
	relation 261782 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 261782 // <generalisation>
	  b parent class_ref 164118 // FlowPart
      end

      operation 624790 "Embed"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	    defaultvalue "0L "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowPart( icnDocument, newItem, id ? id : \"embed\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 624918 "~Embed"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 625046 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 625174 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 625302 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "code" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 625430 "typeIsMicrobe"
	preserve_cpp_body_indent const public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 625558 "dataChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 207766 "End"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@short FlowPart that tells the program where to end
@author David Saxton
"
      classrelation 261910 // <generalisation>
	relation 261910 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 261910 // <generalisation>
	  b parent class_ref 164118 // FlowPart
      end

      operation 625686 "End"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	    defaultvalue "0L "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowPart( icnDocument, newItem, id ? id : \"END\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 625814 "~End"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 625942 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 626070 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 626198 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 207894 "FPNodeMap"
      visibility package stereotype "typedef" base_type class_ref 165270 // FPNode
      cpp_decl "${comment}typedef QMap<QString,${type}*> ${name};
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 262038 // <dependency>
	relation 262038 -_->
	  a default
	    cpp default "#include in source"
	    classrelation_ref 262038 // <dependency>
	  b parent class_ref 165270 // FPNode
      end
    end

    class 208150 "ForLoop"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@author David Saxton
"
      classrelation 263318 // <generalisation>
	relation 263318 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 263318 // <generalisation>
	  b parent class_ref 153878 // FlowContainer
      end

      operation 632854 "ForLoop"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowContainer( icnDocument, newItem, id ? id : \"forloop\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 632982 "~ForLoop"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 633110 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 633238 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 633366 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "code" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 633494 "dataChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 208278 "InputButton"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@short InputButton - does debouncing of input
@author David Saxton
"
      classrelation 263446 // <generalisation>
	relation 263446 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 263446 // <generalisation>
	  b parent class_ref 164118 // FlowPart
      end

      operation 633622 "InputButton"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	    defaultvalue "0L "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowPart( icnDocument, newItem, id ? id : \"inputbutton\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 633750 "~InputButton"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 633878 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 634006 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 634134 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "code" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 634262 "dataChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 208406 "InputFlowNode"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
 a FPNode with type() == fp_in
"
      classrelation 263574 // <generalisation>
	relation 263574 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 263574 // <generalisation>
	  b parent class_ref 165270 // FPNode
      end

      operation 634390 "InputFlowNode"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 4
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "dir" explicit_type "int"
	  param in name "pos" explicit_type "QPoint"
	  param inout name "id" explicit_type "QString"
	    defaultvalue "0L"
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} & ${p2}${v2}, ${t3} * ${p3}${v3}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} & ${p2}, ${t3} * ${p3}${)}
 : FPNode(icnDocument, Node::fp_in, dir, pos, id)
${throw}{
${body}}
"
	
	
	
	
      end

      operation 634518 "~InputFlowNode"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 634646 "type"
	const cpp_inline public explicit_return_type "node_type"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return Node::fp_in; };
"
	
	
	
	
	comment "* Returns the node's type. This member will be removed one day "
      end
    end

    class 208534 "Interrupt"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@short FlowPart that defines the start of a interrupt
@author David Saxton
"
      classrelation 263702 // <generalisation>
	relation 263702 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 263702 // <generalisation>
	  b parent class_ref 153878 // FlowContainer
      end

      operation 634774 "Interrupt"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	    defaultvalue "0L "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowContainer( icnDocument, newItem, id ? id : \"interrupt\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 634902 "~Interrupt"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 635030 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 635158 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 635286 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "code" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 635414 "dataChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 208662 "JunctionFlowNode"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
	A FPNode with type() == fp_junction
"
      classrelation 263830 // <generalisation>
	relation 263830 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 263830 // <generalisation>
	  b parent class_ref 165270 // FPNode
      end

      operation 635542 "JunctionFlowNode"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 4
	  param inout name "_icnView" type class_ref 151958 // ICNDocument
	  param in name "dir" explicit_type "int"
	  param in name "pos" explicit_type "QPoint"
	  param inout name "id" explicit_type "QString"
	    defaultvalue "0L"
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} & ${p2}${v2}, ${t3} * ${p3}${v3}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} & ${p2}, ${t3} * ${p3}${)}: FPNode(_icnView, Node::fp_junction, dir, pos, id)
${throw}{
${body}}
"
	
	
	
	
      end

      operation 635670 "~JunctionFlowNode"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 635798 "type"
	const cpp_virtual cpp_inline public explicit_return_type "node_type"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return Node::fp_junction; };
"
	
	
	
	
	comment "* Returns the node's type. This member will be removed one day "
      end
    end

    class 208790 "Keypad"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@short FlowPart that provides a keypad
@author David Saxton
"
      classrelation 263958 // <generalisation>
	relation 263958 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 263958 // <generalisation>
	  b parent class_ref 164118 // FlowPart
      end

      operation 635926 "Keypad"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	    defaultvalue "0L "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowPart( icnDocument, newItem, id ? id : \"keypad\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 636054 "~Keypad"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 636182 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 636310 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 636438 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "code" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 636566 "dataChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 208918 "OutputFlowNode"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
	A FPNode with type() == fp_out
"
      classrelation 264086 // <generalisation>
	relation 264086 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 264086 // <generalisation>
	  b parent class_ref 165270 // FPNode
      end

      operation 636694 "OutputFlowNode"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 4
	  param inout name "_icnView" type class_ref 151958 // ICNDocument
	  param in name "dir" explicit_type "int"
	  param in name "pos" explicit_type "QPoint"
	  param inout name "id" explicit_type "QString"
	    defaultvalue "0L"
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} & ${p2}${v2}, ${t3} * ${p3}${v3}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} & ${p2}, ${t3} * ${p3}${)}: FPNode(_icnView, Node::fp_out, dir, pos, id)
${throw}{
${body}}
"
	
	
	
	
      end

      operation 636822 "~OutputFlowNode"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 636950 "type"
	const cpp_virtual cpp_inline public explicit_return_type "node_type"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return Node::fp_out; };
"
	
	
	
	
      end
    end

    class 209174 "PinMapEditor"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
Dialog for editing a Pin Mapping
@author David Saxton
"
      classrelation 264342 // <generalisation>
	relation 264342 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 264342 // <generalisation>
	  b parent class_ref 209302 // typedef27
      end

      extra_member 158870 "Q_OBJECT"
	
	cpp "  Q_OBJECT" ""
	java ""
	php ""
	python ""
	idl ""
      end

      operation 637846 "PinMapEditor"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 4
	  param inout name "pinMapping" type class_ref 168470 // PinMapping
	  param inout name "picInfo" type class_ref 164886 // MicroInfo
	  param inout name "parent" explicit_type "QWidget"
	  param in name "name" explicit_type "char"
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} * ${p1}${v1}, ${t2} * ${p2}${v2}, const ${t3} * ${p3}${v3}${)}${volatile}${throw};
"
	cpp_def "//END class PinMapping
//BEGIN class PinMapEditor

${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} * ${p1}, ${t2} * ${p2}, const ${t3} * ${p3}${)}
	: KDialogBase( parent, name, true, i18n(\"Pin Map Editor\"), Ok|Apply|Cancel, KDialogBase::Ok, true )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 637974 "slotApply"
	preserve_cpp_body_indent cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 638102 "slotOk"
	preserve_cpp_body_indent cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 638230 "savePinMapping"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      classrelation 264470 // m_pPinMapping (<unidirectional association>)
	relation 264470 --->
	  a role_name "m_pPinMapping" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 264470 // m_pPinMapping (<unidirectional association>)
	  b parent class_ref 168470 // PinMapping
      end

      classrelation 264598 // m_pPinMapDocument (<unidirectional association>)
	relation 264598 --->
	  a role_name "m_pPinMapDocument" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 264598 // m_pPinMapDocument (<unidirectional association>)
	  b parent class_ref 209430 // PinMapDocument
      end

      classrelation 264726 // m_pPinMapView (<unidirectional association>)
	relation 264726 --->
	  a role_name "m_pPinMapView" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 264726 // m_pPinMapView (<unidirectional association>)
	  b parent class_ref 209558 // PinMapView
      end
    end

    class 209302 "typedef27"
      visibility package stereotype "typedef" explicit_base_type "KDialogBase"
      cpp_decl "${comment}typedef ${type} ${name};
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
    end

    class 209430 "PinMapDocument"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
For use with FlowParts that require a pin map (e.g. Keypad and Seven Segment).
@author David Saxton
To see a document like this: put down a PIC, clik advanced on it, then down in the pin map definitions dialog
clik add/modifify, select something in the appearing dialog, and there is is.
It's similar to a circuit.

 because this document is similar to a circuit, the nodes are the electronic nodes"
      classrelation 264854 // <generalisation>
	relation 264854 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 264854 // <generalisation>
	  b parent class_ref 157078 // CircuitICNDocument
      end

      extra_member 158998 "Q_OBJECT"
	
	cpp "  Q_OBJECT" ""
	java ""
	php ""
	python ""
	idl ""
      end

      operation 638358 "PinMapDocument"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
"
	cpp_def "//END class PinMapEditor
//BEGIN class PinMapDocument

${comment}${inline}${class}::${name}${(}${)}
	: CircuitICNDocument( 0, 0 )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 638486 "~PinMapDocument"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 638614 "init"
	preserve_cpp_body_indent public explicit_return_type "void"
	nparams 2
	  param in name "pinMapping" type class_ref 168470 // PinMapping
	  param inout name "microInfo" type class_ref 164886 // MicroInfo
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}, ${t1} * ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, ${t1} * ${p1}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 638742 "isValidItem"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 1
	  param inout name "item" type class_ref 151702 // Item
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 638870 "isValidItem"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 1
	  param in name "id" explicit_type "QString"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 638998 "pinMapping"
	preserve_cpp_body_indent const public return_type class_ref 168470 // PinMapping
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 639126 "deleteSelection"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      classrelation 264982 // m_pinMappingType (<directional composition>)
	relation 264982 *-->
	  a role_name "m_pinMappingType" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	    classrelation_ref 264982 // m_pinMappingType (<directional composition>)
	  b parent class_ref 209046 // Type
      end

      classrelation 265110 // m_pKeypad (<unidirectional association>)
	relation 265110 --->
	  a role_name "m_pKeypad" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 265110 // m_pKeypad (<unidirectional association>)
	  b parent class_ref 195734 // ECKeyPad
      end

      classrelation 265238 // m_pSevenSegment (<unidirectional association>)
	relation 265238 --->
	  a role_name "m_pSevenSegment" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 265238 // m_pSevenSegment (<unidirectional association>)
	  b parent class_ref 196246 // ECSevenSegment
      end

      classrelation 265366 // m_pPicComponent (<unidirectional association>)
	relation 265366 --->
	  a role_name "m_pPicComponent" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 265366 // m_pPicComponent (<unidirectional association>)
	  b parent class_ref 209686 // PIC_IC
      end
    end

    class 209558 "PinMapView"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@author David Saxton
"
      classrelation 265494 // <generalisation>
	relation 265494 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 265494 // <generalisation>
	  b parent class_ref 157718 // ICNView
      end

      extra_member 159126 "Q_OBJECT"
	
	cpp "  Q_OBJECT" ""
	java ""
	php ""
	python ""
	idl ""
      end

      operation 639254 "PinMapView"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 4
	  param inout name "pinMapDocument" type class_ref 209430 // PinMapDocument
	  param inout name "viewContainer" type class_ref 157334 // ViewContainer
	  param in name "viewAreaId" type class_ref 151446 // uint
	  param in name "name" explicit_type "char"
	    defaultvalue "0l "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} * ${p1}${v1}, ${t2} ${p2}${v2}, const ${t3} * ${p3}${v3}${)}${volatile}${throw};
"
	cpp_def "//END class PinMapDocument
//BEGIN class PinMapView

${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} * ${p1}, ${t2} ${p2}, const ${t3} * ${p3}${)}
	: ICNView( pinMapDocument, viewContainer, viewAreaId, name )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 639382 "~PinMapView"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end
    end

    class 209686 "PIC_IC"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 265622 // <generalisation>
	relation 265622 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 265622 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 639510 "PIC_IC"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	    defaultvalue "0L "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: Component( icnDocument, newItem, id ? id : \"PIC_IC\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 639638 "~PIC_IC"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 639766 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "//END class PinMapView
//BEGIN class PIC_IC

${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 639894 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 640022 "initPackage"
	preserve_cpp_body_indent public explicit_return_type "void"
	nparams 1
	  param inout name "microInfo" type class_ref 164886 // MicroInfo
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 209814 "Pulse"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@short FlowPart that provides a pulse
@author David Saxton
"
      classrelation 265750 // <generalisation>
	relation 265750 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 265750 // <generalisation>
	  b parent class_ref 164118 // FlowPart
      end

      operation 640150 "Pulse"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	    defaultvalue "0L "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowPart( icnDocument, newItem, id ? id : \"pulse\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 640278 "~Pulse"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 640406 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 640534 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 640662 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "code" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 640790 "dataChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 209942 "ReadPort"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@short FlowPart that reads from a port
@author David Saxton
"
      classrelation 265878 // <generalisation>
	relation 265878 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 265878 // <generalisation>
	  b parent class_ref 164118 // FlowPart
      end

      operation 640918 "ReadPort"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	    defaultvalue "0L "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowPart( icnDocument, newItem, id ? id : \"readport\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 641046 "~ReadPort"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 641174 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 641302 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 641430 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "code" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 641558 "dataChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 210070 "Repeat"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@author David Saxton
"
      classrelation 266006 // <generalisation>
	relation 266006 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 266006 // <generalisation>
	  b parent class_ref 153878 // FlowContainer
      end

      operation 641686 "Repeat"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowContainer( icnDocument, newItem, id ? id : \"repeatloop\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 641814 "~Repeat"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 641942 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 642070 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 642198 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "code" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 642326 "dataChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 210198 "SetPin"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@short FlowPart that writes a high/low to a pin
@author David Saxton
"
      classrelation 266134 // <generalisation>
	relation 266134 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 266134 // <generalisation>
	  b parent class_ref 164118 // FlowPart
      end

      operation 642454 "SetPin"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	    defaultvalue "0L "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowPart( icnDocument, newItem, id ? id : \"setpin\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 642582 "~SetPin"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 642710 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 642838 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 642966 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "code" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 643094 "dataChanged"
	preserve_cpp_body_indent private explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 210326 "SevenSeg"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@short Allows a configurable output to a seven segment display
@author David Saxton
"
      classrelation 266262 // <generalisation>
	relation 266262 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 266262 // <generalisation>
	  b parent class_ref 164118 // FlowPart
      end

      operation 643222 "SevenSeg"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	    defaultvalue "0L "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowPart( icnDocument, newItem, id ? id : \"sevenseg\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 643350 "~SevenSeg"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 643478 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 643606 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 643734 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "code" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 643862 "dataChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 210454 "Start"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@short FlowPart that tells the program where to start
@author David Saxton
"
      classrelation 266390 // <generalisation>
	relation 266390 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 266390 // <generalisation>
	  b parent class_ref 164118 // FlowPart
      end

      operation 643990 "Start"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	    defaultvalue "0L "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowPart( icnDocument, newItem, id ? id : \"START\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 644118 "~Start"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 644246 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 644374 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 644502 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "code" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 210582 "Sub"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@short FlowPart that defines the start of a subroutine
@author David Saxton
"
      classrelation 266518 // <generalisation>
	relation 266518 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 266518 // <generalisation>
	  b parent class_ref 153878 // FlowContainer
      end

      operation 644630 "Sub"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	    defaultvalue "0L "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowContainer( icnDocument, newItem, id ? id : \"sub\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 644758 "~Sub"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 644886 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 645014 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 645142 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "code" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 645270 "dataChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 210710 "TestPin"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@short FlowPart that tests a pin to see if it's high
@author David Saxton
"
      classrelation 266646 // <generalisation>
	relation 266646 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 266646 // <generalisation>
	  b parent class_ref 164118 // FlowPart
      end

      operation 645398 "TestPin"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	    defaultvalue "0L "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowPart( icnDocument, newItem, id ? id : \"testpin\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 645526 "~TestPin"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 645654 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 645782 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 645910 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "code" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 646038 "dataChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 210838 "Unary"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@short FlowPart that rotates a variable
@author David Saxton
"
      classrelation 266774 // <generalisation>
	relation 266774 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 266774 // <generalisation>
	  b parent class_ref 164118 // FlowPart
      end

      operation 646166 "Unary"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	    defaultvalue "0L "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowPart( icnDocument, newItem, id ? id : \"unary\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 646294 "~Unary"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 646422 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 646550 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 646678 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "code" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 646806 "dataChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 210966 "VarAssignment"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@short FlowPart that assigns a value to a variable
@author David Saxton
"
      classrelation 266902 // <generalisation>
	relation 266902 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 266902 // <generalisation>
	  b parent class_ref 164118 // FlowPart
      end

      operation 646934 "VarAssignment"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	    defaultvalue "0L "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowPart( icnDocument, newItem, id ? id : \"varassignment\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 647062 "~VarAssignment"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 647190 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 647318 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 647446 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "code" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 647574 "dataChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 211094 "VarComparison"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@short FlowPart that compares two values
@author David Saxton
"
      classrelation 267030 // <generalisation>
	relation 267030 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 267030 // <generalisation>
	  b parent class_ref 164118 // FlowPart
      end

      operation 647702 "VarComparison"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	    defaultvalue "0L "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowPart( icnDocument, newItem, id ? id : \"varcomparison\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 647830 "~VarComparison"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 647958 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 648086 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 648214 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "code" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 648342 "dataChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 648470 "oppOp"
	preserve_cpp_body_indent protected explicit_return_type "QString"
	nparams 1
	  param in name "op" explicit_type "QString"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Use this to find the logically opposite comparison (e.g. \"==\" returns \"!=\",
	 * \">=\" returns \"<\", etc). Supoorted ops: != == <= >= < > 
	 "
      end
    end

    class 211222 "While"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@author David Saxton
"
      classrelation 267158 // <generalisation>
	relation 267158 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 267158 // <generalisation>
	  b parent class_ref 153878 // FlowContainer
      end

      operation 648598 "While"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowContainer( icnDocument, newItem, id ? id : \"whileloop\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 648726 "~While"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 648854 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 648982 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 649110 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "code" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 649238 "dataChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 211350 "WritePort"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "*
@short FlowPart that writes to a port
@author David Saxton
"
      classrelation 267286 // <generalisation>
	relation 267286 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 267286 // <generalisation>
	  b parent class_ref 164118 // FlowPart
      end

      operation 649366 "WritePort"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	    defaultvalue "0L "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: FlowPart( icnDocument, newItem, id ? id : \"writeport\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 649494 "~WritePort"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 649622 "construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 151702 // Item
	nparams 3
	  param inout name "itemDocument" type class_ref 151190 // ItemDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 649750 "libraryItem"
	class_operation preserve_cpp_body_indent public return_type class_ref 172694 // LibraryItem
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 649878 "generateMicrobe"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param inout name "code" type class_ref 207254 // FlowCode
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 650006 "dataChanged"
	preserve_cpp_body_indent private explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end
  end

  deploymentview 130326 "flowparts"
    //deployment diagram settings
    package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default
    draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default
    artifact 151702 "callsub"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 207126 // CallSub
      end
    end

    artifact 151830 "count"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 207382 // Count
      end
    end

    artifact 151958 "delay"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 207510 // Delay
      end
    end

    artifact 152086 "embed"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 207638 // Embed
      end
    end

    artifact 152214 "end"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 207766 // End
      end
    end

    artifact 152342 "flowicndocument"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 207894 // FPNodeMap
	class_ref 164502 // FlowICNDocument
      end
    end

    artifact 152470 "flowpart"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 164118 // FlowPart
      end
    end

    artifact 152598 "forloop"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 208150 // ForLoop
      end
    end

    artifact 152726 "inputbutton"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 208278 // InputButton
      end
    end

    artifact 152854 "inputflownode"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 208406 // InputFlowNode
      end
    end

    artifact 152982 "interrupt"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 208534 // Interrupt
      end
    end

    artifact 153110 "junctionflownode"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 208662 // JunctionFlowNode
      end
    end

    artifact 153238 "keypad"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 208790 // Keypad
      end
    end

    artifact 153366 "outputflownode"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 208918 // OutputFlowNode
      end
    end

    artifact 153494 "pinmapping"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 168470 // PinMapping
	class_ref 209302 // typedef27
	class_ref 209174 // PinMapEditor
	class_ref 209430 // PinMapDocument
	class_ref 209558 // PinMapView
	class_ref 209686 // PIC_IC
      end
    end

    artifact 153622 "pulse"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 209814 // Pulse
      end
    end

    artifact 153750 "readport"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 209942 // ReadPort
      end
    end

    artifact 153878 "repeat"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 210070 // Repeat
      end
    end

    artifact 154006 "setpin"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 210198 // SetPin
      end
    end

    artifact 154134 "sevenseg"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 210326 // SevenSeg
      end
    end

    artifact 154262 "start"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 210454 // Start
      end
    end

    artifact 154390 "sub"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 210582 // Sub
      end
    end

    artifact 154518 "testpin"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 210710 // TestPin
      end
    end

    artifact 154646 "unary"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 210838 // Unary
      end
    end

    artifact 154774 "varassignment"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 210966 // VarAssignment
      end
    end

    artifact 154902 "varcomparison"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 211094 // VarComparison
      end
    end

    artifact 155030 "while"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 211222 // While
      end
    end

    artifact 155158 "writeport"
      stereotype "source"
      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      associated_classes
	class_ref 211350 // WritePort
      end
    end
  end
end
