§
    ¡)ýf®  ã                   óÈ   — d dl Z d dlmZ d dlmZ d dlmZmZ	 ddddœd„Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Z G d„ de¦  «        ZefZedk    rd dlmZ eD ]Z ee¦  «         ŒdS dS )é    N)ÚMenu)Únode_add_menu)Úpgettext_ifaceÚcontextsg        )ÚlabelÚpollÚsearch_weightc                ó
  — t           j        j                             |¦  «        }|s|r|j        nt          d¦  «        }|du s|€>|r|j        nt          j        }|  	                    d|||¬¦  «        }||_
        d|_        |S dS )zAdd a node type to a menu.ÚUnknownTNznode.add_node)ÚtextÚ	text_ctxtr	   )ÚbpyÚtypesÚNodeÚbl_rna_get_subclassÚnameÚiface_Útranslation_contextÚi18n_contextsÚdefaultÚoperatorÚtypeÚuse_transform)ÚlayoutÚ	node_typer   r   r	   Úbl_rnar   Úpropss           úY/home/blender/git/blender-v430/install_release/4.3/scripts/startup/bl_ui/node_add_menu.pyÚadd_node_typer      s’   € åŒYŒ^×/Ò/°	Ñ:Ô:€FØð =Ø%Ð<�”�­6°)Ñ+<Ô+<ˆàˆt€|€|�t�|Ø<BÐ]˜fÔ8Ð8ÍÔH]ÐØ—’ °eÐGZÐjw�ÑxÔxˆØˆŒ
Ø"ˆÔØˆð $�|ó    c                 ó‚  ‡	— | j         }|j        Š	| j        j        }‰	|                     ¦   «         v r4|                     ¦   «          t          |d¦  «         t          |d¦  «         ‰	rÓddlm} ˆ	fd„| j        j        D ¦   «         }|rµ|                     ¦   «          |D ] }t          |||j	                 |j
        ¬¦  «        }|j                             ¦   «         }d|_
        d                     |j
        ¦  «        |_        |j                             ¦   «         }d	|_
        t          |j        ¦  «        |_        Œ�d
S d
S d
S )z>Add items to the layout used for interacting with node groups.ÚNodeGroupInputÚNodeGroupOutputr   )Únode_tree_group_typec                 ó’   •— g | ]C}|j         ‰j         k    ¯|                     ‰¦  «        °'|j                             d ¦  «        °A|‘ŒDS )ú.)Ú	bl_idnameÚcontains_treer   Ú
startswith)Ú.0ÚgroupÚ	node_trees     €r   ú
<listcomp>z,draw_node_group_add_menu.<locals>.<listcomp>*   sa   ø€ ð 
ð 
ð 
ØØ” 9Ô#6Ò6Ð6Ø×'Ò'¨	Ñ2Ô2ð 7à”J×)Ò)¨#Ñ.Ô.ð 7ð Ø6Ð6Ð6r    )r   r,   zbpy.data.node_groups[{!r}]ÚwidthN)Ú
space_dataÚ	edit_treeÚ
blend_dataÚnode_groupsÚvaluesÚ	separatorr   Únodeitems_builtinsr$   r'   r   ÚsettingsÚaddÚformatÚvalueÚreprÚdefault_group_node_width)
Úcontextr   Ú
space_nodeÚall_node_groupsr$   Úgroupsr+   r   Úopsr,   s
            @r   Údraw_node_group_add_menurA      sƒ  ø€ àÔ#€JØÔ$€IØÔ(Ô4€Oà�O×*Ò*Ñ,Ô,Ð,Ð,Ø×ÒÑÔÐÝ�fÐ.Ñ/Ô/Ð/Ý�fÐ/Ñ0Ô0Ð0àð AØ;Ð;Ð;Ð;Ð;Ð;ð
ð 
ð 
ð 
Ø&Ô1Ô=ð
ñ 
ô 
ˆð ð 		AØ×ÒÑÔÐØð Að A�Ý% fÐ.BÀ5Ä?Ô.SÐ[`Ô[eÐfÑfÔf�Ø”n×(Ò(Ñ*Ô*�Ø&�”Ø8×?Ò?ÀÄ
ÑKÔK�”	Ø”n×(Ò(Ñ*Ô*�Ø"�”Ý  Ô!?Ñ@Ô@�”	�	ð%Að Að		Að 		AðAð Ar    c                 ó2   — |                       |¬¦  «         d S )N)Úcatalog_path)Útemplate_node_asset_menu_items)r   rC   s     r   Údraw_assets_for_catalogrE   <   s   € Ø
×)Ò)°|Ð)ÑDÔDÐDÐDÐDr    c                 ó0   — |                       d¦  «         d S )NÚNODE_MT_node_add_root_catalogs)Úmenu_contents)r   s    r   Údraw_root_assetsrI   @   s   € Ø
×ÒÐ9Ñ:Ô:Ð:Ð:Ð:r    c                 óX   — |                       d|t          j        ¬¦  «        }d|_        |S )zAdd simulation zone to a menu.znode.add_simulation_zone©r   r   T©r   r   r   r   ©r   r   r   s      r   Úadd_simulation_zonerN   D   s*   € à�OŠOÐ6¸UÍmÔNcˆOÑdÔd€EØ€EÔØ€Lr    c                 óX   — |                       d|t          j        ¬¦  «        }d|_        |S )Nznode.add_repeat_zonerK   TrL   rM   s      r   Úadd_repeat_zonerP   K   s*   € Ø�OŠOÐ2¸Í-ÔJ_ˆOÑ`Ô`€EØ€EÔØ€Lr    c                 óX   — |                       d|t          j        ¬¦  «        }d|_        |S )Nz&node.add_foreach_geometry_element_zonerK   TrL   rM   s      r   Ú!add_foreach_geometry_element_zonerR   Q   s3   € Ø�OŠOØ0°uÍÔH]ð ñ _ô _€Eà€EÔØ€Lr    c                   ó   — e Zd Zd ZdZd„ ZdS )ÚNODE_MT_category_layoutÚLayoutc                 óœ   — | j         }t          j        |d¦  «         t          j        |d¦  «         t          j        || j        ¦  «         d S )NÚ	NodeFrameÚNodeReroute)r   r   r   rE   Úbl_label)ÚselfÚ_contextr   s      r   ÚdrawzNODE_MT_category_layout.draw\   sJ   € Ø”ˆÝÔ# F¨KÑ8Ô8Ð8ÝÔ# F¨MÑ:Ô:Ð:åÔ-¨f°d´mÑDÔDÐDÐDÐDr    N)Ú__name__Ú
__module__Ú__qualname__r'   rY   r\   © r    r   rT   rT   X   s2   € € € € € Ø)€IØ€HðEð Eð Eð Eð Er    rT   Ú__main__)Úregister_class)r   Ú	bpy.typesr   Úbl_uir   Úbpy.app.translationsr   r   r   r   r   rA   rE   rI   rN   rP   rR   rT   Úclassesr]   Ú	bpy.utilsrb   Úclsr`   r    r   ú<module>ri      sp  ðð
 €
€
€
Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð /3¸ÈSð ð ð ð ð ðAð Að Að@Eð Eð Eð;ð ;ð ;ðð ð ðð ð ðð ð ð	Eð 	Eð 	Eð 	Eð 	E˜dñ 	Eô 	Eð 	Eð ð€ð ˆzÒÐØ(Ð(Ð(Ð(Ð(Ð(Øð ð ˆØˆ�sÑÔÐÐð Ððð r    