-
<c       s     d  Z  	  d k T d k l Z  d k Z  d k Z  h  Z  d f  d     YZ  d e f d     YZ  d e f d	     YZ d
   Z	 e
 d j o e	   n d S(   sZ   File selection dialog classes.

Classes:

- FileDialog
- LoadFileDialog
- SaveFileDialog

(   s   *(   s   DialogNs
   FileDialogc      s    t  Z d  Z * , d Z . e d  Z m e i d d e d  Z  e d  Z	  d   Z
  d   Z  d	   Z  d
   Z  d   Z  d   Z  e d  Z  d   Z  d   Z  e d  Z  d   Z  d   Z RS(   s  Standard file selection dialog -- no checks on selected file.

    Usage:

        d = FileDialog(master)
        file = d.go(dir_or_file, pattern, default, key)
        if file is None: ...canceled...
        else: ...open file...

    All arguments to go() are optional.

    The 'key' argument specifies a key in the global dictionary
    'dialogstates', which keeps track of the values for the directory
    and pattern arguments, overriding the values passed in (it does
    not keep track of the default argument!).  If no key is specified,
    the dialog keeps no memory of previous state.  Note that memory is
    kept even when the dialog is canceled.  (All this emulates the
    behavior of the Macintosh file selection dialogs.)

    s   File Selection Dialogc    s  . / | t j o / |  i  } n 0 | |  _ 1 t |  _ 3 t |  |  _ 4 |  i i  |  5 |  i i |  7 t |  i  |  _	 8 |  i	 i
 d t d t  : t |  i  |  _ ; |  i i
 d t d t  < |  i i d |  i  > t |  i  |  _ ? |  i i
 d t d t  @ |  i i d |  i  B t |  i  |  _ C |  i i
 d t d t  E t |  i  |  _ F |  i i
 d t d t  G t |  i d d H d |  i d f |  _ I |  i i
 d t d t d t  J |  i i   } K |  i i | d	 | d	   L |  i i d
 |  i  M |  i i d |  i   N |  i i! d |  i d f  P t |  i  |  _" Q |  i" i
 d t# d t  R t |  i d d S d |  i" d f |  _$ T |  i$ i
 d t# d t d t  U |  i" i! d |  i$ d f  V |  i$ i   } W |  i$ i | d	 | d	   X |  i$ i d
 |  i%  Y |  i$ i d |  i&  [ t' |  i	 \ d d ] d |  i( |  _) ^ |  i) i
 d t#  _ t' |  i	 ` d d a d |  i |  _* b |  i* i
 d t# d t  c t' |  i	 d d d e d |  i+ |  _, f |  i, i
 d t  h |  i i- d |  i+  j |  i i d |  i+  k |  i i d |  i+  d  S(   Ns   sides   fills   <Return>s   expands   exportselectioni    s   yscrollcommands   seti   s   <ButtonRelease-1>s   <Double-ButtonRelease-1>s   commands   yviews   texts   OKs   Filters   Cancels   WM_DELETE_WINDOWs   <Alt-w>s   <Alt-W>(.   s   titles   Nones   selfs   masters	   directorys   Toplevels   tops   iconnames   Frames   botframes   packs   BOTTOMs   Xs   Entrys	   selections   binds   ok_events   filters   TOPs   filter_commands   midframes   YESs   BOTHs	   Scrollbars   filesbars   RIGHTs   Ys   Listboxs   filess   bindtagss   btagss   files_select_events   files_double_events   configs   dirsbars   LEFTs   dirss   dirs_select_events   dirs_double_events   Buttons
   ok_commands	   ok_buttons   filter_buttons   cancel_commands   cancel_buttons   protocol(   s   selfs   masters   titles   btags(    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys   __init__. sh    ""			s   *s    c    s|  m n | o t i |  o o t | \ |  _ } nZ q t i i |  } r t i i
 |  o s | |  _ n u t i i |  \ |  _ } v |  i |  i |  w |  i |  x |  i   y |  i i   z |  i i   { t |  _ | |  i i   } | oU ~ |  i   \ } }  |  i o  t i i |  i  } n  | | f t | <n  |  i i    |  i Sd  S(   N(   s   keys   dialogstatess   has_keys   selfs	   directorys   patterns   oss   paths
   expandusers   dir_or_files   isdirs   splits   defaults
   set_filters   set_selections   filter_commands	   selections	   focus_sets   tops   grab_sets   Nones   hows   masters   mainloops
   get_filters   dirnames   destroy(   s   selfs   dir_or_files   patterns   defaults   keys	   directory(    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys   gom s(   
c    s#     | |  _   |  i i   d  S(   N(   s   hows   selfs   masters   quit(   s   selfs   how(    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys   quit s   c    s     |  i   d  S(   N(   s   selfs   filter_command(   s   selfs   event(    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys   dirs_double_event s   c    sk     |  i   \ } }  |  i i d  }  t i i	 t i i
 |  i |   }  |  i | |  d  S(   Ns   active(   s   selfs
   get_filters   dirs   pats   dirss   gets   subdirs   oss   paths   normpaths   joins	   directorys
   set_filter(   s   selfs   events   pats   subdirs   dir(    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys   dirs_select_event s   'c    s     |  i   d  S(   N(   s   selfs
   ok_command(   s   selfs   event(    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys   files_double_event s   c    s,     |  i i d  }  |  i |  d  S(   Ns   active(   s   selfs   filess   gets   files   set_selection(   s   selfs   events   file(    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys   files_select_event s   c    s     |  i   d  S(   N(   s   selfs
   ok_command(   s   selfs   event(    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys   ok_event s   c    s     |  i |  i    d  S(   N(   s   selfs   quits   get_selection(   s   self(    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys
   ok_command s   c    s    |  i   \ }
 }  y  t i |
  } Wn0  t i j
 o  |  i i	    d  Sn X |
 |  _
  |  i |
 |   | i    t i g }  g  }  x} | D ]r }  t i i |
 |  }	  t i i |	  o  | i |  n+  t i | |  o  | i |  n q W |  i i d t   x' | D ] }  |  i i t |  qKW |  i i d t   x' | D ] }  |  i i t |  qW t i i |  i    \ } }  | t i  j o  d } n  |  i! |  d  S(   Ni    s    ("   s   selfs
   get_filters   dirs   pats   oss   listdirs   namess   errors   masters   bells	   directorys
   set_filters   sorts   pardirs   subdirss   matchingfiless   names   paths   joins   fullnames   isdirs   appends   fnmatchs   dirss   deletes   ENDs   inserts   filess   splits   get_selections   heads   tails   curdirs   set_selection(   s   selfs   events   heads   pats   names   subdirss   matchingfiless   tails   namess   fullnames   dir(    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys   filter_command s<   	
 	
 	
 	! c    s     |  i i   }  t i i |  }  | d t i j p t i i |  o  t i i | d  } n  t i i	 |  Sd  S(   Nis   *(
   s   selfs   filters   gets   oss   paths
   expandusers   seps   isdirs   joins   split(   s   selfs   filter(    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys
   get_filter s
   *c    s5     |  i i   }  t i i |  }  | Sd  S(   N(   s   selfs	   selections   gets   files   oss   paths
   expanduser(   s   selfs   file(    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys   get_selection s   c    s     |  i   d  S(   N(   s   selfs   quit(   s   selfs   event(    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys   cancel_command s   c    s     t  i i |  oz  y  t  i   } Wn"  t  i j
 o  t } n X | o1  t  i i | |  }  t  i i	 |  } n n  |  i i d t   |  i i t t  i i | p t  i | p d   d  S(   Ni    s   *(   s   oss   paths   isabss   dirs   getcwds   pwds   errors   Nones   joins   normpaths   selfs   filters   deletes   ENDs   inserts   curdirs   pat(   s   selfs   dirs   pats   pwd(    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys
   set_filter s   
c    sE     |  i i d t   |  i i t t i i |  i |   d  S(   Ni    (
   s   selfs	   selections   deletes   ENDs   inserts   oss   paths   joins	   directorys   file(   s   selfs   file(    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys   set_selection s   (   s   __name__s
   __module__s   __doc__s   titles   Nones   __init__s   oss   curdirs   gos   quits   dirs_double_events   dirs_select_events   files_double_events   files_select_events   ok_events
   ok_commands   filter_commands
   get_filters   get_selections   cancel_commands
   set_filters   set_selection(    (    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys
   FileDialog s"   	?s   LoadFileDialogc      s)    t  Z d  Z   d Z  d   Z RS(   s8   File selection dialog which checks that the file exists.s   Load File Selection Dialogc    sQ     |  i   }  t i i |  o  |  i i   n  |  i |  d  S(   N(	   s   selfs   get_selections   files   oss   paths   isfiles   masters   bells   quit(   s   selfs   file(    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys
   ok_command s   (   s   __name__s
   __module__s   __doc__s   titles
   ok_command(    (    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys   LoadFileDialog s   	s   SaveFileDialogc      s)    t  Z d  Z   d Z  d   Z RS(   s@   File selection dialog which checks that the file may be created.s   Save File Selection Dialogc    s&    |  i   }  t i i |  o  t i i |  o  |  i i    d  Sn  t	 |  i
  d d  d d |  d d  d d  d	 d
 d f }  | i d j o  d  Sn nN  t i i |  \ } }  t i i |  o  |  i i   d  Sn |  i |  d  S(   Ns   titles    Overwrite Existing File Questions   texts   Overwrite existing file %s?s   bitmaps	   questheads   defaulti   s   stringss   Yess   Canceli    (   s   selfs   get_selections   files   oss   paths   existss   isdirs   masters   bells   Dialogs   tops   ds   nums   splits   heads   tails   quit(   s   selfs   heads   ds   files   tail(    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys
   ok_command s$   			(   s   __name__s
   __module__s   __doc__s   titles
   ok_command(    (    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys   SaveFileDialog s   	c     sw   t    } | i   	t |  } 
| i d d  } t |  } | i d d  }  | G|  GHd S(   s   Simple test program.s   keys   testN(	   s   Tks   roots   withdraws   LoadFileDialogs   fds   gos   loadfiles   SaveFileDialogs   savefile(   s   savefiles   fds   loadfiles   root(    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys   tests   s   __main__(   s   __doc__s   Tkinters   Dialogs   oss   fnmatchs   dialogstatess
   FileDialogs   LoadFileDialogs   SaveFileDialogs   tests   __name__(   s   LoadFileDialogs
   FileDialogs   SaveFileDialogs   Dialogs   fnmatchs   tests   dialogstatess   os(    (    s'   /usr/lib/python2.2/lib-tk/FileDialog.pys   ?	 s   
	