
    ai"                     ~    S r SSKr " S S5      r " S S5      r " S S5      r0 rS	 rS
 rS rS r	S r
SS jrS rg))NodeCategoryNodeItemNodeItemCustomdraw_node_categories_menuhas_node_categoriesnode_items_iterregister_node_categoriesunregister_node_categories    Nc                   4    \ rS rSr\S 5       rSSS.S jrSrg)r      c                     g)NT )cls_contexts     W/home/wildlama/Downloads/blender-5.1.2-linux-x64/5.1/scripts/modules/nodeitems_utils.pypollNodeCategory.poll   s         N)descriptionitemsc                   ^ Xl         X l        X0l        Tc	  S U l        g [	        T5      (       a  TU l        g U4S jnXPl        g )Nc                     / $ Nr   )contexts    r   <lambda>'NodeCategory.__init__.<locals>.<lambda>   s    r   c              3   x   >#    T H/  nUR                   b  U b  UR                  U 5      (       d  M+  Uv   M1     g 7fr   )r   )r   itemr   s     r   	items_gen(NodeCategory.__init__.<locals>.items_gen"   s1     !Dyy(GOtyy?Q?Q"
 "s   *:	:)
identifiernamer   r   callable)selfr"   r#   r   r   r    s       ` r   __init__NodeCategory.__init__   s;    $	&=+DJe__DJ# #Jr   )r   r"   r   r#   )__name__
__module____qualname____firstlineno__classmethodr   r&   __static_attributes__r   r   r   r   r      s%      9;$ # #r   r   c                   V    \ rS rSrSSSS.S jr\S 5       r\S 5       r\S 5       r	Sr
g)	r   )   N)labelsettingsr   c                >    Uc  0 nXl         X l        X0l        X@l        g r   )nodetype_labelr1   r   )r%   r3   r0   r1   r   s        r   r&   NodeItem.__init__*   s!    H  	r   c                     U R                   (       a  U R                   $ [        R                  R                  R	                  U R
                  5      nUb  UR                  $ g)NUnknown)r4   bpytypesNodebl_rna_get_subclassr3   r#   r%   bl_rnas     r   r0   NodeItem.label4   sD    ;;;; YY^^77FF!{{" r   c                 `   U R                   (       a.  [        R                  R                  R                  R
                  $ [        R                  R                  R                  U R                  5      nUb  UR                  $ [        R                  R                  R                  R
                  $ r   )r4   r8   apptranslationscontextsdefaultr9   r:   r;   r3   translation_contextr<   s     r   rD   NodeItem.translation_context@   sq    ;;77''00888 YY^^77FF!111ww++44<<<r   c                    UR                  SU R                  U R                  S9nU R                  Ul        SUl        U R                  R                  5        H1  nUR                  R                  5       nUS   Ul	        US   Ul
        M3     g )Nznode.add_node)text	text_ctxtTr
      )operatorr0   rD   r3   typeuse_transformr1   r   addr#   value)r%   layoutr   propssettingopss         r   drawNodeItem.drawN   sr    djjDLdLde]]
"}}**,G..$$&CqzCH
CI -r   )r4   r3   r   r1   )r(   r)   r*   r+   r&   propertyr0   rD   staticmethodrS   r-   r   r   r   r   r   )   sJ    *.D  	! 	! 	= 	= # #r   r   c                   $    \ rS rSrSSS.S jrSrg)r   Z   Nr   rS   c                    Xl         X l        g r   rY   )r%   r   rS   s      r   r&   NodeItemCustom.__init__[   s    		r   )rS   r   )r(   r)   r*   r+   r&   r-   r   r   r   r   r   Z   s    #$  r   r   c                   ^ U [         ;   a  [        SR                  U 5      5      eS n/ nT H  n[        SUR                  -   [
        R                  R                  4SUR                  UUR                  US.5      nUR                  U5        [
        R                  R                  U5        M     U4S jnTXc4[         U '   g )Nz.Node categories list '{:s}' already registeredc                     U R                   nUR                  SS9nU R                  R                  U5       H  nUR	                  XCU5        M     g )NT)align)rO   columncategoryr   rS   )r%   r   rO   colr   s        r   draw_node_item0register_node_categories.<locals>.draw_node_itemi   sB    mm$m'MM''0DIId) 1r   NODE_MT_category_NODE_EDITOR)bl_space_typebl_labelr`   r   rS   c                    > U R                   nT H9  nUR                  U5      (       d  M  UR                  SUR                  -   5        M;     g )Nrd   )rO   r   menur"   )r%   r   rO   catcat_lists       r   draw_add_menu/register_node_categories.<locals>.draw_add_menu}   s;    Cxx  /#..@A r   )_node_categoriesKeyErrorformatrK   r"   r8   r9   Menur#   r   appendutilsregister_class)r"   rk   rb   
menu_typesrj   	menu_typerl   s    `     r   r   r   c   s    %%GNNzZ[[* J,s~~=		?P*HH"S
 	 	)$		  + B %-m#HZ r   c              #      #    [         R                  5        HA  nUS    H5  nUR                  (       d  M  U b  UR                  U 5      (       d  M1  Uv   M7     MC     g 7f)Nr
   rn   valuesr   r   cat_typerj   s      r   node_categories_iterr|      sF     $++-A;Cxxxgo#((72C2C	  .s   /AAAc                     [         R                  5        H>  nUS    H2  nUR                  (       d  M  U b  UR                  U 5      (       d  M1      g   M@     g)Nr
   TFrx   rz   s      r   r   r      sF    $++-A;Cxxxgo#((72C2C  . r   c              #   h   #    [        U 5       H  nUR                  U 5       H  nUv   M	     M!     g 7fr   )r|   r   )r   rj   r   s      r   r   r      s,     #G,IIg&DJ ' -s   02c                 Z    U S    H"  n[         R                  R                  U5        M$     g )N   )r8   rs   unregister_class)catsmts     r   unregister_node_cat_typesr      s"    1g		""2& r   c                     U (       a0  [         R                  U S 5      nU(       a  [        U5        [         U 	 g [         R                  5        H  n[        U5        M     [         R	                  5         g r   )rn   getr   ry   clear)r"   	cat_typess     r   r	   r	      sS    $((T:	%i0Z( *002I%i0 3 r   c                 P    [         R                  5        H  nUS   " X5        M     g )NrI   )rn   ry   )r%   r   r   s      r   r   r      s!     '')Q *r   r   )__all__r8   r   r   r   rn   r   r|   r   r   r   r	   r   r   r   r   <module>r      s]   
	 # #,.# .#b   "IJ'
!r   