ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     
^c           @   s9   d  Z  d d l Td d l Z d Z d d d     YZ d S(   s  ListViewer class.

This class implements an input/output view on the color model.  It lists every
unique color (e.g. unique r/g/b value) found in the color database.  Each
color is shown by small swatch and primary color name.  Some colors have
aliases -- more than one name for the same r/g/b value.  These aliases are
displayed in the small listbox at the bottom of the screen.

Clicking on a color name or swatch selects that color and updates all other
windows.  When a color is selected in a different viewer, the color list is
scrolled to the selected color and it is highlighted.  If the selected color
is an r/g/b value without a name, no scrolling occurs.

You can turn off Update On Click if all you want to see is the alias for a
given name, without selecting the color.
i(   t   *Ns   Color %List Window...t
   ListViewerc           B   st   e  Z d
 d   Z d   Z d
 d  Z d
 d  Z d
 d  Z d
 d  Z d
 d  Z	 d   Z
 d   Z d	   Z RS(   c      
   C   s=  | |  _  | j   } d  |  _ d |  _ t | d d } |  _ | j d |  j  | j	 d  | j
 d  | j d |  j  | j d |  j  | j d |  j  | j d	 |  j  t |  } |  _ | j   t | d
 d d d d d d t } |  _ t |  |  _ |  j j d t d t  | j d t d d  | j d |  j d f  |  j j d | d f  |  j   t   |  _ |  j j | j d d   t | d d d |  j d |  j |  _  |  j  j d d d t  t! | d d |  _" |  j" j   t# | d d d t$ |  _% |  j% j d d d t  d  S(    Ni    t   class_t   Pynchet   WM_DELETE_WINDOWs   Pynche Color Lists   <Alt-q>s   <Alt-Q>s   <Alt-w>s   <Alt-W>t   widthi   t   heighti,  t   borderwidthi   t   relieft   fillt   sidet   expandi   t   yscrollcommandt   sett   commandt   yviewt	   UPONCLICKt   texts   Update on Clickt   variables   Aliases:i   t
   selectmode(&   t   _ListViewer__sbt   optiondbt   Nonet   _ListViewer__lastboxt   _ListViewer__dontcentert   Toplevelt   _ListViewer__roott   protocolt   withdrawt   titlet   iconnamet   bindt   _ListViewer__quitt   Framet   _ListViewer__framet   packt   Canvast   SUNKENt   _ListViewer__canvast	   Scrollbart   _ListViewer__scrollbart   Yt   RIGHTt   BOTHt	   configuret   _ListViewer__populatet
   BooleanVart   _ListViewer__uocR   t   gett   Checkbuttont   _ListViewer__toggleupdatet   _ListViewer__uocbtnt   Labelt   _ListViewer__alabelt   Listboxt   BROWSEt   _ListViewer__aliases(   t   selft   switchboardt   masterR   t   roott   framet   canvas(    (    s7   /usr/lib64/python2.7/site-packages/pynche/ListViewer.pyt   __init__   sD    			

		c         C   s  |  j  j   } |  j } d } d } g  } |  _ x| j   D]} t j | j |   } | j d | d d d | d d d | | j	 d | d d d | d t
 } | j |  \ }	 }
 } } | j d	 | d d	 | d	 | d d
 d d d | d f } | j d |  j  | j |  | d	 | k rD| d	 } n  | d 7} q> W| d d d } | j d d d d | f  xB | D]: } | j |  \ }	 }
 } } | j | |	 |
 | |  qWd  S(   Ni    i   i   R	   i   i   R   t   anchori   i   t   outlinet    t   tagst   alls   <ButtonRelease>i   t   scrollregioni   (   R   t   colordbR&   t   _ListViewer__bboxest   unique_namest   ColorDBt   triplet_to_rrggbbt   find_bynamet   create_rectanglet   create_textt   Wt   bboxR   t   _ListViewer__onreleaset   appendt   configt   coords(   R9   RF   R>   t   rowt   widestt   bboxest   namet
   exactcolort   textidt   x1t   y1t   textendt   y2t   boxidt
   canvheightt   boxt   x2(    (    s7   /usr/lib64/python2.7/site-packages/pynche/ListViewer.pyt
   __populateD   s8    		c         C   s%  |  j  } | j | j  } | j | j  } | j | | | |  } x% | D] } | |  j k rL PqL qL Wd  S|  j  j |  } x& | D] } | d d k r Pq q Wd  St j	 |  \ }	 }
 } d |  _
 |  j j   r |  j j |	 |
 |  n0 |  j |	 |
 |  |	 |
 | |  _ |  _ |  _ d  S(   Ni    t   #i   (   R&   t   canvasxt   xt   canvasyt   yt   find_overlappingRG   t   gettagsRI   t   rrggbb_to_tripletR   R/   R0   R   t   update_viewst   update_yourselft   _ListViewer__redt   _ListViewer__greent   _ListViewer__blue(   R9   t   eventR>   Re   Rg   t   idsR^   RC   t   tt   redt   greent   blue(    (    s7   /usr/lib64/python2.7/site-packages/pynche/ListViewer.pyt   __onreleased   s&    		c         C   s5   |  j  j   r1 |  j j |  j |  j |  j  n  d  S(   N(   R/   R0   R   Rk   Rm   Rn   Ro   (   R9   Rp   (    (    s7   /usr/lib64/python2.7/site-packages/pynche/ListViewer.pyt   __toggleupdate   s    c         C   s   |  j  j   d  S(   N(   R   t   quit(   R9   Rp   (    (    s7   /usr/lib64/python2.7/site-packages/pynche/ListViewer.pyt   __quit   s    c         C   s   |  j  j   d  S(   N(   R   R   (   R9   Rp   (    (    s7   /usr/lib64/python2.7/site-packages/pynche/ListViewer.pyR      s    c         C   s   |  j  j   d  S(   N(   R   t	   deiconify(   R9   Rp   (    (    s7   /usr/lib64/python2.7/site-packages/pynche/ListViewer.pyRz      s    c         C   s  |  j  } |  j r+ | j |  j d d n  t j | | | f  } | j | d d | |  _ |  j j d t  y& |  j j	   j
 | | |  d } Wn( t j k
 r |  j j t d  d  SX| s |  j j t d  n$ x! | D] } |  j j t |  q W|  j rd |  _ ni | j |  \ } } } }	 | j |  j d  \ } } } }
 t | d	  d
 } | j d |	 | |
  d  S(   NRA   RB   t   blacki    i   s   <no matching color>s   <no aliases>iR   g      ?t   moveto(   R&   R   t   itemconfigureRI   RJ   R8   t   deletet   ENDR   RF   t
   aliases_oft   BadColort   insertR   RS   RG   t   intR   (   R9   Rs   Rt   Ru   R>   t   colortagt   aliasesRW   t   igR[   R]   t   h(    (    s7   /usr/lib64/python2.7/site-packages/pynche/ListViewer.pyRl      s,    			&	"c         C   s   |  j  j   | d <d  S(   NR   (   R/   R0   (   R9   R   (    (    s7   /usr/lib64/python2.7/site-packages/pynche/ListViewer.pyt   save_options   s    c         C   s   |  j  j d  |  j   d  S(   NRD   (   R&   R~   R-   (   R9   RF   (    (    s7   /usr/lib64/python2.7/site-packages/pynche/ListViewer.pyt   colordb_changed   s    N(   t   __name__t
   __module__R   R?   R-   RP   R2   R    R   Rz   Rl   R   R   (    (    (    s7   /usr/lib64/python2.7/site-packages/pynche/ListViewer.pyR      s   ,	 		(    (   t   __doc__t   TkinterRI   t	   ADDTOVIEWR   (    (    (    s7   /usr/lib64/python2.7/site-packages/pynche/ListViewer.pyt   <module>   s   
