format 58
"components" // trunk::src::electronics::components
  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 130454 "components"
    //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 170902 "ECSubcircuit"
      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 "*
\"Container\" component for subcircuits
@author David Saxton
"
      classrelation 232726 // <generalisation>
	relation 232726 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 232726 // <generalisation>
	  b parent class_ref 155414 // Component
      end

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

      operation 536086 "ECSubcircuit"
	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 : \"subcircuit\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 536214 "~ECSubcircuit"
	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 536342 "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 536470 "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 536598 "setNumExtCon"
	preserve_cpp_body_indent public explicit_return_type "void"
	nparams 1
	  param in name "numExtCon" explicit_type "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 "*
	 * Create numExtCon nodes, deleting any old ones
	 "
      end

      operation 536726 "setExtConName"
	preserve_cpp_body_indent public explicit_return_type "void"
	nparams 2
	  param in name "numId" explicit_type "uint"
	  param in name "name" explicit_type "QString"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}, const ${t1} & ${p1}${v1}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
	comment "*
	 * Give the connecting node at position numId the given name
	 "
      end

      operation 536854 "doneSCInit"
	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 from SubcircuitData once the subcircuit has been fully attached
	 "
      end

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

      operation 536982 "removeItem"
	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

      extra_member 157974 "signals"
	
	cpp "  signals:" ""
	java ""
	php ""
	python ""
	idl ""
      end

      operation 537110 "subcircuitDeleted"
	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 "*
	 * Emitted when the current subcircuit is deleted
	 "
      end

      operation 537238 "dataChanged"
	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 537366 "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}}
"
	
	
	
	
      end

      attribute 289686 "m_conNames"
	protected explicit_type "QString"
	stereotype "QValueVector"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 192150 "ADDAC"
      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 "*
@author David Saxton
"
      classrelation 220438 // <generalisation>
	relation 220438 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 220438 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 507798 "ADDAC"
	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 "0 "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "//BEGIN class ADDAC

${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: Component( icnDocument, newItem, id )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 507926 "~ADDAC"
	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 508054 "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 508182 "initPins"
	abstract cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	
	
	
	
	comment "*
		 * Add / remove pins according to the number of outputs the user has requested
		 "
      end

      attribute 284054 "m_numBits"
	protected explicit_type "int"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 284182 "m_range"
	protected explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 192278 "ADC"
      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 220566 // <generalisation>
	relation 220566 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 220566 // <generalisation>
	  b parent class_ref 192150 // ADDAC
      end

      operation 508310 "ADC"
	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 "0 "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "//END class ADDAC
//BEGIN class ADC

${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: ADDAC( icnDocument, newItem, id ? id : \"adc\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 508438 "~ADC"
	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 508566 "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 508694 "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 508822 "stepNonLogic"
	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

      operation 508950 "doesStepNonLogic"
	const cpp_virtual cpp_inline public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return true; };
"
	
	
	
	
      end

      operation 509078 "initPins"
	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 "*
		 * Add / remove pins according to the number of outputs the user has requested
		 "
      end

      classrelation 220694 // m_logic (<unidirectional association>)
	relation 220694 --->
	  a role_name "m_logic" multiplicity "[max_ADDAC_bits]" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${multiplicity}${value};
"
	    classrelation_ref 220694 // m_logic (<unidirectional association>)
	  b parent class_ref 180630 // LogicOut
      end

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

    class 192406 "DAC"
      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 220950 // <generalisation>
	relation 220950 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 220950 // <generalisation>
	  b parent class_ref 192150 // ADDAC
      end

      operation 509206 "DAC"
	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 "0 "
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "//END class ADC
//BEGIN class DAC

${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: ADDAC( icnDocument, newItem, id ? id : \"dac\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 509334 "~DAC"
	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 509462 "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 509590 "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 509718 "stepNonLogic"
	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

      operation 509846 "doesStepNonLogic"
	const cpp_virtual cpp_inline public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return true; };
"
	
	
	
	
      end

      operation 509974 "initPins"
	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 "*
		 * Add / remove pins according to the number of outputs the user has requested
		 "
      end

      classrelation 221078 // m_logic (<unidirectional association>)
	relation 221078 --->
	  a role_name "m_logic" multiplicity "[max_ADDAC_bits]" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${multiplicity}${value};
"
	    classrelation_ref 221078 // m_logic (<unidirectional association>)
	  b parent class_ref 179990 // LogicIn
      end

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

    class 192534 "BiDirLED"
      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 221334 // <generalisation>
	relation 221334 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 221334 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 510102 "BiDirLED"
	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 : \"bidir_led\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 510230 "~BiDirLED"
	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 510358 "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 510486 "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 510614 "dataChanged"
	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

      operation 510742 "stepNonLogic"
	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

      operation 510870 "doesStepNonLogic"
	const cpp_virtual cpp_inline public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return true; };
"
	
	
	
	
      end

      operation 510998 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      attribute 284310 "r"
	private explicit_type "double"
	multiplicity "[2]"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${multiplicity}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 284438 "g"
	private explicit_type "double"
	multiplicity "[2]"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${multiplicity}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 284566 "b"
	private explicit_type "double"
	multiplicity "[2]"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${multiplicity}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 284694 "avg_brightness"
	private explicit_type "double"
	multiplicity "[2]"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${multiplicity}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      classrelation 221462 // last_brightness (<directional composition>)
	relation 221462 *-->
	  a role_name "last_brightness" multiplicity "[2]" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${multiplicity}${value};
"
	    classrelation_ref 221462 // last_brightness (<directional composition>)
	  b parent class_ref 151446 // uint
      end

      attribute 284822 "lastUpdatePeriod"
	private explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      classrelation 221590 // m_pDiode (<unidirectional association>)
	relation 221590 --->
	  a role_name "m_pDiode" multiplicity "[2]" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${multiplicity}${value};
"
	    classrelation_ref 221590 // m_pDiode (<unidirectional association>)
	  b parent class_ref 186902 // Diode
      end
    end

    class 192662 "BinaryCounter"
      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 "*
Simple logic counter. 4 Inputs, 4 Outputs.

Outputs (A-D) represent the stored value (0-15).
The inputs are:
@li en - Enable incrementing of value
@li in - Input (trigger high)
@li r - Reset stored value to 0
@li ud - Up/Down increment

@short 4 Bit Binary Counter
@author David Saxton
"
      classrelation 221718 // <generalisation>
	relation 221718 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 221718 // <generalisation>
	  b parent class_ref 192790 // CallbackClass
      end

      classrelation 221846 // <generalisation>
	relation 221846 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 221846 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 511126 "BinaryCounter"
	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 : \"binary_counter\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 511254 "~BinaryCounter"
	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 511382 "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 511510 "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 511638 "inStateChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "state" explicit_type "bool"
	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 511766 "rStateChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "state" explicit_type "bool"
	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 " Input"
      end

      operation 511894 "enStateChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "state" explicit_type "bool"
	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 " Reset"
      end

      operation 512022 "udStateChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "state" explicit_type "bool"
	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 " Enable"
      end

      operation 512150 "outputValue"
	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 " Up/Down"
      end

      operation 512278 "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 512406 "initPins"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "numBits" explicit_type "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}}
"
	
	
	
	
      end

      classrelation 221974 // m_pLogicOut (<unidirectional association>)
	relation 221974 --->
	  a role_name "m_pLogicOut" multiplicity "[26]" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${multiplicity}${value};
"
	    classrelation_ref 221974 // m_pLogicOut (<unidirectional association>)
	  b parent class_ref 180630 // LogicOut
      end

      attribute 284950 "m_numBits"
	protected explicit_type "uint"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 285078 "b_triggerHigh"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 285206 "b_en"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
	comment " Enable"
      end

      attribute 285334 "b_ud"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
	comment " Up/Down"
      end

      attribute 285462 "b_oldIn"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 285590 "b_reset"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 285718 "m_value"
	protected explicit_type "long"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 285846 "m_maxValue"
	protected explicit_type "long"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 285974 "m_bDoneLogicIn"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 192918 "BusSplitter"
      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 222102 // <generalisation>
	relation 222102 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 222102 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 512534 "BusSplitter"
	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 : \"Bus\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 512662 "~BusSplitter"
	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 512790 "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 512918 "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 513046 "outNodeID"
	preserve_cpp_body_indent const protected explicit_return_type "QString"
	nparams 1
	  param in name "node" explicit_type "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}}
"
	
	
	
	
      end

      operation 513174 "dataChanged"
	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 513302 "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}}
"
	
	
	
	
      end

      attribute 286102 "m_busSize"
	protected explicit_type "uint"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 286230 "m_pWires"
	protected explicit_type "QGuardedPtr<Wire> "
	stereotype "QValueVector"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

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

    class 193046 "Capacitor"
      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 Capacitor
Simple capacitor
@author David Saxton
"
      classrelation 222358 // <generalisation>
	relation 222358 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 222358 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 513430 "Capacitor"
	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 : \"capacitor\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 513558 "~Capacitor"
	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 513686 "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 513814 "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 513942 "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

      operation 514070 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      classrelation 222486 // m_capacitance (<unidirectional association>)
	relation 222486 --->
	  a role_name "m_capacitance" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 222486 // m_capacitance (<unidirectional association>)
	  b parent class_ref 186262 // Capacitance
      end
    end

    class 193174 "Demultiplexer"
      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 222614 // <generalisation>
	relation 222614 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 222614 // <generalisation>
	  b parent class_ref 192790 // CallbackClass
      end

      classrelation 222742 // <generalisation>
	relation 222742 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 222742 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 514198 "Demultiplexer"
	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 : \"demultiplexer\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 514326 "~Demultiplexer"
	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 514454 "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 514582 "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 514710 "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 514838 "initPins"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "newAddressSize" explicit_type "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 "*
	 * Add / remove pins according to the number of inputs the user has requested
	 "
      end

      operation 514966 "inStateChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "" explicit_type "bool"
	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

      classrelation 222870 // m_aLogic (<directional composition>)
	relation 222870 *-->
	  stereotype "QPtrVector"
	  a role_name "m_aLogic" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
"
	    classrelation_ref 222870 // m_aLogic (<directional composition>)
	  b parent class_ref 179990 // LogicIn
      end

      classrelation 222998 // m_xLogic (<directional composition>)
	relation 222998 *-->
	  stereotype "QPtrVector"
	  a role_name "m_xLogic" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
"
	    classrelation_ref 222998 // m_xLogic (<directional composition>)
	  b parent class_ref 180630 // LogicOut
      end

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

    class 193302 "DependentSource"
      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 223254 // <generalisation>
	relation 223254 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 223254 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 515094 "DependentSource"
	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 "//BEGIN class DependentSource

${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: Component( icnDocument, newItem, id )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 515222 "~DependentSource"
	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 515350 "drawOutline"
	preserve_cpp_body_indent 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}}
"
	
	
	
	
      end

      operation 515478 "drawTopArrow"
	preserve_cpp_body_indent 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}}
"
	
	
	
	
      end

      operation 515606 "drawBottomArrow"
	preserve_cpp_body_indent 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}}
"
	
	
	
	
      end
    end

    class 193430 "ECCCCS"
      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 Current Controlled Current Source
@author David Saxton
"
      classrelation 223382 // <generalisation>
	relation 223382 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 223382 // <generalisation>
	  b parent class_ref 193302 // DependentSource
      end

      operation 515734 "ECCCCS"
	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}${)}
	: DependentSource( icnDocument, newItem, id ? id : \"cccs\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 515862 "~ECCCCS"
	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 515990 "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 DependentSource
//BEGIN class ECCCCS

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

      operation 516118 "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 516246 "dataChanged"
	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 516374 "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}}
"
	
	
	
	
      end

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

    class 193558 "ECCCVS"
      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 Current Controlled Voltage Source
@author David Saxton
"
      classrelation 223638 // <generalisation>
	relation 223638 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 223638 // <generalisation>
	  b parent class_ref 193302 // DependentSource
      end

      operation 516502 "ECCCVS"
	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}${)}
	: DependentSource( icnDocument, newItem, id ? id : \"ccvs\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 516630 "~ECCCVS"
	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 516758 "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 ECCCCS
//BEGIN class ECCCVS

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

      operation 516886 "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 517014 "dataChanged"
	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 517142 "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}}
"
	
	
	
	
      end

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

    class 193686 "ECVCCS"
      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 Voltage Controlled Current Source
@author David Saxton
"
      classrelation 223894 // <generalisation>
	relation 223894 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 223894 // <generalisation>
	  b parent class_ref 193302 // DependentSource
      end

      operation 517270 "ECVCCS"
	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}${)}
	: DependentSource( icnDocument, newItem, id ? id : \"vccs\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 517398 "~ECVCCS"
	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 517526 "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 ECCCVS
//BEGIN class ECVCCS

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

      operation 517654 "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 517782 "dataChanged"
	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 517910 "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}}
"
	
	
	
	
      end

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

    class 193814 "ECVCVS"
      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 Voltage Controlled Voltage Source
@author David Saxton
"
      classrelation 224150 // <generalisation>
	relation 224150 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 224150 // <generalisation>
	  b parent class_ref 193302 // DependentSource
      end

      operation 518038 "ECVCVS"
	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}${)}
	: DependentSource( icnDocument, newItem, id ? id : \"vcvs\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 518166 "~ECVCVS"
	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 518294 "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 ECVCCS
//BEGIN class ECVCVS

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

      operation 518422 "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 518550 "dataChanged"
	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 518678 "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}}
"
	
	
	
	
      end

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

    class 193942 "Inverter"
      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 Boolean NOT
@author David Saxton
"
      classrelation 224406 // <generalisation>
	relation 224406 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 224406 // <generalisation>
	  b parent class_ref 192790 // CallbackClass
      end

      classrelation 224534 // <generalisation>
	relation 224534 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 224534 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 518806 "Inverter"
	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 : \"not\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 518934 "~Inverter"
	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 519062 "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 "//BEGIN class Inverter

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

      operation 519190 "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 519318 "inStateChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "newState" explicit_type "bool"
	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 519446 "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}}
"
	
	
	
	
      end

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

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

    class 194070 "Buffer"
      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 Buffer
@author David Saxton
"
      classrelation 224918 // <generalisation>
	relation 224918 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 224918 // <generalisation>
	  b parent class_ref 192790 // CallbackClass
      end

      classrelation 225046 // <generalisation>
	relation 225046 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 225046 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 519574 "Buffer"
	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 : \"buffer\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 519702 "~Buffer"
	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 519830 "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 Inverter
//BEGIN class Buffer

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

      operation 519958 "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 520086 "inStateChanged"
	preserve_cpp_body_indent private explicit_return_type "void"
	nparams 1
	  param in name "newState" explicit_type "bool"
	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 520214 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      classrelation 225174 // m_pIn (<unidirectional association>)
	relation 225174 --->
	  a role_name "m_pIn" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 225174 // m_pIn (<unidirectional association>)
	  b parent class_ref 179990 // LogicIn
      end

      classrelation 225302 // m_pOut (<unidirectional association>)
	relation 225302 --->
	  a role_name "m_pOut" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 225302 // m_pOut (<unidirectional association>)
	  b parent class_ref 180630 // LogicOut
      end
    end

    class 194198 "ECLogicInput"
      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 Boolean logic input
@author David Saxton
"
      classrelation 225430 // <generalisation>
	relation 225430 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 225430 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 520342 "ECLogicInput"
	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 : \"logic_input\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 520470 "~ECLogicInput"
	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 520598 "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 Buffer
//BEGIN class ECLogicInput

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

      operation 520726 "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 520854 "buttonStateChanged"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "" explicit_type "QString"
	  param in name "state" explicit_type "bool"
	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 520982 "dataChanged"
	preserve_cpp_body_indent cpp_virtual 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

      operation 521110 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      classrelation 225558 // m_pOut (<unidirectional association>)
	relation 225558 --->
	  a role_name "m_pOut" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 225558 // m_pOut (<unidirectional association>)
	  b parent class_ref 180630 // LogicOut
      end

      attribute 286358 "b_state"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 194326 "ECLogicOutput"
      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 Boolean logic output
@author David Saxton
"
      classrelation 225686 // <generalisation>
	relation 225686 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 225686 // <generalisation>
	  b parent class_ref 192790 // CallbackClass
      end

      classrelation 225814 // <generalisation>
	relation 225814 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 225814 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 521238 "ECLogicOutput"
	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 : \"logic_output\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 521366 "~ECLogicOutput"
	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 521494 "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 ECLogicInput
//BEGIN class ECLogicOutput

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

      operation 521622 "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 521750 "inStateChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "newState" explicit_type "bool"
	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 521878 "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}}
"
	
	
	
	
      end

      attribute 286486 "m_lastDrawTime"
	protected explicit_type "unsigned long long"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 286614 "m_lastSwitchTime"
	protected explicit_type "unsigned long long"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 286742 "m_highTime"
	protected explicit_type "unsigned long long"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 286870 "m_bLastState"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 286998 "m_lastDrawState"
	protected explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

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

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

    class 194454 "EC555"
      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 555 IC
@author David Saxton
"
      classrelation 226198 // <generalisation>
	relation 226198 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 226198 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 522006 "EC555"
	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 : \"555\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 522134 "~EC555"
	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 522262 "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 522390 "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 522518 "stepNonLogic"
	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

      operation 522646 "doesStepNonLogic"
	const cpp_virtual cpp_inline public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return true; };
"
	
	
	
	
      end

      classrelation 226326 // ground (<unidirectional association>)
	relation 226326 --->
	  a role_name "ground" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 226326 // ground (<unidirectional association>)
	  b parent class_ref 156822 // Pin
      end

      classrelation 226454 // trigger (<unidirectional association>)
	relation 226454 --->
	  a role_name "trigger" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 226454 // trigger (<unidirectional association>)
	  b parent class_ref 156822 // Pin
      end

      classrelation 226582 // output (<unidirectional association>)
	relation 226582 --->
	  a role_name "output" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 226582 // output (<unidirectional association>)
	  b parent class_ref 156822 // Pin
      end

      classrelation 226710 // reset (<unidirectional association>)
	relation 226710 --->
	  a role_name "reset" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 226710 // reset (<unidirectional association>)
	  b parent class_ref 156822 // Pin
      end

      classrelation 226838 // control (<unidirectional association>)
	relation 226838 --->
	  a role_name "control" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 226838 // control (<unidirectional association>)
	  b parent class_ref 156822 // Pin
      end

      classrelation 226966 // threshold (<unidirectional association>)
	relation 226966 --->
	  a role_name "threshold" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 226966 // threshold (<unidirectional association>)
	  b parent class_ref 156822 // Pin
      end

      classrelation 227094 // discharge (<unidirectional association>)
	relation 227094 --->
	  a role_name "discharge" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 227094 // discharge (<unidirectional association>)
	  b parent class_ref 156822 // Pin
      end

      classrelation 227222 // vcc (<unidirectional association>)
	relation 227222 --->
	  a role_name "vcc" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 227222 // vcc (<unidirectional association>)
	  b parent class_ref 156822 // Pin
      end

      classrelation 227350 // m_r1 (<unidirectional association>)
	relation 227350 --->
	  a role_name "m_r1" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 227350 // m_r1 (<unidirectional association>)
	  b parent class_ref 187542 // Resistance
      end

      classrelation 227478 // m_r23 (<unidirectional association>)
	relation 227478 --->
	  a role_name "m_r23" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 227478 // m_r23 (<unidirectional association>)
	  b parent class_ref 187542 // Resistance
      end

      classrelation 227606 // m_po_sink (<unidirectional association>)
	relation 227606 --->
	  a role_name "m_po_sink" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 227606 // m_po_sink (<unidirectional association>)
	  b parent class_ref 187542 // Resistance
      end

      classrelation 227734 // m_po_source (<unidirectional association>)
	relation 227734 --->
	  a role_name "m_po_source" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 227734 // m_po_source (<unidirectional association>)
	  b parent class_ref 187542 // Resistance
      end

      classrelation 227862 // m_r_discharge (<unidirectional association>)
	relation 227862 --->
	  a role_name "m_r_discharge" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 227862 // m_r_discharge (<unidirectional association>)
	  b parent class_ref 187542 // Resistance
      end

      attribute 287126 "old_com1"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 287254 "old_com2"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 287382 "old_q"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 194582 "ECBCDTo7Segment"
      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 Converts a BCD input to 7-Segment Output
@author David Saxton
"
      classrelation 227990 // <generalisation>
	relation 227990 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 227990 // <generalisation>
	  b parent class_ref 192790 // CallbackClass
      end

      classrelation 228118 // <generalisation>
	relation 228118 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 228118 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 522774 "ECBCDTo7Segment"
	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 : \"bcd_to_seven_segment\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 522902 "~ECBCDTo7Segment"
	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 523030 "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 "// 0
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// 8
// 9
// A
// b
// C
// d
// E
// F

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

      operation 523158 "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 523286 "inStateChanged"
	preserve_cpp_body_indent private explicit_return_type "void"
	nparams 1
	  param in name "" explicit_type "bool"
	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

      classrelation 228246 // outLogic (<unidirectional association>)
	relation 228246 --->
	  a role_name "outLogic" multiplicity "[7]" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${multiplicity}${value};
"
	    classrelation_ref 228246 // outLogic (<unidirectional association>)
	  b parent class_ref 180630 // LogicOut
      end

      attribute 287510 "oldOut"
	private explicit_type "bool"
	multiplicity "[7]"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${multiplicity}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 194710 "ECBJT"
      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 Simulates a BJT
@author David Saxton
"
      classrelation 228374 // <generalisation>
	relation 228374 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 228374 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 523414 "ECBJT"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 4
	  param in name "isNPN" explicit_type "bool"
	  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}, ${t2} ${p2}${v2}, const ${t3} * ${p3}${v3}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} ${p0}, ${t1} * ${p1}, ${t2} ${p2}, const ${t3} * ${p3}${)}
	: Component( icnDocument, newItem, id ? id : (isNPN ? \"npnbjt\" : \"pnpbjt\") )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 523542 "~ECBJT"
	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 523670 "constructNPN"
	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 523798 "constructPNP"
	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 523926 "libraryItemNPN"
	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 524054 "libraryItemPNP"
	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 524182 "dataChanged"
	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 524310 "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}}
"
	
	
	
	
      end

      attribute 287638 "m_bIsNPN"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

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

    class 194838 "ECClockInput"
      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 Boolean clock input
@author David Saxton
"
      classrelation 228630 // <generalisation>
	relation 228630 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 228630 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 524438 "ECClockInput"
	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 : \"clock_input\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 524566 "~ECClockInput"
	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 524694 "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 524822 "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 524950 "stepCallback"
	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}}
"
	
	
	
	
      end

      operation 525078 "stepLogic"
	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}}
"
	
	
	
	
      end

      operation 525206 "stepNonLogic"
	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

      operation 525334 "doesStepNonLogic"
	const cpp_virtual cpp_inline public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return true; };
"
	
	
	
	
      end

      operation 525462 "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}}
"
	
	
	
	
      end

      operation 525590 "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

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

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

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

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

      attribute 287766 "m_lastSetTime"
	protected explicit_type "long long"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

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

      attribute 287894 "m_bSetStepCallbacks"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 288022 "m_bLastStepCallbackOut"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

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

      attribute 288150 "m_pComponentCallback"
	protected explicit_type "ComponentCallback"
	multiplicity "[1000]"
	stereotype "list"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> * ${name}${multiplicity}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 194966 "ECCurrentSignal"
      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 Provides a current signal (sinusoidal, square, etc)
@author David Saxton
"
      classrelation 229526 // <generalisation>
	relation 229526 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 229526 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 525718 "ECCurrentSignal"
	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 : \"current_signal\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 525846 "~ECCurrentSignal"
	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 525974 "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 526102 "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 526230 "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}}
"
	
	
	
	
      end

      operation 526358 "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

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

    class 195094 "ECCurrentSource"
      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 Fixed current source
@author David Saxton
"
      classrelation 229782 // <generalisation>
	relation 229782 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 229782 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 526486 "ECCurrentSource"
	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 : \"current_source\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 526614 "~ECCurrentSource"
	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 526742 "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 526870 "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 526998 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      operation 527126 "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

      classrelation 229910 // m_currentSource (<unidirectional association>)
	relation 229910 --->
	  a role_name "m_currentSource" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 229910 // m_currentSource (<unidirectional association>)
	  b parent class_ref 186774 // CurrentSource
      end
    end

    class 195222 "ECDiode"
      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 Simple diode
@author David Saxton
"
      classrelation 230038 // <generalisation>
	relation 230038 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 230038 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 527254 "ECDiode"
	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 : \"diode\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 527382 "~ECDiode"
	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 527510 "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 527638 "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 527766 "drawShape"
	preserve_cpp_body_indent 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}}
"
	
	
	
	
      end

      operation 527894 "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

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

    class 195350 "ECFixedVoltage"
      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 Fixed voltage source
@author David Saxton
"
      classrelation 230294 // <generalisation>
	relation 230294 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 230294 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 528022 "ECFixedVoltage"
	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 : \"fixed_voltage\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 528150 "~ECFixedVoltage"
	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 528278 "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 528406 "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 528534 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      operation 528662 "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

      classrelation 230422 // m_voltagePoint (<unidirectional association>)
	relation 230422 --->
	  a role_name "m_voltagePoint" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 230422 // m_voltagePoint (<unidirectional association>)
	  b parent class_ref 187926 // VoltagePoint
      end
    end

    class 195478 "ECGround"
      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 Fixed voltage source
@author David Saxton
"
      classrelation 230550 // <generalisation>
	relation 230550 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 230550 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 528790 "ECGround"
	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 : \"ground\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 528918 "~ECGround"
	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 529046 "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 529174 "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 529302 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end
    end

    class 195606 "ECJFET"
      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 Simulates a JFET
@author David Saxton
 "
      classrelation 230678 // <generalisation>
	relation 230678 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 230678 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 529430 "ECJFET"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 4
	  param in name "JFET_type" explicit_type "int"
	  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}, ${t2} ${p2}${v2}, const ${t3} * ${p3}${v3}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} ${p0}, ${t1} * ${p1}, ${t2} ${p2}, const ${t3} * ${p3}${)}
	: Component( icnDocument, newItem, id )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 529558 "~ECJFET"
	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 529686 "constructNJFET"
	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 529814 "constructPJFET"
	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 529942 "libraryItemNJFET"
	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 530070 "libraryItemPJFET"
	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 530198 "dataChanged"
	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 530326 "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}}
"
	
	
	
	
      end

      attribute 288278 "m_JFET_type"
	protected explicit_type "int"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

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

    class 195734 "ECKeyPad"
      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 4x3 PTM Keypad
@author David Saxton
"
      classrelation 230934 // <generalisation>
	relation 230934 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 230934 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 530454 "ECKeyPad"
	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 : \"keypad\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 530582 "~ECKeyPad"
	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 530710 "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 530838 "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 530966 "buttonStateChanged"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "id" explicit_type "QString"
	  param in name "state" explicit_type "bool"
	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 531094 "dataChanged"
	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 531222 "initPins"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "numCols" explicit_type "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}}
"
	
	
	
	
      end

      operation 531350 "buttonID"
	preserve_cpp_body_indent const protected explicit_return_type "QString"
	nparams 2
	  param in name "row" explicit_type "int"
	  param in name "col" explicit_type "int"
	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}}
"
	
	
	
	
      end

      operation 531478 "sideLength"
	preserve_cpp_body_indent const protected explicit_return_type "int"
	nparams 1
	  param in name "numButtons" explicit_type "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}}
"
	
	
	
	
      end

      classrelation 231062 // m_switch (<unidirectional association>)
	relation 231062 --->
	  a role_name "m_switch" multiplicity "[4][11]" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${multiplicity}${value};
"
	    classrelation_ref 231062 // m_switch (<unidirectional association>)
	  b parent class_ref 156310 // Switch
      end

      attribute 288406 "m_numCols"
	protected explicit_type "uint"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 195862 "ECMOSFET"
      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 Simulates a MOSFET
@author David Saxton
 "
      classrelation 231190 // <generalisation>
	relation 231190 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 231190 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 531606 "ECMOSFET"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 4
	  param in name "MOSFET_type" explicit_type "int"
	  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}, ${t2} ${p2}${v2}, const ${t3} * ${p3}${v3}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} ${p0}, ${t1} * ${p1}, ${t2} ${p2}, const ${t3} * ${p3}${)}
	: Component( icnDocument, newItem, id )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 531734 "~ECMOSFET"
	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 531862 "constructNEM"
	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 531990 "constructPEM"
	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 532118 "libraryItemNEM"
	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}}
"
	
	
	
	
	comment " 		static Item * constructNDM( ItemDocument * itemDocument, bool newItem, const char * id );
 		static Item * constructPDM( ItemDocument * itemDocument, bool newItem, const char * id );"
      end

      operation 532246 "libraryItemPEM"
	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 532374 "dataChanged"
	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 " 		static LibraryItem * libraryItemNDM();
 		static LibraryItem * libraryItemPDM();"
      end

      operation 532502 "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}}
"
	
	
	
	
      end

      attribute 288534 "m_bHaveBodyPin"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 288662 "m_MOSFET_type"
	protected explicit_type "int"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

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

    class 195990 "ECOpAmp"
      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 Operational Amplifier
@author David Saxton
"
      classrelation 231446 // <generalisation>
	relation 231446 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 231446 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 532630 "ECOpAmp"
	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 : \"opamp\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 532758 "~ECOpAmp"
	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 532886 "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 533014 "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 533142 "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}}
"
	
	
	
	
      end
    end

    class 196118 "ECPotentiometer"
      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 Potentiometer
@author David Saxton
"
      classrelation 231574 // <generalisation>
	relation 231574 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 231574 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 533270 "ECPotentiometer"
	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 : \"potentiometer\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 533398 "~ECPotentiometer"
	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 533526 "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 533654 "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 533782 "sliderValueChanged"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "id" explicit_type "QString"
	  param in name "newValue" explicit_type "int"
	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 533910 "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

      operation 534038 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      classrelation 231702 // m_p1 (<unidirectional association>)
	relation 231702 --->
	  a role_name "m_p1" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 231702 // m_p1 (<unidirectional association>)
	  b parent class_ref 155670 // ECNode
      end

      attribute 288790 "m_resistance"
	private explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 288918 "m_sliderProp"
	private explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 289046 "m_pSlider"
	private explicit_type "QSlider"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 196246 "ECSevenSegment"
      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 Seven segment display component
@author David Saxton
"
      classrelation 231830 // <generalisation>
	relation 231830 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 231830 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 534166 "ECSevenSegment"
	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 : \"seven_segment\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 534294 "~ECSevenSegment"
	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 534422 "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 534550 "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 534678 "stepNonLogic"
	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

      operation 534806 "doesStepNonLogic"
	const cpp_virtual cpp_inline public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return true; };
"
	
	
	
	
      end

      operation 534934 "dataChanged"
	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

      operation 535062 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      attribute 289174 "m_bCommonCathode"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 289302 "lastUpdatePeriod"
	private explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 289430 "avg_brightness"
	private explicit_type "double"
	multiplicity "[8]"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${multiplicity}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      classrelation 231958 // last_brightness (<directional composition>)
	relation 231958 *-->
	  a role_name "last_brightness" multiplicity "[8]" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${multiplicity}${value};
"
	    classrelation_ref 231958 // last_brightness (<directional composition>)
	  b parent class_ref 151446 // uint
      end

      classrelation 232086 // m_diodes (<unidirectional association>)
	relation 232086 --->
	  a role_name "m_diodes" multiplicity "[8]" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${multiplicity}${value};
"
	    classrelation_ref 232086 // m_diodes (<unidirectional association>)
	  b parent class_ref 186902 // Diode
      end

      classrelation 232214 // m_nodes (<unidirectional association>)
	relation 232214 --->
	  a role_name "m_nodes" multiplicity "[8]" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${multiplicity}${value};
"
	    classrelation_ref 232214 // m_nodes (<unidirectional association>)
	  b parent class_ref 155670 // ECNode
      end

      classrelation 232342 // m_nNode (<unidirectional association>)
	relation 232342 --->
	  a role_name "m_nNode" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 232342 // m_nNode (<unidirectional association>)
	  b parent class_ref 155670 // ECNode
      end
    end

    class 196374 "ECSignalLamp"
      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 Signal Lamp - glows when current flows
@author David Saxton
"
      classrelation 232470 // <generalisation>
	relation 232470 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 232470 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 535190 "ECSignalLamp"
	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 : \"signal_lamp\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 535318 "~ECSignalLamp"
	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 535446 "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 535574 "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 535702 "stepNonLogic"
	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

      operation 535830 "doesStepNonLogic"
	const cpp_virtual cpp_inline public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return true; };
"
	
	
	
	
      end

      operation 535958 "drawShape"
	preserve_cpp_body_indent private 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}}
"
	
	
	
	
      end

      attribute 289558 "avgPower"
	private explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

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

    class 196502 "ECVoltageSignal"
      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 Provides an alternating voltage source
@author David Saxton
"
      classrelation 232854 // <generalisation>
	relation 232854 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 232854 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 537494 "ECVoltageSignal"
	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 : \"voltage_signal\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 537622 "~ECVoltageSignal"
	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 537750 "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 537878 "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 538006 "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}}
"
	
	
	
	
      end

      operation 538134 "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

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

    class 196630 "ECCell"
      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 Electrical cell
Simple electrical cell that simulates a PD and internal resistance
@author David Saxton
"
      classrelation 233110 // <generalisation>
	relation 233110 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 233110 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 538262 "ECCell"
	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 : \"cell\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 538390 "~ECCell"
	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 538518 "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 538646 "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 538774 "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

      operation 538902 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      classrelation 233238 // m_voltageSource (<unidirectional association>)
	relation 233238 --->
	  a role_name "m_voltageSource" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 233238 // m_voltageSource (<unidirectional association>)
	  b parent class_ref 188182 // VoltageSource
      end

      attribute 289814 "voltage"
	private explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 196758 "ExternalConnection"
      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 connecting to something \"outside\" - e.g. a mechanical component, or as part
of a circuit part
@author David Saxton
"
      classrelation 233366 // <generalisation>
	relation 233366 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 233366 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 539030 "ExternalConnection"
	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 : \"external_connection\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 539158 "~ExternalConnection"
	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 539286 "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 539414 "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 539542 "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

      operation 539670 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end
    end

    class 196886 "ClockedFlipFlop"
      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 ""
      
      classrelation 233494 // <generalisation>
	relation 233494 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 233494 // <generalisation>
	  b parent class_ref 192790 // CallbackClass
      end

      classrelation 233622 // <generalisation>
	relation 233622 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 233622 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 539798 "ClockedFlipFlop"
	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 "//BEGIN class ClockedFlipFlop

${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: Component( icnDocument, newItem, id )
${throw}{
${body}}
"
	
	
	
	
      end

      class 197014 "EdgeTrigger"
	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 289942 "Rising"
	  public type class_ref 197014 // EdgeTrigger
	  cpp_decl "  ${name}${value},${comment}"
	  java_decl ""
	  php_decl ""
	  python_decl ""
	  idl_decl ""
	end

	attribute 290070 "Falling"
	  public type class_ref 197014 // EdgeTrigger
	  cpp_decl "  ${name}${value},${comment}"
	  java_decl ""
	  php_decl ""
	  python_decl ""
	  idl_decl ""
	end
      end

      operation 539926 "dataChanged"
	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 540054 "initSymbolFromTrigger"
	abstract cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	
	
	
	
      end

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

    class 197142 "ECDFlipFlop"
      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 Boolean D-Type Flip-Flop
@author David Saxton
"
      classrelation 233878 // <generalisation>
	relation 233878 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 233878 // <generalisation>
	  b parent class_ref 196886 // ClockedFlipFlop
      end

      operation 540182 "ECDFlipFlop"
	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}${)}
	: ClockedFlipFlop( icnDocument, newItem, id ? id : \"d_flipflop\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 540310 "~ECDFlipFlop"
	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 540438 "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 ClockedFlipFlop
//BEGIN class ECDFlipFlop

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

      operation 540566 "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 540694 "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}}
"
	
	
	
	
      end

      operation 540822 "initSymbolFromTrigger"
	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 540950 "inputChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "newState" explicit_type "bool"
	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 541078 "inStateChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "" explicit_type "bool"
	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 541206 "asyncChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "" explicit_type "bool"
	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 541334 "clockChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "newState" explicit_type "bool"
	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

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

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

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

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

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

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

      attribute 290198 "m_bPrevClock"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 290326 "m_prevD"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 290454 "m_prevDChangeSimTime"
	protected explicit_type "unsigned long long"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

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

    class 197270 "ECJKFlipFlop"
      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 Boolean JK-Type Flip-Flop
@author Couriousous
"
      classrelation 234902 // <generalisation>
	relation 234902 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 234902 // <generalisation>
	  b parent class_ref 196886 // ClockedFlipFlop
      end

      operation 541462 "ECJKFlipFlop"
	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}${)}
	: ClockedFlipFlop( icnDocument, newItem, id ? id : \"jk_flipflop\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 541590 "~ECJKFlipFlop"
	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 541718 "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 ECDFlipFlop
//BEGIN class ECJKFlipFlop

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

      operation 541846 "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 541974 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      operation 542102 "initSymbolFromTrigger"
	preserve_cpp_body_indent cpp_virtual 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

      operation 542230 "inStateChanged"
	preserve_cpp_body_indent private explicit_return_type "void"
	nparams 1
	  param in name "" explicit_type "bool"
	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 542358 "asyncChanged"
	preserve_cpp_body_indent private explicit_return_type "void"
	nparams 1
	  param in name "" explicit_type "bool"
	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 542486 "clockChanged"
	preserve_cpp_body_indent private explicit_return_type "void"
	nparams 1
	  param in name "newvalue" explicit_type "bool"
	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

      attribute 290582 "prev_state"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 290710 "m_bPrevClock"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      classrelation 235030 // m_pJ (<unidirectional association>)
	relation 235030 --->
	  a role_name "m_pJ" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 235030 // m_pJ (<unidirectional association>)
	  b parent class_ref 179990 // LogicIn
      end

      classrelation 235158 // m_pClock (<unidirectional association>)
	relation 235158 --->
	  a role_name "m_pClock" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 235158 // m_pClock (<unidirectional association>)
	  b parent class_ref 179990 // LogicIn
      end

      classrelation 235286 // m_pK (<unidirectional association>)
	relation 235286 --->
	  a role_name "m_pK" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 235286 // m_pK (<unidirectional association>)
	  b parent class_ref 179990 // LogicIn
      end

      classrelation 235414 // setp (<unidirectional association>)
	relation 235414 --->
	  a role_name "setp" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 235414 // setp (<unidirectional association>)
	  b parent class_ref 179990 // LogicIn
      end

      classrelation 235542 // rstp (<unidirectional association>)
	relation 235542 --->
	  a role_name "rstp" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 235542 // rstp (<unidirectional association>)
	  b parent class_ref 179990 // LogicIn
      end

      classrelation 235670 // m_pQ (<unidirectional association>)
	relation 235670 --->
	  a role_name "m_pQ" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 235670 // m_pQ (<unidirectional association>)
	  b parent class_ref 180630 // LogicOut
      end

      classrelation 235798 // m_pQBar (<unidirectional association>)
	relation 235798 --->
	  a role_name "m_pQBar" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 235798 // m_pQBar (<unidirectional association>)
	  b parent class_ref 180630 // LogicOut
      end
    end

    class 197398 "ECSRFlipFlop"
      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 Boolean Set-Reset Flip-Flop
@author David Saxton
"
      classrelation 235926 // <generalisation>
	relation 235926 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 235926 // <generalisation>
	  b parent class_ref 192790 // CallbackClass
      end

      classrelation 236054 // <generalisation>
	relation 236054 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 236054 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 542614 "ECSRFlipFlop"
	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 : \"sr_flipflop\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 542742 "~ECSRFlipFlop"
	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 542870 "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 ECJKFlipFlop
//BEGIN class ECSRFlipFlop

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

      operation 542998 "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 543126 "inStateChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "" explicit_type "bool"
	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

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

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

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

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

      attribute 290838 "old_q1"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 290966 "old_q2"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 197526 "FullAdder"
      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 236694 // <generalisation>
	relation 236694 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 236694 // <generalisation>
	  b parent class_ref 192790 // CallbackClass
      end

      classrelation 236822 // <generalisation>
	relation 236822 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 236822 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 543254 "FullAdder"
	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 : \"adder\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 543382 "~FullAdder"
	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 543510 "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 543638 "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 543766 "inStateChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "" explicit_type "bool"
	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 197654 "Inductor"
      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 236950 // <generalisation>
	relation 236950 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 236950 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 543894 "Inductor"
	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 : \"inductor\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 544022 "~Inductor"
	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 544150 "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 544278 "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 544406 "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

      operation 544534 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      classrelation 237078 // m_pInductance (<unidirectional association>)
	relation 237078 --->
	  a role_name "m_pInductance" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 237078 // m_pInductance (<unidirectional association>)
	  b parent class_ref 187158 // Inductance
      end
    end

    class 197782 "LED"
      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 Simulates a LED
@author David Saxton
"
      classrelation 237206 // <generalisation>
	relation 237206 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 237206 // <generalisation>
	  b parent class_ref 195222 // ECDiode
      end

      operation 544662 "LED"
	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}${)}
	: ECDiode( icnDocument, newItem, id ? id : \"led\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 544790 "~LED"
	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 544918 "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 545046 "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 545174 "brightness"
	class_operation preserve_cpp_body_indent public return_type class_ref 151446 // uint
	nparams 1
	  param in name "i" explicit_type "double"
	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 "*
	 * Returns the brightness for the given current, from 255 (off) -> 0 (on)
	 "
      end

      operation 545302 "dataChanged"
	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

      operation 545430 "stepNonLogic"
	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

      operation 545558 "doesStepNonLogic"
	const cpp_virtual cpp_inline public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return true; };
"
	
	
	
	
      end

      operation 545686 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      attribute 291094 "avg_brightness"
	private explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

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

      attribute 291222 "lastUpdatePeriod"
	private explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 197910 "LEDPart"
      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 ""
      
      operation 545814 "LEDPart"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 3
	  param inout name "pParent" type class_ref 155414 // Component
	  param in name "strPNode" explicit_type "QString"
	  param in name "strNNode" explicit_type "QString"
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, const ${t1} & ${p1}${v1}, const ${t2} & ${p2}${v2}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}${)}${throw}{
${body}}
"
	
	
	
	
      end

      operation 545942 "~LEDPart"
	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 546070 "setDiodeSettings"
	preserve_cpp_body_indent public explicit_return_type "void"
	nparams 1
	  param in name "ds" type class_ref 198038 // DiodeSettings
	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 546198 "setColor"
	preserve_cpp_body_indent public explicit_return_type "void"
	nparams 1
	  param in name "color" explicit_type "QColor"
	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 546326 "step"
	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}}
"
	
	
	
	
      end

      operation 546454 "draw"
	preserve_cpp_body_indent public explicit_return_type "void"
	nparams 5
	  param inout name "p" explicit_type "QPainter"
	  param in name "x" explicit_type "int"
	  param in name "y" explicit_type "int"
	  param in name "w" explicit_type "int"
	  param in name "h" explicit_type "int"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} & ${p0}${v0}, ${t1} ${p1}${v1}, ${t2} ${p2}${v2}, ${t3} ${p3}${v3}, ${t4} ${p4}${v4}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} & ${p0}, ${t1} ${p1}, ${t2} ${p2}, ${t3} ${p3}, ${t4} ${p4}${)}${const}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      classrelation 237462 // m_pParent (<unidirectional association>)
	relation 237462 --->
	  a role_name "m_pParent" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 237462 // m_pParent (<unidirectional association>)
	  b parent class_ref 155414 // Component
      end

      classrelation 237590 // m_pDiode (<unidirectional association>)
	relation 237590 --->
	  a role_name "m_pDiode" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 237590 // m_pDiode (<unidirectional association>)
	  b parent class_ref 186902 // Diode
      end

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

      attribute 291350 "lastUpdatePeriod"
	private explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 291478 "avg_brightness"
	private explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

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

    class 198166 "LEDBarGraphDisplay"
      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 237974 // <generalisation>
	relation 237974 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 237974 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 546582 "LEDBarGraphDisplay"
	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"
	    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 : \"bar_graph_display\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 546710 "~LEDBarGraphDisplay"
	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 546838 "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 546966 "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 547094 "initPins"
	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

      operation 547222 "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

      operation 547350 "stepNonLogic"
	preserve_cpp_body_indent cpp_virtual 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

      operation 547478 "doesStepNonLogic"
	const cpp_virtual cpp_inline private explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return true; };
"
	
	
	
	
      end

      operation 547606 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      classrelation 238102 // m_LEDParts (<unidirectional association>)
	relation 238102 --->
	  a role_name "m_LEDParts" multiplicity "[max_LED_rows]" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${multiplicity}${value};
"
	    classrelation_ref 238102 // m_LEDParts (<unidirectional association>)
	  b parent class_ref 197910 // LEDPart
      end

      attribute 291606 "m_numRows"
	private explicit_type "uint"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 198294 "MagnitudeComparator"
      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 Fredy Yanardi
 "
      classrelation 238230 // <generalisation>
	relation 238230 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 238230 // <generalisation>
	  b parent class_ref 192790 // CallbackClass
      end

      classrelation 238358 // <generalisation>
	relation 238358 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 238358 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 547734 "MagnitudeComparator"
	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 : \"magnitudecomparator\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 547862 "~MagnitudeComparator"
	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 547990 "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 548118 "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 548246 "initPins"
	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 548374 "dataChanged"
	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 548502 "inStateChanged"
	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

      attribute 291734 "m_oldABLogicCount"
	protected explicit_type "int"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 291862 "cascadingInputs"
	protected explicit_type "int"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 291990 "outputs"
	protected explicit_type "int"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 292118 "firstTime"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 292246 "m_data"
	protected explicit_type "QBitArray"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      classrelation 238486 // m_aLogic (<directional composition>)
	relation 238486 *-->
	  stereotype "QPtrVector"
	  a role_name "m_aLogic" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
"
	    classrelation_ref 238486 // m_aLogic (<directional composition>)
	  b parent class_ref 179990 // LogicIn
      end

      classrelation 238614 // m_bLogic (<directional composition>)
	relation 238614 *-->
	  stereotype "QPtrVector"
	  a role_name "m_bLogic" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
"
	    classrelation_ref 238614 // m_bLogic (<directional composition>)
	  b parent class_ref 179990 // LogicIn
      end

      classrelation 238742 // m_cLogic (<directional composition>)
	relation 238742 *-->
	  stereotype "QPtrVector"
	  a role_name "m_cLogic" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
"
	    classrelation_ref 238742 // m_cLogic (<directional composition>)
	  b parent class_ref 179990 // LogicIn
      end

      classrelation 238870 // m_output (<directional composition>)
	relation 238870 *-->
	  stereotype "QPtrVector"
	  a role_name "m_output" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
"
	    classrelation_ref 238870 // m_output (<directional composition>)
	  b parent class_ref 180630 // LogicOut
      end
    end

    class 198422 "MatrixDisplay"
      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 238998 // <generalisation>
	relation 238998 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 238998 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 548630 "MatrixDisplay"
	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 : \"matrix_display\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 548758 "~MatrixDisplay"
	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 548886 "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 549014 "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 549142 "stepNonLogic"
	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

      operation 549270 "doesStepNonLogic"
	const cpp_virtual cpp_inline public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return true; };
"
	
	
	
	
      end

      operation 549398 "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}}
"
	
	
	
	
      end

      operation 549526 "dataChanged"
	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 549654 "initPins"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 2
	  param in name "numRows" explicit_type "uint"
	  param in name "numCols" explicit_type "uint"
	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}}
"
	
	
	
	
      end

      operation 549782 "colPinID"
	preserve_cpp_body_indent const protected explicit_return_type "QString"
	nparams 1
	  param in name "col" explicit_type "int"
	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 549910 "rowPinID"
	preserve_cpp_body_indent const protected explicit_return_type "QString"
	nparams 1
	  param in name "row" explicit_type "int"
	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

      attribute 292374 "m_avgBrightness"
	protected explicit_type " QValueVector<double> "
	stereotype "QValueVector"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 292502 "m_lastBrightness"
	protected explicit_type " QValueVector<unsigned> "
	stereotype "QValueVector"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 292630 "m_pDiodes"
	protected explicit_type " QValueVector<Diode*> "
	stereotype "QValueVector"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      classrelation 239126 // m_pRowNodes (<unidirectional association>)
	relation 239126 --->
	  a role_name "m_pRowNodes" multiplicity "[max_md_height]" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${multiplicity}${value};
"
	    classrelation_ref 239126 // m_pRowNodes (<unidirectional association>)
	  b parent class_ref 155670 // ECNode
      end

      classrelation 239254 // m_pColNodes (<unidirectional association>)
	relation 239254 --->
	  a role_name "m_pColNodes" multiplicity "[max_md_width]" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${multiplicity}${value};
"
	    classrelation_ref 239254 // m_pColNodes (<unidirectional association>)
	  b parent class_ref 155670 // ECNode
      end

      attribute 292758 "m_lastUpdatePeriod"
	protected explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 292886 "m_bRowCathode"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 293014 "m_numRows"
	protected explicit_type "uint"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 293142 "m_numCols"
	protected explicit_type "uint"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 198550 "MatrixDisplayDriver"
      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 239382 // <generalisation>
	relation 239382 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 239382 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 550038 "MatrixDisplayDriver"
	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 : \"Matrix Display Driver\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 550166 "~MatrixDisplayDriver"
	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 550294 "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 550422 "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 550550 "stepNonLogic"
	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

      operation 550678 "doesStepNonLogic"
	const cpp_virtual cpp_inline public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return true; };
"
	
	
	
	
      end

      classrelation 239510 // m_pValueLogic (<unidirectional association>)
	relation 239510 --->
	  stereotype "QValueVector"
	  a role_name "m_pValueLogic" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}*> ${name}${value};
"
	    classrelation_ref 239510 // m_pValueLogic (<unidirectional association>)
	  b parent class_ref 179990 // LogicIn
      end

      classrelation 239638 // m_pRowLogic (<unidirectional association>)
	relation 239638 --->
	  stereotype "QValueVector"
	  a role_name "m_pRowLogic" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}*> ${name}${value};
"
	    classrelation_ref 239638 // m_pRowLogic (<unidirectional association>)
	  b parent class_ref 180630 // LogicOut
      end

      classrelation 239766 // m_pColLogic (<unidirectional association>)
	relation 239766 --->
	  stereotype "QValueVector"
	  a role_name "m_pColLogic" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}*> ${name}${value};
"
	    classrelation_ref 239766 // m_pColLogic (<unidirectional association>)
	  b parent class_ref 180630 // LogicOut
      end

      attribute 293270 "m_prevCol"
	protected explicit_type "uint"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 293398 "m_nextCol"
	protected explicit_type "uint"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 293526 "m_scanCount"
	protected explicit_type "uint"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 198678 "Meter"
      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 "*
@author David Saxton
"
      classrelation 239894 // <generalisation>
	relation 239894 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 239894 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 550806 "Meter"
	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 "//BEGIN class Meter

${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: Component( icnDocument, newItem, id )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 550934 "~Meter"
	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 551062 "stepNonLogic"
	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

      operation 551190 "doesStepNonLogic"
	const cpp_virtual cpp_inline public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return true; };
"
	
	
	
	
      end

      operation 551318 "drawShape"
	preserve_cpp_body_indent cpp_virtual public 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}}
"
	
	
	
	
      end

      operation 551446 "contentChanged"
	preserve_cpp_body_indent const cpp_virtual 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 551574 "displayText"
	preserve_cpp_body_indent protected explicit_return_type "QString"
	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 551702 "dataChanged"
	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 551830 "meterValue"
	abstract cpp_virtual protected explicit_return_type "double"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
	
	
	
	
	comment "*
	 * Return the value / current, or whatever the meter is measuring
	 "
      end

      operation 551958 "calcProp"
	preserve_cpp_body_indent const protected explicit_return_type "double"
	nparams 1
	  param in name "v" explicit_type "double"
	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

      attribute 293654 "b_firstRun"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
	comment " If true, then update the text dispalyed"
      end

      attribute 293782 "b_timerStarted"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
	comment " The timer to change the text is started on change"
      end

      attribute 293910 "m_timeSinceUpdate"
	protected explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 294038 "m_avgValue"
	protected explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 294166 "m_old_value"
	protected explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 294294 "m_minValue"
	protected explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 294422 "m_maxValue"
	protected explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

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

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

      attribute 294678 "m_prevProp"
	protected explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
	comment " Used in contentChanged()"
      end
    end

    class 198806 "FrequencyMeter"
      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 Measures the frequency at a point in the circuit
@author David Saxton
"
      classrelation 240150 // <generalisation>
	relation 240150 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 240150 // <generalisation>
	  b parent class_ref 198678 // Meter
      end

      operation 552086 "FrequencyMeter"
	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}${)}
	: Meter( icnDocument, newItem, id ? id : \"frequencymeter\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 552214 "~FrequencyMeter"
	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 552342 "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 Meter
//BEGIN class FrequencyMeter

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

      operation 552470 "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 552598 "meterValue"
	preserve_cpp_body_indent cpp_virtual protected explicit_return_type "double"
	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 240278 // m_probeNode (<unidirectional association>)
	relation 240278 --->
	  a role_name "m_probeNode" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 240278 // m_probeNode (<unidirectional association>)
	  b parent class_ref 155670 // ECNode
      end
    end

    class 198934 "ECAmmeter"
      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 Simple resistor
@author David Saxton
"
      classrelation 240406 // <generalisation>
	relation 240406 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 240406 // <generalisation>
	  b parent class_ref 198678 // Meter
      end

      operation 552726 "ECAmmeter"
	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}${)}
	: Meter( icnDocument, newItem, id ? id : \"ammeter\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 552854 "~ECAmmeter"
	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 552982 "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 FrequencyMeter
//BEGIN class ECAmmeter

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

      operation 553110 "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 553238 "meterValue"
	preserve_cpp_body_indent cpp_virtual protected explicit_return_type "double"
	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 240534 // m_voltageSource (<unidirectional association>)
	relation 240534 --->
	  a role_name "m_voltageSource" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 240534 // m_voltageSource (<unidirectional association>)
	  b parent class_ref 188182 // VoltageSource
      end
    end

    class 199062 "ECVoltMeter"
      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 Displays voltage across terminals
@author David Saxton
"
      classrelation 240662 // <generalisation>
	relation 240662 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 240662 // <generalisation>
	  b parent class_ref 198678 // Meter
      end

      operation 553366 "ECVoltMeter"
	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}${)}
	: Meter( icnDocument, newItem, id ? id : \"voltmeter\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 553494 "~ECVoltMeter"
	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 553622 "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 ECAmmeter
//BEGIN class ECVoltmeter

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

      operation 553750 "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 553878 "meterValue"
	preserve_cpp_body_indent cpp_virtual protected explicit_return_type "double"
	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 199190 "MultiInputGate"
      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 "*
@author David Saxton
"
      classrelation 240790 // <generalisation>
	relation 240790 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 240790 // <generalisation>
	  b parent class_ref 192790 // CallbackClass
      end

      classrelation 240918 // <generalisation>
	relation 240918 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 240918 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 554006 "MultiInputGate"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 7
	  param inout name "icnDocument" type class_ref 151958 // ICNDocument
	  param in name "newItem" explicit_type "bool"
	  param in name "id" explicit_type "char"
	  param in name "rectangularShapeText" explicit_type "QString"
	  param in name "invertedOutput" explicit_type "bool"
	  param in name "baseWidth" explicit_type "int"
	  param in name "likeOR" explicit_type "bool"
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}, const ${t2} * ${p2}${v2}, const ${t3} & ${p3}${v3}, ${t4} ${p4}${v4}, ${t5} ${p5}${v5}, ${t6} ${p6}${v6}${)}${volatile}${throw};
"
	cpp_def "//BEGIN class MultiInputGate

${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}, const ${t3} & ${p3}, ${t4} ${p4}, ${t5} ${p5}, ${t6} ${p6}${)}
	: Component( icnDocument, newItem, id )
${throw}{
${body}}
"
	
	
	
	
	comment "*
		 * @param rectangularShapeText is the text displayed in the logic symbol
		 * when drawing in rectangular mode, e.g. \"&\" for AND and \"=1\" for XOR.
		 * @param invertedOutput true for NAND, NOR, XNOR; false for AND, OR, XOR
		 * @param baseWidth is the width of the logic gate when drawing in
		 * distinctive mode.
		 * @param likeOR true for OR, NOR, XOR, XNOR (specifically, this value
		 * used in computer the length of input pins, as OR types have a curvy
		 * base when the shape is distinctive).
		 "
      end

      operation 554134 "~MultiInputGate"
	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

      class 199318 "LogicSymbolShape"
	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 294806 "Distinctive"
	  public type class_ref 199318 // LogicSymbolShape
	  cpp_decl "  ${name}${value},${comment}"
	  java_decl ""
	  php_decl ""
	  python_decl ""
	  idl_decl ""
	end

	attribute 294934 "Rectangular"
	  public type class_ref 199318 // LogicSymbolShape
	  cpp_decl "  ${name}${value},${comment}"
	  java_decl ""
	  php_decl ""
	  python_decl ""
	  idl_decl ""
	end
      end

      operation 554262 "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 554390 "slotUpdateConfiguration"
	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 554518 "inStateChanged"
	abstract cpp_virtual protected explicit_return_type "void"
	nparams 1
	  param in name "newState" explicit_type "bool"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	
	
	
	
      end

      operation 554646 "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 "*
		 * This will draw the shape if the logic symbol is currently
		 * rectangular. Distinctive shapes should be drawn in the respective
		 * subclasses.
		 "
      end

      operation 554774 "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 554902 "updateInputs"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "newNum" explicit_type "int"
	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 555030 "logicSymbolShapeToWidth"
	preserve_cpp_body_indent const protected explicit_return_type "int"
	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 "*
		 * @return what the width should be according to the current logic
		 * symbol shape.
		 "
      end

      operation 555158 "updateSymbolText"
	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 "*
		 * Updates the display text for the logic symbol depending on its shape.
		 "
      end

      attribute 295062 "m_numInputs"
	protected explicit_type "int"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 295190 "m_distinctiveWidth"
	protected explicit_type "int"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      classrelation 241046 // inLogic (<unidirectional association>)
	relation 241046 --->
	  a role_name "inLogic" multiplicity "[maxGateInput]" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${multiplicity}${value};
"
	    classrelation_ref 241046 // inLogic (<unidirectional association>)
	  b parent class_ref 179990 // LogicIn
      end

      classrelation 241174 // inNode (<unidirectional association>)
	relation 241174 --->
	  a role_name "inNode" multiplicity "[maxGateInput]" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${multiplicity}${value};
"
	    classrelation_ref 241174 // inNode (<unidirectional association>)
	  b parent class_ref 155670 // ECNode
      end

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

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

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

      attribute 295446 "m_bInvertedOutput"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 295574 "m_bLikeOR"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      operation 555286 "updateLogicSymbolShape"
	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}}
"
	
	
	
	
	comment "*
		 * Reads the logic symbol shape from KTLConfig.
		 "
      end

      attribute 295702 "m_bDoneInit"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 199446 "ECXnor"
      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 Boolean XNOR
@author David Saxton
"
      classrelation 241558 // <generalisation>
	relation 241558 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 241558 // <generalisation>
	  b parent class_ref 199190 // MultiInputGate
      end

      operation 555414 "ECXnor"
	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}${)}
	: MultiInputGate( icnDocument, newItem, id ? id : \"xnor\", \"=1\", true, 48, true )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 555542 "~ECXnor"
	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 555670 "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 MultiInputGate
//BEGIN class ECXNor

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

      operation 555798 "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 555926 "inStateChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "" explicit_type "bool"
	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 556054 "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}}
"
	
	
	
	
      end
    end

    class 199574 "ECXor"
      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 Boolean XOR
@author David Saxton
"
      classrelation 241686 // <generalisation>
	relation 241686 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 241686 // <generalisation>
	  b parent class_ref 199190 // MultiInputGate
      end

      operation 556182 "ECXor"
	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}${)}
	: MultiInputGate( icnDocument, newItem, id ? id : \"xor\", \"=1\", false, 48, true )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 556310 "~ECXor"
	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 556438 "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 ECXnor
//BEGIN class ECXor

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

      operation 556566 "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 556694 "inStateChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "" explicit_type "bool"
	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 556822 "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}}
"
	
	
	
	
      end
    end

    class 199702 "ECOr"
      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 Boolean OR
@author David Saxton
"
      classrelation 241814 // <generalisation>
	relation 241814 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 241814 // <generalisation>
	  b parent class_ref 199190 // MultiInputGate
      end

      operation 556950 "ECOr"
	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}${)}
	: MultiInputGate( icnDocument, newItem, id ? id : \"or\", QChar(0x2265) + QString(\"1\"), false, 48, true )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 557078 "~ECOr"
	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 557206 "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 ECXor
//BEGIN class ECOr

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

      operation 557334 "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 557462 "inStateChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "" explicit_type "bool"
	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 557590 "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}}
"
	
	
	
	
      end
    end

    class 199830 "ECNor"
      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 Boolean NOR
@author David Saxton
"
      classrelation 241942 // <generalisation>
	relation 241942 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 241942 // <generalisation>
	  b parent class_ref 199190 // MultiInputGate
      end

      operation 557718 "ECNor"
	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}${)}
	: MultiInputGate( icnDocument, newItem, id ? id : \"nor\", QChar(0x2265) + QString(\"1\"), true, 48, true )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 557846 "~ECNor"
	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 557974 "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 ECOr
//BEGIN class ECNor

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

      operation 558102 "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 558230 "inStateChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "" explicit_type "bool"
	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 558358 "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}}
"
	
	
	
	
      end
    end

    class 199958 "ECNand"
      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 Boolean NAND
@author David Saxton
"
      classrelation 242070 // <generalisation>
	relation 242070 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 242070 // <generalisation>
	  b parent class_ref 199190 // MultiInputGate
      end

      operation 558486 "ECNand"
	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}${)}
	: MultiInputGate( icnDocument, newItem, id ? id : \"nand\", \"&\", true, 32, false )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 558614 "~ECNand"
	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 558742 "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 ECNor
//BEGIN class ECNand

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

      operation 558870 "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 558998 "inStateChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "" explicit_type "bool"
	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 559126 "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}}
"
	
	
	
	
      end
    end

    class 200086 "ECAnd"
      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 Boolean AND
@author David Saxton
"
      classrelation 242198 // <generalisation>
	relation 242198 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 242198 // <generalisation>
	  b parent class_ref 199190 // MultiInputGate
      end

      operation 559254 "ECAnd"
	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}${)}
	: MultiInputGate( icnDocument, newItem, id ? id : \"and\", \"&\", false, 32, false )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 559382 "~ECAnd"
	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 559510 "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 ECNand
//BEGIN class ECAnd

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

      operation 559638 "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 559766 "inStateChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "" explicit_type "bool"
	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 559894 "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}}
"
	
	
	
	
      end
    end

    class 200214 "Multiplexer"
      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 242326 // <generalisation>
	relation 242326 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 242326 // <generalisation>
	  b parent class_ref 192790 // CallbackClass
      end

      classrelation 242454 // <generalisation>
	relation 242454 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 242454 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 560022 "Multiplexer"
	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 : \"multiplexer\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 560150 "~Multiplexer"
	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 560278 "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 560406 "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 560534 "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 560662 "initPins"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "newAddressSize" explicit_type "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 "*
	 * Add / remove pins according to the number of inputs the user has requested
	 "
      end

      operation 560790 "inStateChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "" explicit_type "bool"
	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

      classrelation 242582 // m_aLogic (<directional composition>)
	relation 242582 *-->
	  stereotype "QPtrVector"
	  a role_name "m_aLogic" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
"
	    classrelation_ref 242582 // m_aLogic (<directional composition>)
	  b parent class_ref 179990 // LogicIn
      end

      classrelation 242710 // m_xLogic (<directional composition>)
	relation 242710 *-->
	  stereotype "QPtrVector"
	  a role_name "m_xLogic" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
"
	    classrelation_ref 242710 // m_xLogic (<directional composition>)
	  b parent class_ref 179990 // LogicIn
      end

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

    class 200342 "ParallelPortComponent"
      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 242966 // <generalisation>
	relation 242966 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 242966 // <generalisation>
	  b parent class_ref 192790 // CallbackClass
      end

      classrelation 243094 // <generalisation>
	relation 243094 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 243094 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 560918 "ParallelPortComponent"
	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 : \"parallel_port\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 561046 "~ParallelPortComponent"
	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 561174 "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 561302 "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 561430 "stepNonLogic"
	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

      operation 561558 "doesStepNonLogic"
	const cpp_virtual cpp_inline public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return true; };
"
	
	
	
	
      end

      operation 561686 "initPort"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "port" 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 561814 "dataChanged"
	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 561942 "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}}
"
	
	
	
	
      end

      operation 562070 "dataCallback"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "" explicit_type "bool"
	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 562198 "controlCallback"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "" explicit_type "bool"
	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

      classrelation 243222 // m_pLogic (<unidirectional association>)
	relation 243222 --->
	  a role_name "m_pLogic" multiplicity "[24]" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${multiplicity}${value};
"
	    classrelation_ref 243222 // m_pLogic (<unidirectional association>)
	  b parent class_ref 180630 // LogicOut
      end

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

    class 200470 "PICComponentPin"
      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 Controls a pin on the PIC component
@author David Saxton
 "
      classrelation 243990 // <generalisation>
	relation 243990 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 243990 // <generalisation>
	  b parent class_ref 192790 // CallbackClass
      end

      classrelation 244118 // <generalisation>
	relation 244118 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 244118 // <generalisation>
	  b parent class_ref 200854 // typedef26
      end

      operation 564502 "PICComponentPin"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 2
	  param inout name "picComponent" type class_ref 200726 // PICComponent
	  param in name "picPin" type class_ref 200982 // PicPin
	cpp_decl "    ${comment}${inline}${name}${(}${t0} * ${p0}${v0}, ${t1} ${p1}${v1}${)}${volatile}${throw};
"
	cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}${)}
	: m_id( picPin.pinID )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 564630 "~PICComponentPin"
	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 564758 "attach"
	preserve_cpp_body_indent public explicit_return_type "void"
	nparams 1
	  param inout name "iopin" explicit_type "IOPIN"
	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 "*
		 * Attach this to gpsim
		 "
      end

      operation 564886 "set_nodeVoltage"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 1
	  param in name "v" explicit_type "double"
	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 "*
		 * Called when the IOPIN this class is associated with changes state.
		 * Updates the associated LogicOut / LogicIn / etc according to what
		 * type of pin this is.
		 "
      end

      operation 565014 "logicCallback"
	preserve_cpp_body_indent public explicit_return_type "void"
	nparams 1
	  param in name "state" explicit_type "bool"
	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 "*
		 * Called from our logic pin when the logic changes state.
		 "
      end

      operation 565142 "resetOutput"
	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 "*
		 * Sets the output (if has one) to low. Called when the user stops the
		 * PIC.
		 "
      end

      operation 565270 "get_Vth"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "double"
	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

      attribute 296470 "m_gOutHigh"
	protected explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 296598 "m_gOutLow"
	protected explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

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

      attribute 296726 "m_pIOPIN"
	protected explicit_type "IOPIN"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

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

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

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

      attribute 296854 "m_pStimulusNode"
	protected explicit_type "Stimulus_Node"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

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

    class 200598 "PICComponentPinMap"
      visibility package stereotype "typedef" base_type class_ref 200470 // PICComponentPin
      cpp_decl "${comment}typedef QMap<int,${type}*> ${name};
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 243478 // <dependency>
	relation 243478 -_->
	  a default
	    cpp default "#include in source"
	    classrelation_ref 243478 // <dependency>
	  b parent class_ref 200470 // PICComponentPin
      end
    end

    class 200726 "PICComponent"
      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 Electronic PIC device
@author David Saxton
"
      classrelation 243606 // <generalisation>
	relation 243606 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 243606 // <generalisation>
	  b parent class_ref 155414 // Component
      end

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

      operation 562326 "PICComponent"
	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\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 562454 "~PICComponent"
	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 562582 "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 562710 "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 562838 "buttonStateChanged"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "id" explicit_type "QString"
	  param in name "state" explicit_type "bool"
	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 562966 "mouseDoubleClickEvent"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 1
	  param in name "eventInfo" type class_ref 151318 // EventInfo
	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 563094 "programReload"
	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}}
"
	
	
	
	
      end

      operation 563222 "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}}
"
	
	
	
	
	comment "*
		 * Sets up the pins, text, etc for the given PIC type. If info is null,
		 * then a generic rectangle is displayed (used when no file has been
		 * loaded yet).
		 "
      end

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

      operation 563350 "slotUpdateFileList"
	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}}
"
	
	
	
	
      end

      operation 563478 "slotUpdateBtns"
	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}}
"
	
	
	
	
      end

      extra_member 158358 "slots"
	
	cpp "  protected slots:" ""
	java ""
	php ""
	python ""
	idl ""
      end

      operation 563606 "slotCODCreationSucceeded"
	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 563734 "slotCODCreationFailed"
	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 563862 "attachPICComponentPins"
	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 "*
		 * Attaches all PICComponentPins to the current instance of gpsim.
		 "
      end

      operation 563990 "deletePICComponentPins"
	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 564118 "createSymbolFile"
	preserve_cpp_body_indent protected explicit_return_type "QString"
	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 "*
		 * Attempts to compile the program to a symbol file, and connects the assembly
		 * finish signal to loadGpsim
		 "
      end

      operation 564246 "dataChanged"
	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 564374 "initPIC"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "forceReload" explicit_type "bool"
	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 "*
		 * Initializes the PIC from the options the user has selected.
		 "
      end

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

      attribute 295830 "m_picFile"
	protected explicit_type "QString"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
	comment "/< The input program that the user selected"
      end

      attribute 295958 "m_symbolFile"
	protected explicit_type "QString"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
	comment "/< The symbol file that was generated from m_picFile"
      end

      attribute 296086 "m_bLoadingProgram"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
	comment "/< True between createSymbolFile being called and the file being created"
      end

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

      attribute 296214 "m_bCreatedInitialPackage"
	protected explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
	comment "/< Set true once the initial package is loaded; until then, will load a package from the lastPackage data"
      end

      attribute 296342 "_def_PICComponent_fileName"
	class_attribute protected explicit_type "QString"
	init_value "= QString::null"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 200854 "typedef26"
      visibility package stereotype "typedef" explicit_base_type "stimulus"
      cpp_decl "${comment}typedef ${type} ${name};
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
    end

    class 201110 "Probe"
      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 244758 // <generalisation>
	relation 244758 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 244758 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 565398 "Probe"
	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 "//BEGIN class Probe

${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: Component( icnDocument, newItem, id )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 565526 "~Probe"
	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 565654 "dataChanged"
	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

      classrelation 244886 // p_probeData (<unidirectional association>)
	relation 244886 --->
	  a role_name "p_probeData" protected
	    comment " As obtained via registering with the oscilloscope"
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 244886 // p_probeData (<unidirectional association>)
	  b parent class_ref 176150 // ProbeData
      end

      attribute 297110 "m_color"
	protected explicit_type "QColor"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 201238 "FloatingProbe"
      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 245014 // <generalisation>
	relation 245014 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 245014 // <generalisation>
	  b parent class_ref 201110 // Probe
      end

      operation 565782 "FloatingProbe"
	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 "//END class Probe
//BEGIN class FloatingProbe

${comment}${inline}${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, const ${t2} * ${p2}${)}
	: Probe( icnDocument, newItem, id )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 565910 "~FloatingProbe"
	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 566038 "doesStepNonLogic"
	const cpp_virtual cpp_inline public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return true; };
"
	
	
	
	
      end

      operation 566166 "dataChanged"
	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 566294 "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}}
"
	
	
	
	
      end

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

    class 201366 "VoltageProbe"
      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 245270 // <generalisation>
	relation 245270 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 245270 // <generalisation>
	  b parent class_ref 201238 // FloatingProbe
      end

      operation 566422 "VoltageProbe"
	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}${)}
	: FloatingProbe( icnDocument, newItem, id ? id : \"voltageprobe\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 566550 "~VoltageProbe"
	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 566678 "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 FloatingProbe
//BEGIN class VoltageProbe

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

      operation 566806 "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 566934 "stepNonLogic"
	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 245398 // m_pPin1 (<unidirectional association>)
	relation 245398 --->
	  a role_name "m_pPin1" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 245398 // m_pPin1 (<unidirectional association>)
	  b parent class_ref 156822 // Pin
      end

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

    class 201494 "CurrentProbe"
      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 245654 // <generalisation>
	relation 245654 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 245654 // <generalisation>
	  b parent class_ref 201238 // FloatingProbe
      end

      operation 567062 "CurrentProbe"
	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}${)}
	: FloatingProbe( icnDocument, newItem, id ? id : \"currentprobe\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 567190 "~CurrentProbe"
	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 567318 "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 VoltageProbe
//BEGIN class CurrentProbe

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

      operation 567446 "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 567574 "stepNonLogic"
	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 245782 // m_voltageSource (<unidirectional association>)
	relation 245782 --->
	  a role_name "m_voltageSource" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 245782 // m_voltageSource (<unidirectional association>)
	  b parent class_ref 188182 // VoltageSource
      end
    end

    class 201622 "LogicProbe"
      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 245910 // <generalisation>
	relation 245910 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 245910 // <generalisation>
	  b parent class_ref 192790 // CallbackClass
      end

      classrelation 246038 // <generalisation>
	relation 246038 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 246038 // <generalisation>
	  b parent class_ref 201110 // Probe
      end

      operation 567702 "LogicProbe"
	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}${)}
	: Probe( icnDocument, newItem, id ? id : \"probe\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 567830 "~LogicProbe"
	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 567958 "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 CurrentProbe
//BEGIN class LogicProbe

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

      operation 568086 "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 568214 "logicCallback"
	preserve_cpp_body_indent public explicit_return_type "void"
	nparams 1
	  param in name "value" explicit_type "bool"
	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 568342 "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}}
"
	
	
	
	
      end

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

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

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

    class 201750 "ECPTBSwitch"
      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 Push-to-Break switch component
@author David Saxton
"
      classrelation 246550 // <generalisation>
	relation 246550 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 246550 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 568470 "ECPTBSwitch"
	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 : \"ptb_switch\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 568598 "~ECPTBSwitch"
	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 568726 "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 "//BEGIN class ECPTBSwitch

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

      operation 568854 "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 568982 "buttonStateChanged"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "id" explicit_type "QString"
	  param in name "state" explicit_type "bool"
	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 569110 "dataChanged"
	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

      operation 569238 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      classrelation 246678 // m_switch (<unidirectional association>)
	relation 246678 --->
	  a role_name "m_switch" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 246678 // m_switch (<unidirectional association>)
	  b parent class_ref 156310 // Switch
      end

      attribute 297238 "pressed"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 201878 "ECPTMSwitch"
      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 Push-to-make switch
@author David Saxton
"
      classrelation 246806 // <generalisation>
	relation 246806 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 246806 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 569366 "ECPTMSwitch"
	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 : \"ptm_switch\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 569494 "~ECPTMSwitch"
	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 569622 "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 ECPTBSwitch
//BEGIN class ECPTMSwitch

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

      operation 569750 "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 569878 "buttonStateChanged"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "id" explicit_type "QString"
	  param in name "state" explicit_type "bool"
	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 570006 "dataChanged"
	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

      operation 570134 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      classrelation 246934 // m_switch (<unidirectional association>)
	relation 246934 --->
	  a role_name "m_switch" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 246934 // m_switch (<unidirectional association>)
	  b parent class_ref 156310 // Switch
      end

      attribute 297366 "pressed"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 202006 "RAM"
      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 247062 // <generalisation>
	relation 247062 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 247062 // <generalisation>
	  b parent class_ref 192790 // CallbackClass
      end

      classrelation 247190 // <generalisation>
	relation 247190 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 247190 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 570262 "RAM"
	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 : \"ram\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 570390 "~RAM"
	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 570518 "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 570646 "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 570774 "initPins"
	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 570902 "dataChanged"
	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 571030 "inStateChanged"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "newState" explicit_type "bool"
	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

      attribute 297494 "m_data"
	protected explicit_type "QBitArray"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      classrelation 247318 // m_pCS (<unidirectional association>)
	relation 247318 --->
	  a role_name "m_pCS" protected
	    comment " Chip select"
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 247318 // m_pCS (<unidirectional association>)
	  b parent class_ref 179990 // LogicIn
      end

      classrelation 247446 // m_pOE (<unidirectional association>)
	relation 247446 --->
	  a role_name "m_pOE" protected
	    comment " Output enable"
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 247446 // m_pOE (<unidirectional association>)
	  b parent class_ref 179990 // LogicIn
      end

      classrelation 247574 // m_pWE (<unidirectional association>)
	relation 247574 --->
	  a role_name "m_pWE" protected
	    comment " Write enable"
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 247574 // m_pWE (<unidirectional association>)
	  b parent class_ref 179990 // LogicIn
      end

      attribute 297622 "m_wordSize"
	protected explicit_type "int"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 297750 "m_addressSize"
	protected explicit_type "int"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      classrelation 247702 // m_address (<directional composition>)
	relation 247702 *-->
	  stereotype "QPtrVector"
	  a role_name "m_address" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
"
	    classrelation_ref 247702 // m_address (<directional composition>)
	  b parent class_ref 179990 // LogicIn
      end

      classrelation 247830 // m_dataIn (<directional composition>)
	relation 247830 *-->
	  stereotype "QPtrVector"
	  a role_name "m_dataIn" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
"
	    classrelation_ref 247830 // m_dataIn (<directional composition>)
	  b parent class_ref 179990 // LogicIn
      end

      classrelation 247958 // m_dataOut (<directional composition>)
	relation 247958 *-->
	  stereotype "QPtrVector"
	  a role_name "m_dataOut" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
"
	    classrelation_ref 247958 // m_dataOut (<directional composition>)
	  b parent class_ref 180630 // LogicOut
      end
    end

    class 202134 "Resistor"
      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 Simple resistor
@author David Saxton
"
      classrelation 248086 // <generalisation>
	relation 248086 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 248086 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 571158 "Resistor"
	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 : \"resistor\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 571286 "~Resistor"
	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 571414 "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 571542 "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 571670 "dataChanged"
	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 571798 "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}}
"
	
	
	
	
      end

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

    class 202262 "ResistorDIP"
      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 248342 // <generalisation>
	relation 248342 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 248342 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 571926 "ResistorDIP"
	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 : \"multiplexer\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 572054 "~ResistorDIP"
	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 572182 "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 572310 "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 572438 "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}}
"
	
	
	
	
      end

      operation 572566 "updateDIPNodePositions"
	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 572694 "dataChanged"
	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 572822 "initPins"
	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 "*
	 * Add / remove pins according to the number of inputs the user has requested
	 "
      end

      attribute 297878 "m_resistorCount"
	protected explicit_type "int"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      classrelation 248470 // m_resistance (<unidirectional association>)
	relation 248470 --->
	  a role_name "m_resistance" multiplicity "[maxCount]" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${multiplicity}${value};
"
	    classrelation_ref 248470 // m_resistance (<unidirectional association>)
	  b parent class_ref 187542 // Resistance
      end
    end

    class 202390 "SwitchPosition"
      visibility package stereotype "struct"
      cpp_decl "${comment}${template}struct ${name}${inherit} {
${members}};
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 248598 // node (<unidirectional association>)
	relation 248598 --->
	  a role_name "node" public
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 248598 // node (<unidirectional association>)
	  b parent class_ref 155670 // ECNode
      end

      classrelation 248726 // posSwitch (<unidirectional association>)
	relation 248726 --->
	  a role_name "posSwitch" public
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 248726 // posSwitch (<unidirectional association>)
	  b parent class_ref 156310 // Switch
      end

      attribute 298006 "isMomentary"
	public explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 298134 "pinAngle"
	public explicit_type "int"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 202518 "ECRotoSwitch"
      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 rotary switch
 * \\author John Myers 
 "
      classrelation 248854 // <generalisation>
	relation 248854 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 248854 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 572950 "ECRotoSwitch"
	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 : \"roto_switch\" ),
m_numPositions(0)
${throw}{
${body}}
"
	
	
	
	
      end

      operation 573078 "~ECRotoSwitch"
	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 573206 "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 "//BEGIN class ECRotoSwitch

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

      operation 573334 "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 573462 "buttonStateChanged"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "id" explicit_type "QString"
	  param in name "state" explicit_type "bool"
	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 573590 "dataChanged"
	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

      operation 573718 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      attribute 298262 "m_numPositions"
	private explicit_type "int"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 298390 "m_curPosition"
	private explicit_type "int"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 298518 "_pinOuterRadius"
	class_attribute const_attribute private explicit_type "int"
	init_value "=  64"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 298646 "_pinWidth"
	class_attribute const_attribute private explicit_type "int"
	init_value "=  8"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 298774 "_pinInnerRadius"
	class_attribute const_attribute private explicit_type "int"
	init_value "=  _pinOuterRadius - _pinWidth"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 298902 "_wireGap"
	class_attribute const_attribute private explicit_type "int"
	init_value "=  7"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 299030 "_contactOuterRadius"
	class_attribute const_attribute private explicit_type "int"
	init_value "=  _pinInnerRadius - _wireGap"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 299158 "_contactRadius"
	class_attribute const_attribute private explicit_type "int"
	init_value "=  2"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 299286 "_contactRingRadius"
	class_attribute const_attribute private explicit_type "int"
	init_value "=  _contactOuterRadius - _contactRadius"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${h_value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      classrelation 248982 // m_positions (<directional composition>)
	relation 248982 *-->
	  stereotype "QValueVector"
	  a role_name "m_positions" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
"
	    classrelation_ref 248982 // m_positions (<directional composition>)
	  b parent class_ref 202390 // SwitchPosition
      end

      classrelation 249110 // m_inNode (<unidirectional association>)
	relation 249110 --->
	  a role_name "m_inNode" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 249110 // m_inNode (<unidirectional association>)
	  b parent class_ref 155670 // ECNode
      end

      operation 573846 "setUpSwitches"
	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 "//!
//Set up the switches according to the button_map
//*
//

${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end

      operation 573974 "setActivePosition"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "newPosition" explicit_type "int"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
"
	cpp_def "//!
//* Set the current position to \\c newPosition updating the state of the switch.
//* \\c m_curPosition must reference a valid position to switch away from
//*
//* \\param newPosition the position to switch to
//

${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}{
  ${body}}
"
	
	
	
	
      end
    end

    class 202646 "SerialPortComponent"
      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 249238 // <generalisation>
	relation 249238 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 249238 // <generalisation>
	  b parent class_ref 192790 // CallbackClass
      end

      classrelation 249366 // <generalisation>
	relation 249366 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 249366 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 574102 "SerialPortComponent"
	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 : \"serial_port\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 574230 "~SerialPortComponent"
	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 574358 "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 574486 "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 574614 "stepNonLogic"
	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

      operation 574742 "doesStepNonLogic"
	const cpp_virtual cpp_inline public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return true; };
"
	
	
	
	
      end

      operation 574870 "initPort"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 2
	  param in name "port" explicit_type "QString"
	  param in name "baudRate" explicit_type "uint"
	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}}
"
	
	
	
	
	comment "*
		 * @param baudRate as defined in <bits/termios.h>
		 "
      end

      operation 574998 "dataChanged"
	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 575126 "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}}
"
	
	
	
	
      end

      operation 575254 "tdCallback"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "isHigh" explicit_type "bool"
	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 575382 "dtrCallback"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "isHigh" explicit_type "bool"
	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 575510 "dsrCallback"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "isHigh" explicit_type "bool"
	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 575638 "rtsCallback"
	preserve_cpp_body_indent protected explicit_return_type "void"
	nparams 1
	  param in name "isHigh" explicit_type "bool"
	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

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

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

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

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

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

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

    class 202774 "ECDPDT"
      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 Double Pole Double Throw
@author David Saxton
"
      classrelation 250262 // <generalisation>
	relation 250262 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 250262 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 575766 "ECDPDT"
	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 : \"dpdt_toggle\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 575894 "~ECDPDT"
	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 576022 "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 "//BEGIN class ECDPDT

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

      operation 576150 "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 576278 "buttonStateChanged"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "" explicit_type "QString"
	  param in name "state" explicit_type "bool"
	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 576406 "dataChanged"
	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

      operation 576534 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      classrelation 250390 // m_switch1 (<unidirectional association>)
	relation 250390 --->
	  a role_name "m_switch1" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 250390 // m_switch1 (<unidirectional association>)
	  b parent class_ref 156310 // Switch
      end

      classrelation 250518 // m_switch2 (<unidirectional association>)
	relation 250518 --->
	  a role_name "m_switch2" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 250518 // m_switch2 (<unidirectional association>)
	  b parent class_ref 156310 // Switch
      end

      classrelation 250646 // m_switch3 (<unidirectional association>)
	relation 250646 --->
	  a role_name "m_switch3" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 250646 // m_switch3 (<unidirectional association>)
	  b parent class_ref 156310 // Switch
      end

      classrelation 250774 // m_switch4 (<unidirectional association>)
	relation 250774 --->
	  a role_name "m_switch4" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 250774 // m_switch4 (<unidirectional association>)
	  b parent class_ref 156310 // Switch
      end

      attribute 299414 "pressed"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 202902 "ECDPST"
      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 Double Pole Single Throw
@author David Saxton
"
      classrelation 250902 // <generalisation>
	relation 250902 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 250902 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 576662 "ECDPST"
	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 : \"dpst_toggle\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 576790 "~ECDPST"
	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 576918 "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 ECDPDT
//BEGIN class ECDPST

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

      operation 577046 "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 577174 "buttonStateChanged"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "" explicit_type "QString"
	  param in name "state" explicit_type "bool"
	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 577302 "dataChanged"
	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

      operation 577430 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      classrelation 251030 // m_switch1 (<unidirectional association>)
	relation 251030 --->
	  a role_name "m_switch1" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 251030 // m_switch1 (<unidirectional association>)
	  b parent class_ref 156310 // Switch
      end

      classrelation 251158 // m_switch2 (<unidirectional association>)
	relation 251158 --->
	  a role_name "m_switch2" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 251158 // m_switch2 (<unidirectional association>)
	  b parent class_ref 156310 // Switch
      end

      attribute 299542 "pressed"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 203030 "ECSPDT"
      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 Single Pole Double Throw
@author David Saxton
"
      classrelation 251286 // <generalisation>
	relation 251286 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 251286 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 577558 "ECSPDT"
	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 : \"spdt_toggle\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 577686 "~ECSPDT"
	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 577814 "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 ECDPST
//BEGIN class ECSPDT

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

      operation 577942 "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 578070 "buttonStateChanged"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "" explicit_type "QString"
	  param in name "state" explicit_type "bool"
	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 578198 "dataChanged"
	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

      operation 578326 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      classrelation 251414 // m_switch1 (<unidirectional association>)
	relation 251414 --->
	  a role_name "m_switch1" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 251414 // m_switch1 (<unidirectional association>)
	  b parent class_ref 156310 // Switch
      end

      classrelation 251542 // m_switch2 (<unidirectional association>)
	relation 251542 --->
	  a role_name "m_switch2" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 251542 // m_switch2 (<unidirectional association>)
	  b parent class_ref 156310 // Switch
      end

      attribute 299670 "pressed"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 203158 "ECSPST"
      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 Single-Pole Single-Throw Switch
@author David Saxton
"
      classrelation 251670 // <generalisation>
	relation 251670 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 251670 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 578454 "ECSPST"
	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 : \"spst_toggle\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 578582 "~ECSPST"
	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 578710 "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 ECSPDT
//BEGIN class ECSPST

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

      operation 578838 "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 578966 "buttonStateChanged"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "" explicit_type "QString"
	  param in name "state" explicit_type "bool"
	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 579094 "dataChanged"
	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

      operation 579222 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      classrelation 251798 // m_switch (<unidirectional association>)
	relation 251798 --->
	  a role_name "m_switch" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 251798 // m_switch (<unidirectional association>)
	  b parent class_ref 156310 // Switch
      end

      attribute 299798 "pressed"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 203286 "VariableCapacitor"
      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 Variable Capacitor
@author William Hillerby
"
      classrelation 251926 // <generalisation>
	relation 251926 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 251926 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 579350 "VariableCapacitor"
	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"
	    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 : \"variable capacitor\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 579478 "~VariableCapacitor"
	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 579606 "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 579734 "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 579862 "sliderValueChanged"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "id" explicit_type "QString"
	  param in name "newValue" explicit_type "int"
	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 579990 "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

      operation 580118 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      classrelation 252054 // m_pCapacitance (<unidirectional association>)
	relation 252054 --->
	  a role_name "m_pCapacitance" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 252054 // m_pCapacitance (<unidirectional association>)
	  b parent class_ref 186262 // Capacitance
      end

      attribute 299926 "m_pSlider"
	private explicit_type "QSlider"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 300054 "m_minCapacitance"
	private explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 300182 "m_maxCapacitance"
	private explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 203414 "VariableResistor"
      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 William Hillerby
"
      classrelation 252182 // <generalisation>
	relation 252182 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 252182 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 580246 "VariableResistor"
	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"
	    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 : \"variable resistor\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 580374 "~VariableResistor"
	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 580502 "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 580630 "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 580758 "sliderValueChanged"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "id" explicit_type "QString"
	  param in name "newValue" explicit_type "int"
	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 580886 "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

      operation 581014 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end

      classrelation 252310 // m_pResistance (<unidirectional association>)
	relation 252310 --->
	  a role_name "m_pResistance" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 252310 // m_pResistance (<unidirectional association>)
	  b parent class_ref 187542 // Resistance
      end

      attribute 300310 "m_pSlider"
	private explicit_type "QSlider"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 300438 "m_minResistance"
	private explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 300566 "m_maxResistance"
	private explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 300694 "m_currResistance"
	private explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end

      attribute 300822 "m_tickValue"
	private explicit_type "double"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
      end
    end

    class 203542 "VoltageRegulator"
      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 252438 // <generalisation>
	relation 252438 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 252438 // <generalisation>
	  b parent class_ref 155414 // Component
      end

      operation 581142 "VoltageRegulator"
	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"
	    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 : \"voltageregulator\" )
${throw}{
${body}}
"
	
	
	
	
      end

      operation 581270 "~VoltageRegulator"
	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 581398 "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 581526 "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 581654 "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

      operation 581782 "drawShape"
	preserve_cpp_body_indent cpp_virtual private 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}}
"
	
	
	
	
      end
    end
  end

  deploymentview 130070 "components"
    //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 141718 "addac"
      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 192150 // ADDAC
	class_ref 192278 // ADC
	class_ref 192406 // DAC
      end
    end

    artifact 141846 "bidirled"
      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 192534 // BiDirLED
      end
    end

    artifact 141974 "binarycounter"
      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 192662 // BinaryCounter
      end
    end

    artifact 142102 "bussplitter"
      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 192918 // BusSplitter
      end
    end

    artifact 142230 "capacitor"
      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 193046 // Capacitor
      end
    end

    artifact 142358 "demultiplexer"
      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 193174 // Demultiplexer
      end
    end

    artifact 142486 "dependentsource"
      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 193302 // DependentSource
	class_ref 193430 // ECCCCS
	class_ref 193558 // ECCCVS
	class_ref 193686 // ECVCCS
	class_ref 193814 // ECVCVS
      end
    end

    artifact 142614 "discretelogic"
      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 193942 // Inverter
	class_ref 194070 // Buffer
	class_ref 194198 // ECLogicInput
	class_ref 194326 // ECLogicOutput
      end
    end

    artifact 142742 "ec555"
      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 194454 // EC555
      end
    end

    artifact 142870 "ecbcdto7segment"
      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 194582 // ECBCDTo7Segment
      end
    end

    artifact 142998 "ecbjt"
      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 194710 // ECBJT
      end
    end

    artifact 143126 "ecclockinput"
      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 194838 // ECClockInput
      end
    end

    artifact 143254 "eccurrentsignal"
      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 194966 // ECCurrentSignal
      end
    end

    artifact 143382 "eccurrentsource"
      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 195094 // ECCurrentSource
      end
    end

    artifact 143510 "ecdiode"
      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 195222 // ECDiode
      end
    end

    artifact 143638 "ecfixedvoltage"
      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 195350 // ECFixedVoltage
      end
    end

    artifact 143766 "ecground"
      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 195478 // ECGround
      end
    end

    artifact 143894 "ecjfet"
      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 195606 // ECJFET
      end
    end

    artifact 144022 "eckeypad"
      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 195734 // ECKeyPad
      end
    end

    artifact 144150 "ecmosfet"
      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 195862 // ECMOSFET
      end
    end

    artifact 144278 "ecopamp"
      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 195990 // ECOpAmp
      end
    end

    artifact 144406 "ecpotentiometer"
      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 196118 // ECPotentiometer
      end
    end

    artifact 144534 "ecsevensegment"
      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 196246 // ECSevenSegment
      end
    end

    artifact 144662 "ecsignallamp"
      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 196374 // ECSignalLamp
      end
    end

    artifact 144790 "ecsubcircuit"
      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 170902 // ECSubcircuit
      end
    end

    artifact 144918 "ecvoltagesignal"
      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 196502 // ECVoltageSignal
      end
    end

    artifact 145046 "ecvoltagesource"
      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 196630 // ECCell
      end
    end

    artifact 145174 "externalconnection"
      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 196758 // ExternalConnection
      end
    end

    artifact 145302 "flipflop"
      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 196886 // ClockedFlipFlop
	class_ref 197142 // ECDFlipFlop
	class_ref 197270 // ECJKFlipFlop
	class_ref 197398 // ECSRFlipFlop
      end
    end

    artifact 145430 "fulladder"
      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 197526 // FullAdder
      end
    end

    artifact 145558 "inductor"
      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 197654 // Inductor
      end
    end

    artifact 145686 "led"
      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 197782 // LED
      end
    end

    artifact 145814 "ledbargraphdisplay"
      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 197910 // LEDPart
	class_ref 198166 // LEDBarGraphDisplay
      end
    end

    artifact 145942 "magnitudecomparator"
      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 198294 // MagnitudeComparator
      end
    end

    artifact 146070 "matrixdisplay"
      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 198422 // MatrixDisplay
      end
    end

    artifact 146198 "matrixdisplaydriver"
      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 198550 // MatrixDisplayDriver
      end
    end

    artifact 146326 "meter"
      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 198678 // Meter
	class_ref 198806 // FrequencyMeter
	class_ref 198934 // ECAmmeter
	class_ref 199062 // ECVoltMeter
      end
    end

    artifact 146454 "multiinputgate"
      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 199190 // MultiInputGate
	class_ref 199446 // ECXnor
	class_ref 199574 // ECXor
	class_ref 199702 // ECOr
	class_ref 199830 // ECNor
	class_ref 199958 // ECNand
	class_ref 200086 // ECAnd
      end
    end

    artifact 146582 "multiplexer"
      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 200214 // Multiplexer
      end
    end

    artifact 146710 "parallelportcomponent"
      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 200342 // ParallelPortComponent
      end
    end

    artifact 146838 "piccomponent"
      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 200598 // PICComponentPinMap
	class_ref 200726 // PICComponent
      end
    end

    artifact 146966 "piccomponentpin"
      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 200854 // typedef26
	class_ref 200470 // PICComponentPin
      end
    end

    artifact 147094 "probe"
      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 201110 // Probe
	class_ref 201238 // FloatingProbe
	class_ref 201366 // VoltageProbe
	class_ref 201494 // CurrentProbe
	class_ref 201622 // LogicProbe
      end
    end

    artifact 147222 "pushswitch"
      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 201750 // ECPTBSwitch
	class_ref 201878 // ECPTMSwitch
      end
    end

    artifact 147350 "ram"
      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 202006 // RAM
      end
    end

    artifact 147478 "resistor"
      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 202134 // Resistor
      end
    end

    artifact 147606 "resistordip"
      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 202262 // ResistorDIP
      end
    end

    artifact 147734 "rotoswitch"
      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 202390 // SwitchPosition
	class_ref 202518 // ECRotoSwitch
      end
    end

    artifact 147862 "serialportcomponent"
      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 202646 // SerialPortComponent
      end
    end

    artifact 147990 "toggleswitch"
      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 202774 // ECDPDT
	class_ref 202902 // ECDPST
	class_ref 203030 // ECSPDT
	class_ref 203158 // ECSPST
      end
    end

    artifact 148118 "variablecapacitor"
      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 203286 // VariableCapacitor
      end
    end

    artifact 148246 "variableresistor"
      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 203414 // VariableResistor
      end
    end

    artifact 148374 "voltageregulator"
      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 203542 // VoltageRegulator
      end
    end
  end
end
