ó
ïÊ‘Sc           @   se  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d Z x& e j D] Z e d k rL d Z qL qL We d k r’ d  d l Z d  d l	 Z n  d d d „  ƒ  YZ
 d d „ Z d	 d d
 „ Z d „  Z d d „ Z d „  Z d „  Z g  g  d „ Z d „  Z d „  Z e d k r=y e ƒ  Wq=e ƒ  e j ƒ  q=Xn  d „  Z d „  Z d „  Z d „  Z d S(   iÿÿÿÿNi   s   --no-cursesi    t   gbc           B   s>   e  Z d Z d  Z d Z d Z d Z d Z d Z	 d Z
 d Z RS(   i   i   i    i   s   No Titlet    N(   t   __name__t
   __module__t   Nonet   scrnt   rbegt   cbegt   rowt   ncolt   csept   titlet   subtitlet   init(    (    (    s   ./PLUTO//Tools/Python/menu.pyR       s   R   c         C   s   |  t  _ | t  _ d  S(   N(   R    R   R   (   R   R   (    (    s   ./PLUTO//Tools/Python/menu.pyt   SetTitle1   s    	gffffffæ?c         C   s¬   x@ t  j D]5 } | d k s+ t j d k r
 t |  | | ƒ d  Sq
 Wt j d  k rV d  S| d k rr t j j ƒ  n  t j j | d |  t	 j
 ƒ t j j ƒ  t j | ƒ d  S(   Ns   --no-cursesi    i   (   t   syst   argvR    R   t   Print_no_cursesR   R   t   eraset   addstrt   cursest   A_BOLDt   refresht   timet   sleep(   t   messageR   R   t   x(    (    s   ./PLUTO//Tools/Python/menu.pyt   Print;   s      c         C   sw   x+ t  j D]  } | d k r
 t |  ƒ d  Sq
 Wt j j ƒ  t j j d d |  t j ƒ t j j	 ƒ  t j j
 ƒ  } d  S(   Ns   --no-cursesi   (   R   R   t   Prompt_no_cursesR    R   R   R   R   R   R   t   getch(   R   R   t   c(    (    s   ./PLUTO//Tools/Python/menu.pyt   PromptM   s    
c         C   sÎ  t  j j ƒ  t  j j d d d t  j d t j ƒ d t  _ t t  j	 ƒ d k r} t  j j d d t  j	 t j
 ƒ d t  _ n  t  j } xƒ |  d t |  ƒ !D]n } |  j | ƒ } t  j j | t  j | ƒ t  j d k rþ t  j j | t  j t  j | | ƒ n  | d 7} qš W| d k s9t  j t  j k  s9t  j | k rHt  j t  _ n  t  j t  j } t  j j t  j t  j |  | t j ƒ t  j d k r½t  j j t  j t  j t  j | | t j
 ƒ n  t  j j ƒ  d  S(   Ni    s   >> s    <<i   i   i   i   (   R    R   t   clearR   R   R   R   R   t   lenR   t   A_UNDERLINEt   indexR   R	   R
   R   t	   A_REVERSER   (   t   entriest   defaultR   t   lastrowt   lnt   indxt   n(    (    s   ./PLUTO//Tools/Python/menu.pyt   ShowMenua   s(    '		'-& 0c         C   sV  t  j | } | t  j k rR| t  j t |  ƒ k  rRt  j j t  j t  j |  t  j t  j ƒ t  j d k r¢ t  j j t  j t  j t  j | t  j t  j ƒ n  | t  _ |  t  j t  j } t  j d k rå | t  j t  j } n  t  j j t  j t  j | t	 j
 ƒ t  j d k rBt  j j t  j t  j t  j | t	 j ƒ n  t  j j ƒ  n  d  S(   Ni   (   R    R   R   R!   R   R   R   R	   R
   R   R$   R"   R   (   R%   R&   t   inct   tmpt   c1t   c2(    (    s   ./PLUTO//Tools/Python/menu.pyt   UpDown   s    (* 4	 " ,c         C   s  t  j t  j } | | j | | ƒ } t | | ƒ } | d k rP | d } n  | d k  ri | d } n  | d k  r‚ | d } n  | | k r— d } n  | | | | | <t  j j t  j t  j |  | t j	 ƒ t  j j t  j t  j t  j
 | | t j ƒ t  j j ƒ  t  j j ƒ  d  S(   Ni    i   (   R    R   R   R#   R!   R   R   R   R   R$   R
   R"   t   clrtoeolR   (   R%   R&   t   optionsR,   t   it   ideft   nopt(    (    s   ./PLUTO//Tools/Python/menu.pyt	   LeftRightš   s         	&-c      	   C   s   d t  _ t | ƒ d k r' d t  _ n  x- t j D]" } | d k r1 t |  | | ƒ Sq1 Wt  j d k r¥ t j ƒ  t  _	 t j
 ƒ  t j ƒ  t  j	 j d ƒ d t  _ n  t |  | ƒ xGt rût  j	 j ƒ  } y t | ƒ } Wn d } n X| d k r|  t  j t  j S| d k r(t ƒ  t j ƒ  qµ | d k sC| t j k rVt |  | d ƒ qµ | d	 k sq| t j k r„t |  | d ƒ qµ t  j d k rµ | d
 k s®| t j k rÄt |  | | d ƒ qø| d k sß| t j k røt |  | | d ƒ qøqµ qµ Wd  S(   Ni   i    i   s   --no-cursesi
   t   qt   uiÿÿÿÿt   dt   rt   l(   R    R	   R!   R   R   t   Browse_no_cursesR   R   t   initscrR   t   noechot   cbreakt   keypadR+   t   TrueR   t   chrR   R   t   RestoreScreent   exitt   KEY_UPR0   t   KEY_DOWNt	   KEY_RIGHTR6   t   KEY_LEFT(   R%   R&   R2   R   R   t   cc(    (    s   ./PLUTO//Tools/Python/menu.pyt   Browse´   sB    	 

	  
  c   	      C   sA  d t  _ x* t j D] } | d k r t |  | ƒ Sq Wt  j d k r„ t j ƒ  t  _ t j	 ƒ  t j
 ƒ  t  j j d ƒ d t  _ n  g  } x' t |  ƒ D] } | j t | ƒ ƒ q— Wt | | ƒ xyt r<t  j j ƒ  } y t | ƒ } Wn d } n X| d k r	d  S| d k r)t ƒ  t j ƒ  qÄ | d k sD| t j k rWt | | d ƒ qÄ | d	 k sr| t j k r…t | | d ƒ qÄ | d
 k s | t j k rÄ t j ƒ  t  j j t  j d t  j d t j ƒ t  j j ƒ  } t  j t  j } | j  | ƒ | j! | | ƒ t j	 ƒ  t  j j" ƒ  t | | t  j ƒ qÄ qÄ Wd  S(   Ni   s   --no-cursesi    i   i
   R7   R8   iÿÿÿÿR9   R:   i   s   NAME > (#   R    R	   R   R   t   Insert_no_cursesR   R   R=   R   R>   R?   R@   t   ranget   appendt   reprR+   RA   R   RB   RC   RD   RE   R0   RF   RG   t   echoR   R   R   R"   t   getstrR   t   popt   insertR1   (	   t   numR&   R   R%   R*   R   RI   t   new_nameR3   (    (    s   ./PLUTO//Tools/Python/menu.pyt   Insertã   sN    	

 	  
  
&
c          C   s`   x! t  j D] }  |  d k r
 d  Sq
 Wt j ƒ  t j ƒ  t j j d ƒ t j ƒ  t j	 ƒ  d  S(   Ns   --no-cursesi    (
   R   R   R   t   reset_shell_modet   nocbreakR    R   R@   RO   t   endwin(   R   (    (    s   ./PLUTO//Tools/Python/menu.pyRC     s    


t
   __browse__c         C   s2   | d k r t  j d ƒ n  |  GHt j | ƒ d  S(   Ni   R    (   t   ost   systemR   R   (   R   R   R   (    (    s   ./PLUTO//Tools/Python/menu.pyR   ;  s     c         C   s   t  j d ƒ |  GHt ƒ  } d  S(   NR    (   RZ   R[   t	   raw_input(   R   R7   (    (    s   ./PLUTO//Tools/Python/menu.pyR   C  s    c         C   sÃ  d } x¶| d k r¾t  j d ƒ d Gt j d GHx„ |  D]| } |  j | ƒ } t | ƒ d k r t | ƒ j d ƒ Gd G| j d	 ƒ G| | GHq9 t | ƒ j d ƒ Gd G| j d	 ƒ GHq9 Wd
 GHt	 d ƒ } | d k rÞ d GHq	 y* t
 | ƒ } t | ƒ d k r|  | SWn
 q	 n Xd } xA | | D]5 } | | j | ƒ } | t | ƒ d | d 7} q&Wd |  | d G| GHt	 d | | d ƒ } y t
 | ƒ } Wn
 q	 n X| | | | | <q	 Wd  S(   NR   R   R    s   >> s   
i    i   s   ) i   t    s   >> choice ? t   Enters      s   : s   >> choice [s   ] ? (   RZ   R[   R    R   R#   R!   t   strt   rjustt   ljustR\   t   intRN   (   R%   R&   R2   R7   R   R3   t   opt_listR   (    (    s   ./PLUTO//Tools/Python/menu.pyR<   M  s>    0)  c         C   sá   |  GH| GHd } xÊ | d k rÜ t  j d ƒ d Gt j d GHxB | D]: } | j | ƒ } t | ƒ j d ƒ Gd G| j d ƒ GHqC Wd	 GHt d
 ƒ } | d k r¦ d GHq y t	 | ƒ } Wn
 q n Xt d ƒ } | | | <q Wd  S(   NR   R   R    s   >> s   
i   s   ) i   R]   s   >> choice ? R^   s   >> new name ? (
   RZ   R[   R    R   R#   R_   R`   Ra   R\   Rb   (   RS   t   namesR7   R   R3   t   newname(    (    s   ./PLUTO//Tools/Python/menu.pyRK   x  s(    )(    (   RZ   R   t	   tracebackR   t   stringt   have_cursesR   R   R   t   curses.textpadR    R   R   R   R+   R0   R6   RJ   RU   RC   R   t   browset	   print_excR   R   R<   RK   (    (    (    s   ./PLUTO//Tools/Python/menu.pyt   <module>   s4   <	
	 		/	;			
	+