
    e&                        d dl mZ d dlZd dlmZ d dlmZmZm	Z	m
Z
mZ  ej                         Z G d d      Zd Z ej                   dd	
      Z eee	j$                        Zej)                         ed&d              Zej)                         ed'd              Zej)                  d      ed(d              Zej)                  dg      ed)d              Zej)                  e	j2                        ed)d              ZdZed(d       Z e
edd i      ZdZ ee       ej=                  ej@                        5  ej)                         ed*d              Z!ddd       ej)                  e	j$                  e	j2                  fdg dd       ed*d!              Z"ej)                  d"#      ed+d$              Z# e       Z$e$jK                  e       e$jM                          e'd%k(  r ejP                          yy# 1 sw Y   xY w),    wrapsN)	QtWidgets)	ParameterParameterTree
RunOptionsInteractiveFunction
Interactorc                       e Zd ZdZdZy)LAST_RESULTzJust for testing purposesN)__name__
__module____qualname____doc__value     I/usr/lib/python3/dist-packages/pyqtgraph/examples/InteractiveParameter.pyr   r      s
    #Er   r   c                 .     t                fd       }|S )Nc                       | i |t         _        t        j                  j	                  t        j
                  j                         ddt         j                          y )NzFunction Run!zFunc result: )r   r   r   QMessageBoxinformationQApplicationactiveWindow)argskwargsfuncs     r   wrapperzprintResult.<locals>.wrapper   sO     $1&1))""//1K--./	
r   r   )r   r   s   ` r   printResultr      s     
4[
 
 Nr   zInteractive Parameter Usegroup)nametype)parent
runOptions   c                     | |z   S Nr   abs     r   
easySampler+   '        q5Lr   c                     | |z   S r'   r   r(   s     r   stringParamsr.   -   r,   r   
   r)   c                     | |z   S r'   r   r(   s     r   requiredParamr2   3   r,   r   r)   )ignoresc                     | |z  S r'   r   r(   s     r   ignoredAParamr5   9   r,   r   )r$   c                     | |z   S r'   r   r(   s     r   runOnButtonr7   ?   r,   r   c                     | |z   S r'   r   )xys     r   accessVarInDifferentScoper;   H   s    q5Lr   r9   c                      t         S r'   )r9   r   r   r   <lambda>r=   N   s    a r   )closures)titleFormatc                     | S r'   r   r0   s    r   capslocknamesrA   W   s	     r   list)r%   r/      )r"   limits)r$   r)   c                     | S r'   r   r0   s    r   runOnBtnOrChange_listOptsrF   ]   s	     Hr   F)nestc                     | S r'   r   )thisIsAFunctionArgs    r   onlyTheArgumentsAppearrJ   f   s
     r   __main__)r%      )56)r/   )r/   rC   )r%   )T))	functoolsr   	pyqtgraphpgpyqtgraph.Qtr   pyqtgraph.parametertreer   r   r   r	   r
   mkQAppappr   r   createhost
ON_CHANGED
interactordecorater+   r.   r2   r5   	ON_ACTIONr7   r9   r;   func_interactiveoptsContextstrupperrA   rF   rJ   treesetParametersshowr   execr   r   r   <module>rd      sl     "  biik 
 y8wGt
0E0EF
       r   cU#  $ 
 4 45  6    'i(8   
  		2   	 %%z';';<-    	
 %   !    4  		zBGGI 7 s    G==H