format 74
"ComponentModel" // default::Nette::ComponentModel
  revision 1
  modified_by 127 "neo"
  // class settings
  //class diagram settings
  draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context default show_members_multiplicity default show_members_initialization default show_attribute_modifiers 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_relation_modifiers default show_relation_visibility 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 show_class_context_mode default show_msg_context_mode 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 show_msg_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
  
  comment "This file is part of the Nette Framework (http://nette.org) 
Copyright (c) 2004 David Grudl (http://davidgrudl.com) 
For the full copyright and license information, please view the file license.txt that was distributed with this source code."
  classview 134527 "Class View"
    //class diagram settings
    draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context default show_members_multiplicity default show_members_initialization default show_attribute_modifiers 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_relation_modifiers default show_relation_visibility 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 show_msg_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 show_class_context_mode default show_msg_context_mode 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 167551 "Container"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "ComponentContainer is default implementation of IContainer."
      attribute 241663 "_components"
	private explicit_type "array"
	init_value "array()"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 241791 "_cloning"
	private explicit_type ""
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      operation 398591 "addComponent"
	public return_type class_ref 167551 // Container
	nparams 3
	  param in name "$component" explicit_type ""
	  param in name "$name" explicit_type "mixed"
	  param in name "$insertBefore" explicit_type "mixed"
	    defaultvalue "NULL"
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
	comment "Adds the specified component to the IContainer."
      end

      operation 398719 "removeComponent"
	public explicit_return_type "void"
	nparams 1
	  param in name "$component" explicit_type ""
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
	comment "Removes a component from the IContainer."
      end

      operation 398847 "getComponent"
	public explicit_return_type ""
	nparams 2
	  param in name "$name" explicit_type "mixed"
	  param in name "$need" explicit_type "mixed"
	    defaultvalue "TRUE"
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
	comment "Returns component specified by name or path."
      end

      operation 398975 "createComponent"
	protected explicit_return_type ""
	nparams 1
	  param in name "$name" explicit_type "mixed"
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
	comment "Component factory. Delegates the creation of components to a createComponent<Name> method."
      end

      operation 399103 "getComponents"
	public explicit_return_type ""
	nparams 2
	  param in name "$deep" explicit_type "mixed"
	    defaultvalue "FALSE"
	  param in name "$filterType" explicit_type "mixed"
	    defaultvalue "NULL"
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
	comment "Iterates over a components."
      end

      operation 399231 "validateChildComponent"
	protected explicit_return_type "void"
	nparams 1
	  param in name "$child" explicit_type ""
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
	comment "Descendant can override this method to disallow insert a child by throwing an Nette\\InvalidStateException."
      end

      operation 399359 "__clone"
	public explicit_return_type "void"
	nparams 0
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
	comment "Object cloning."
      end
    end

    class 167679 "Component"
      abstract visibility package 
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "Component is the base class for all components.

Components are objects implementing IComponent. They has parent component and own name."
      classrelation 156287 // <generalisation>
	relation 156287 ---|>
	  a public
	    php "${type}"
	    classrelation_ref 156287 // <generalisation>
	  b parent class_ref 142335 // Object
      end

      attribute 241919 "_parent"
	private explicit_type ""
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 242047 "_name"
	private explicit_type "string"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 242175 "_monitors"
	private explicit_type "array"
	init_value "array()"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      operation 399487 "__construct"
	public explicit_return_type "void"
	nparams 2
	  param in name "$parent" explicit_type ""
	    defaultvalue "NULL"
	  param in name "$name" explicit_type "mixed"
	    defaultvalue "NULL"
	
	
	php_def "  ${comment}${final}${visibility}${abstract}function ${name}${(}${)}
{
  ${body}}
"
	
	
      end

      operation 399615 "lookup"
	public explicit_return_type ""
	nparams 2
	  param in name "$type" explicit_type "mixed"
	  param in name "$need" explicit_type "mixed"
	    defaultvalue "TRUE"
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
	comment "Lookup hierarchy for component specified by class or interface name."
      end

      operation 399743 "lookupPath"
	public explicit_return_type "string"
	nparams 2
	  param in name "$type" explicit_type "mixed"
	  param in name "$need" explicit_type "mixed"
	    defaultvalue "TRUE"
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
	comment "Lookup for component specified by class or interface name. Returns backtrace path.
A path is the concatenation of component names separated by self::NAME_SEPARATOR."
      end

      operation 399871 "monitor"
	public explicit_return_type "void"
	nparams 1
	  param in name "$type" explicit_type "mixed"
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
	comment "Starts monitoring."
      end

      operation 399999 "unmonitor"
	public explicit_return_type "void"
	nparams 1
	  param in name "$type" explicit_type "mixed"
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
	comment "Stops monitoring."
      end

      operation 400127 "attached"
	protected explicit_return_type "void"
	nparams 1
	  param in name "$obj" explicit_type "mixed"
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
	comment "This method will be called when the component (or component's parent) becomes attached to a monitored object. Do not call this method yourself."
      end

      operation 400255 "detached"
	protected explicit_return_type "void"
	nparams 1
	  param in name "$obj" explicit_type "mixed"
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
	comment "This method will be called before the component (or component's parent) becomes detached from a monitored object. Do not call this method yourself."
      end

      operation 400383 "getName"
	public explicit_return_type "string"
	nparams 0
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
      end

      operation 400511 "getParent"
	public explicit_return_type ""
	nparams 0
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
	comment "Returns the container if any."
      end

      operation 400639 "validateParent"
	protected explicit_return_type "void"
	nparams 1
	  param in name "$parent" explicit_type ""
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
	comment "Is called by a component when it is about to be set new parent. Descendant can override this method to disallow a parent change by throwing an Nette\\InvalidStateException"
      end

      operation 400767 "refreshMonitors"
	private explicit_return_type "void"
	nparams 3
	  param in name "$depth" explicit_type "mixed"
	  param inout name "$missing" explicit_type "mixed"
	    defaultvalue "NULL"
	  param inout name "$listeners" explicit_type "array"
	    defaultvalue "array()"
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
	comment "Refreshes monitors."
      end

      operation 400895 "__clone"
	public explicit_return_type "void"
	nparams 0
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
	comment "Object cloning."
      end

      operation 401023 "__sleep"
	public explicit_return_type "void"
	nparams 0
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
	comment "Prevents serialization."
      end

      operation 401151 "__wakeup"
	public explicit_return_type "void"
	nparams 0
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
	comment "Prevents unserialization."
      end
    end

    class 167807 "IComponent"
      abstract visibility package stereotype "interface"
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "Provides functionality required by all components."
      operation 401279 "getName"
	public explicit_return_type "string"
	nparams 0
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)};"
	
	
      end

      operation 401407 "getParent"
	public explicit_return_type ""
	nparams 0
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)};"
	
	
	comment "Returns the container if any."
      end

      operation 401535 "setParent"
	public explicit_return_type "void"
	nparams 2
	  param in name "$parent" explicit_type ""
	    defaultvalue "NULL"
	  param in name "$name" explicit_type "mixed"
	    defaultvalue "NULL"
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)};"
	
	
	comment "Sets the parent of this component."
      end
    end

    class 167935 "IContainer"
      abstract visibility package stereotype "interface"
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "Containers are objects that logically contain zero or more IComponent components."
      operation 401663 "addComponent"
	public explicit_return_type "void"
	nparams 2
	  param in name "$component" type class_ref 167807 // IComponent
	  param in name "$name" explicit_type "mixed"
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)};"
	
	
	comment "Adds the specified component to the IContainer."
      end

      operation 401791 "removeComponent"
	public explicit_return_type "void"
	nparams 1
	  param in name "$component" type class_ref 167807 // IComponent
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)};"
	
	
	comment "Removes a component from the IContainer."
      end

      operation 401919 "getComponent"
	public explicit_return_type ""
	nparams 1
	  param in name "$name" explicit_type "mixed"
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)};"
	
	
	comment "Returns single component."
      end

      operation 402047 "getComponents"
	public return_type class_ref 128255 // Iterator
	nparams 2
	  param in name "$deep" explicit_type "mixed"
	    defaultvalue "FALSE"
	  param in name "$filterType" explicit_type "mixed"
	    defaultvalue "NULL"
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)};"
	
	
	comment "Iterates over a components."
      end

      classrelation 156415 // <generalisation>
	relation 156415 ---|>
	  a public
	    php "${type}"
	    classrelation_ref 156415 // <generalisation>
	  b parent class_ref 167807 // IComponent
      end
    end
  end
end
