
0Gc           @   s`  d  d k  Z  d  d k Td  d k l Z l Z d  d k Z d  d k Z d  d k Z d  d k Z d  d k	 Z	 d  d k
 Z
 d f  d     YZ d  d k l Z d e f d     YZ d	 f  d
     YZ d f  d     YZ d e g d  Z d e  i f d     YZ d f  d     YZ d e f d     YZ d e  i f d     YZ d e f d     YZ d e  i f d     YZ d e f d     YZ d e  i f d     YZ d e f d      YZ d! e f d"     YZ  d# e! f d$     YZ" d% e f d&     YZ# e  i$ d' e% d( d' g e& d)  Z' d' g e& d*  Z( e d+  Z) d' g e& d,  Z* e d-  Z+ d.   Z, d S(/   iN(   t   *(   t   Treet
   WidgetTreet	   SizerSlotc           B   s   e  Z d  Z d d  Z d   Z d   Z d   Z d   Z d   Z d   Z	 d	   Z
 d
   Z d   Z d   Z d   Z e d  Z d   Z d   Z d   Z RS(   s'   a window to represent a slot in a sizeri    c         C   s1   d  |  _ | |  _ | |  _ | |  _ d  |  _ d  S(   N(   t   Nonet   widgett   sizert   parentt   post   menu(   t   selfR   R   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   __init__   s
    				c         C   s  t  i d d d  o t i } n d } t i |  i i d d d	 d | |  _ |  i i t i  |  i i	 t
  t i |  i |  i  t i |  i |  i  t i |  i |  i  t i |  i |  i  t i |  i |  i  t i |  i |  i  d   } t i |  i |  d  S(
   Ni   i   i    it   sizei   t   stylec         S   sy   d } |  i    o t i } n |  i   } xF t i D]; \ } } } | | j o | | j o t i |  Pq6 q6 Wd  S(   Ni    (   t   ControlDownt   wxt
   ACCEL_CTRLt
   GetKeyCodet   misct   accel_tablet   wxCallAfter(   t   eventt	   evt_flagst   evt_keyt   flagst   keyt   function(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   on_key_down%   s    
 (   i   i   (   R   t   check_wx_versionR   t   FULL_REPAINT_ON_RESIZEt   WindowR   R   t   SetBackgroundColourt
   LIGHT_GREYt   SetAutoLayoutt   Truet	   EVT_PAINTt   on_paintt   EVT_RIGHT_DOWNt
   popup_menut   EVT_LEFT_DOWNt   drop_widgett   EVT_MIDDLE_DOWNt   select_and_pastet   EVT_ENTER_WINDOWt   on_entert   EVT_LEAVE_WINDOWt   on_leavet   EVT_KEY_DOWN(   R
   R   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   create_widget   s    #		c         C   sB   | o |  i  o |  i   n |  i  o |  i  i |  n d  S(   N(   R   R0   t   Show(   R
   t   yes(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   show_widget0   s     c         C   sj   |  i  t _ t i o3 t i p |  i i   o |  i  i t	 i
  n |  i  i t	 i  | i   d  S(   N(   R   R   t   _currently_under_mouset   commont   adding_widgett   adding_sizerR   t
   is_virtualt	   SetCursorR   t   CROSS_CURSORt   STANDARD_CURSORt   Skip(   R
   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR,   4   s    
c         C   s   d  t _ | i   d  S(   N(   R   R   R4   R<   (   R
   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR.   >   s    	c         C   s   t  i |  i  } | i   | i t  i d t  i   | i t  i  |  i i	   \ } } | i
 d d | |  | i   d  S(   Nt   blacki    (   R   t   PaintDCR   t   BeginDrawingt   SetBrusht   Brusht   FDIAGONAL_HATCHt   SetPent	   BLACK_PENt   GetClientSizet   DrawRectanglet
   EndDrawing(   R
   R   t   dct   wt   h(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR$   E   s    
c         C   s   |  i  i   d  S(   N(   R   t   Refresh(   R
   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   on_sizeN   s    c         C   s\  |  i  p(t i t d   |  _  t i   t i   } } |  i i   p& t i |  i  | t d  t i	  n t i |  i  | t d  t i
  d   } t i |  i | | |  i   t i |  i | | |  i   t i   } |  i  i   t i |  i  | t d   t i |  i | | |  i   n |  i   |  i i |  i  | i    d  S(   Nt   Optionss
   Remove	Dels   Paste	Ctrl+Vc            s     f d   S(   Nc            s   t  i    S(    (   R   R   (   t   e(   t   method(    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   <lambda>\   s    (    (   RO   (    (   RO   sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   bind[   s    t   Preview(   R	   R   t   Menut   _t   NewIdR   R8   R   t   append_itemt
   ART_DELETEt	   ART_PASTEt   EVT_MENUR   t   removet   clipboard_pastet   AppendSeparatort   preview_parentt   setup_preview_menut	   PopupMenut   GetPosition(   R
   R   t	   REMOVE_IDt   PASTE_IDRQ   t
   PREVIEW_ID(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR&   Q   s"    

	#
c         G   s2   |  i  i   p |  i  i |   |  i   n d  S(   N(   R   R8   t   remove_itemt   delete(   R
   t   args(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRZ   h   s    c         C   s   t  i p |  t _ |  i i   d Sn t  i o |  i i   o d Sn t	 t  _ t	 t  _ |  i i
 t i  t  i t  i |  i |  i |  i  d t  _ t	 t  i i _ d S(   s           replaces self with a widget in self.sizer. This method is called
        to add every non-toplevel widget or sizer, and in turn calls the
        appropriate builder function (found in the ``common.widgets'' dict)
        N(   R5   R6   R   t   focused_widgetR   t   SetFocusR7   R   R8   t   FalseR9   R   t
   NullCursort   widgetst   widget_to_addR   R   R   t   app_treet   appt   saved(   R
   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR(   m   s    
			#	c         G   sB   d d  k  } | i |  i |  i |  i  o t t i i _	 n d  S(   Ni(
   t	   clipboardt   pasteR   R   R   Ri   R5   Rm   Rn   Ro   (   R
   Rf   Rp   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR[      s    c         G   s$   |  t  _ |  i i   |  i   d S(   s           Middle-click event handler: selects the slot and, if the clipboard is
        not empty, pastes its content here
        N(   R   Rg   R   Rh   R[   (   R
   Rf   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR*      s    	c         C   s   |  i  o |  i  i   n t i |  i j o d  t _ n | o |  i o |  i i   n t i |  j o d  t _ n t t i	 i
 _ d  S(   N(   R	   t   DestroyR   R4   R   R   Rg   Ri   R5   Rm   Rn   Ro   (   R
   t   delete_widget(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRe      s    "c         C   s   | |  _  d S(   sx           called by self.sizer.change_item_pos to update the item's position
        when another widget is moved
        N(   R   (   R
   t   value(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt
   update_pos   s    c         C   s   t  i |  i  } | d  j	 oj t |  i i    d } | i   o" | i t	 d  d | i
  q | i t	 d  d | i
  n d  S(   Nis   Close previews    (%s)	Ctrl+PRR   (   R   t   get_toplevel_widgetR   R   t   listR	   t   GetMenuItemst   preview_is_visiblet   SetTextRT   t   name(   R
   t   pt   item(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR^      s    "c         C   s4   t  i |  i  } | d  j	 o | i d   n d  S(   N(   R   Rv   R   R   t   preview(   R
   R|   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR]      s    (   t   __name__t
   __module__t   __doc__R   R0   R3   R,   R.   R$   RL   R&   RZ   R(   R[   R*   R"   Re   Ru   R^   R]   (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR      s"   			
													(   t	   GenButtont   SizerHandleButtonc           B   sS   e  Z d  Z d   Z d   Z d   Z d   Z e Z d   Z d   Z	 d   Z
 RS(   sP       Provides a ``handle'' to activate a Sizer and to access its popup menu 
    c            s   t  i   | i | d d d |   _ |   _ d    _ y   i t  Wn t	 j
 o n Xt
 i     i  d   } t
 i   |    f d   } t
 i   |  d  S(   Nt    R   i   c         S   sy   d } |  i    o t i } n |  i   } xF t i D]; \ } } } | | j o | | j o t i |  Pq6 q6 Wd  S(   Ni    (   R   R   R   R   R   R   R   (   R   R   R   R   R   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR      s    
 c            s     t  _ |  i   d  S(   N(   R   Rg   R<   (   R   (   R
   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   on_set_focus   s    	(   i   i   (   t   ButtonR   R   R   R	   R   t   _rmenut   SetUseFocusIndicatorRi   t   AttributeErrorR   R%   R&   R/   t   EVT_SET_FOCUS(   R
   R   t   idR   R	   R   R   (    (   R
   sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR      s    					c         C   s"   |  i  o |  i  i |  n d  S(   N(   R   t   SetTitle(   R
   t   title(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   set_menu_title   s    c         C   s  |  i  pVt i   } t i |  i i  |  _  d   } t i |  i  | t d  t i	  t i
 |  | | |  i   x~ |  i D]s } t i   } d  } t |  d j o | d } n t i |  i  | | d |  t i
 |  | | | d   q W|  i  i   t i   } t i |  i  | t d   t i
 |  | | |  i   |  i  |  i _  |  ` n |  i   |  i |  i  | i    d  S(   Nc            s     f d   S(   Nc            s   t  i    S(    (   R   R   (   RN   (   RO   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRP      s    (    (   RO   (    (   RO   sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRQ      s    s
   Remove	Deli   i    i   RR   (   R   R   RU   R   t   wxGladePopupMenuR   R{   RV   RT   RW   RY   t   _removeR	   R   t   lenR\   R]   R^   R_   R`   (   R
   R   Ra   RQ   R}   R   t   bmpRc   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR&      s,    
	

 !!

c         G   sw   |  i  i o7 |  i  i } t i i |  i  i  | i d   d  Sn |  i  i  i	 |  i  i
  t i i |  i  i  d  S(   N(   R   t   toplevelt   windowR5   Rm   RZ   t   nodet	   set_sizerR   t	   free_slotR   (   R
   Rf   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s    c         C   sI   |  i  o |  i  i   n t i |   t i |  j o d  t _ n d  S(   N(   R   Rr   R   R   Rg   R   (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRr     s    c         C   s   t  i |  i  } | d  j	 oj t |  i i    d } | i   o" | i t	 d  d | i
  q | i t	 d  d | i
  n d  S(   Nis   Close previews    (%s)	Ctrl+PRR   (   R   Rv   R   R   Rw   R   Rx   Ry   Rz   RT   R{   (   R
   R|   R}   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR^     s    "c         C   s#   t  i |  i  } | i d   d  S(   N(   R   Rv   R   R~   R   (   R
   R|   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR]     s    (   R   R   R   R   R   R&   R   RZ   Rr   R^   R]   (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR      s   	,			
			t	   SizerItemc           B   s#   e  Z d  Z d d d d d  Z RS(   s&       Represents a child of a sizer
    i    c         C   s=   | |  _  | |  i  _ | |  _ | |  _ | |  _ | |  _ d  S(   N(   R}   R   t   optiont   flagt   borderR   (   R
   R}   R   R   R   R   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR   (  s    				N(   R   R   R   R   R   (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR   $  s   t   SizerClassDialogc           B   s;   e  Z d d d d d d g Z d   Z d   Z d   Z RS(   t   EditBoxSizerVs   wxBoxSizer (wxVERTICAL)t   EditBoxSizerHs   wxBoxSizer (wxHORIZONTAL)t   EditStaticBoxSizerVs   wxStaticBoxSizer (wxVERTICAL)t   EditStaticBoxSizerHs   wxStaticBoxSizer (wxHORIZONTAL)t   EditGridSizert   wxGridSizert   EditFlexGridSizert   wxFlexGridSizerc         C   s   | |  _  | |  _ d  |  _ d  S(   N(   t   ownerR   R   t   dialog(   R
   R   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR   >  s    		c         C   s   |  i  i i } t |  i  d  o2 |  i  i t i j o | d 7} qT | d 7} n g  } |  i D]$ \ } } | | j o | | qb qb ~ } t i |  i	 t
 d  t
 d  |  |  _ |  i i   |  i i   S(   Nt   orientt   Ht   Vs   Select sizer type(   R   t	   __class__R   t   hasattrR   R   t
   HORIZONTALt   choicest   SingleChoiceDialogR   RT   R   t   CenterOnScreent	   ShowModal(   R
   R{   t   _[1]t   at   bR   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR   C  s    $;c         C   s   |  i  i   S(   N(   R   t   GetStringSelection(   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt	   get_valueN  s    (   R   s   wxBoxSizer (wxVERTICAL)(   R   s   wxBoxSizer (wxHORIZONTAL)(   R   s   wxStaticBoxSizer (wxVERTICAL)(   R   s   wxStaticBoxSizer (wxHORIZONTAL)(   s   EditGridSizers   wxGridSizer(   s   EditFlexGridSizers   wxFlexGridSizer(   R   R   R   R   R   R   (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR   5  s   			i    c            s]  h    f d   d <  f d   d <  f d   d <  f d   d <  f d	   d
 <  f d   d <} | |   } | i  i   i  d    i | _ t | t  o?| i t   d d   | i t   d t | i   d   | i	 t   d d   | i
 t   d d   t | t  o y   i }   i } | o; | | _ | i d i t  | i d i | i    n | o; | | _ | i d i t  | i d i | i    n Wqt t f j
 o qXqn | i t d t | d d j o# t i d d t d   | d <n x | i  d D] } | i }	 | |	 _ t |	 t  pw |	 i i   }
 |	 i i  | d  |	 i i  |
  | i i! |	 i" |	 i t# |	 i$    |	 i%   t# |	 i&     qFqFW| i' p   i | _   i( | _(   i) | _)   i* | _*   i" | _" | | i i  | i" _ | i i o- | i i i+   | i" } | i, | i  qn d d k- } | i. i/ | i |  t0   _' | i1   | i2 i3 |  x<   i i+   D]+ } | o | i4   o | i, d  qqW  i i5     i  d    _    i6   | i' o | i7 i8 |  n | i9 t  d S(   s/      changes 'old' sizer to 'new'
    Params:
      - old: SizerBase instance to replace
      - new: string selection that identifies the new instance
      - which_page: index of the notebook page of the property window to
                    display: this is used only by set_growable_(rows|cols)
    c              s"   t    i   i t i d    i  S(   i    (   t   EditBoxSizerR{   R   R   t   VERTICALR   (    (   t   old(    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRP   _  s   s   wxBoxSizer (wxVERTICAL)c              s"   t    i   i t i d    i  S(   i    (   R   R{   R   R   R   R   (    (   R   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRP   b  s   s   wxBoxSizer (wxHORIZONTAL)c              s4   t    i   i t i t   d    i  d   i  S(   t   labeli    (   t   EditStaticBoxSizerR{   R   R   R   t   getattrR   (    (   R   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRP   e  s   s   wxStaticBoxSizer (wxVERTICAL)c              s4   t    i   i t i t   d    i  d   i  S(   R   i    (   R   R{   R   R   R   R   R   (    (   R   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRP   i  s   s   wxStaticBoxSizer (wxHORIZONTAL)c        	      s(   t    i   i d  d d d d   i S(   t   rowsi    t   colsR   (   R   R{   R   R   (    (   R   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRP   m  s   R   c        	      s(   t    i   i d  d d d d   i S(   R   i    R   R   (   R   R{   R   R   (    (   R   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRP   p  s   R   i   R   R   t   hgapi    t   vgapt   growable_rowst   growable_colst   dont_setis   HIDDEN FRAME FOR CHANGE SIZERN(:   t   childrent   extendR   t
   isinstancet   GridSizerBaset   set_rowsR   t   set_colsR   t   set_hgapt   set_vgapR   t	   grow_rowst	   grow_colst
   propertiest   toggle_activeR"   t	   set_valuet   get_growable_rowst   get_growable_colsR   t   KeyErrorR3   R   R   t   FrameRT   R}   R   R   R   t	   GetParentt   Reparentt   InsertR   t   intt
   get_optiont   get_int_flagt
   get_borderR   R   R   R   t   GetChildrent   SetSizerR5   Rm   t   change_nodeRi   t   show_propertiest   notebookt   SetSelectiont   IsSizert   ClearRe   R   R   t   layout(   R   t   newt
   which_paget   _hiddent   constructorst   szrt   grow_rt   grow_ct   cR   R|   t   elemR5   (    (   R   sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   change_sizerT  s    	&				# 		
	
 )

t   InsertDialogc           B   s   e  Z d    Z d   Z RS(   c      	   C   sF  t  i i |  d  d t d   d |  _ t |  d |  d d | f d t d  } t  i t  i  } | i	 | i
 d t  i t  i Bd  t  i t  i  } | i	 t  i |  t  i t d   d t  i d  | i	 t  i |  t  i t d	   d t  i d  | i	 | d t  i  |  i t  |  i |  | i |   |  i   d  S(
   Nis   Select a positioni    t   positiont   rR   i   t   OKt   Cancel(   R   t   DialogR   R   RT   R   t   SpinPropertyt   BoxSizerR   t   Addt   panelt   ALLt   EXPANDR   R   t   ID_OKt	   ID_CANCELt   ALIGN_CENTERR!   R"   R   t   FitR   (   R
   t   max_valt   pos_propR   t   szr2(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s    	*#11c            s"     f d   }   f d   | f S(   Nc            s   t  |     _ d  S(   N(   R   R   (   t   v(   R
   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   set_pos  s    c              s     i  S(    (   R   (    (   R
   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRP     s    (    (   R
   R{   R  (    (   R
   sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   __getitem__  s    (   R   R   R   R  (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s   	t   Sizerc           B   s   e  Z d  Z d   Z d
 d
 d
 d
 e d  Z d
 d d d d
 e d  Z e d  Z e d  Z	 e d  Z
 d   Z d	   Z RS(   s6       Base class for every Sizer handled by wxGlade
    c         C   s   | |  _  d  S(   N(   R   (   R
   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s    c         C   s
   t   d S(   sA           Updates the layout of the item at the given pos.
        N(   t   NotImplementedError(   R
   R   R   R   R   R   t   force_layout(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   set_item  s    i    c         C   s
   t   d S(   s&           Adds an item to self.
        N(   R  (   R
   R}   R   R   R   R   R   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   add_item  s    c         C   s   d S(   s(           Removes elem from self.
        N(    (   R
   R   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRd     s    c         C   s
   t   d S(   s?           Replaces the element at pos with an empty slot
        N(   R  (   R
   R   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s    c         C   s   d S(   sc           Internal method used to replace a notebook widget with its notebook
        sizer.
        N(    (   R
   R   t   notebook_sizerR  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   _fix_notebook  s    c         C   s   t  S(   sK           Return true if sizer is virtual (f.e. SplitterWindowSizer)
        (   Ri   (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR8     s    c         C   s
   t   d S(   s           For virtual sizers only, returns the position of the item
        in the parent: this is used when loading a wxg file, to build the
        tree of widgets correctly
        N(   R  (   R
   t   attrs(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   get_itempos  s    N(   R   R   R   R   R   R"   R  R  Rd   R   R
  R8   R  (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s   		t	   SizerBasec           B   s  e  Z d  Z e e d/ d  Z d   Z e d  Z d   Z	 d   Z
 d   Z d   Z d   Z d	   Z d
   Z d   Z d   Z e i d  Z d   Z d   Z d   Z d/ d d d d/ e d  Z d   Z e d  Z d/ d/ d/ d/ e d  Z d   Z e d  Z e Z e d  Z e d  Z  d   Z! d   Z" d   Z# d   Z$ d   Z% d   Z& d    Z' d!   Z( d"   Z) e* i+ d# j o d$   Z, n
 d%   Z, d&   Z- d'   Z. d(   Z/ d)   Z0 e d*  Z1 d+   Z2 d,   Z3 d-   Z4 d.   Z5 RS(0   sB       Base class for every non-virtual Sizer handled by wxGlade
    c         C   sR  t  i |  |  t i   |  _ | |  _ | |  _ | |  _ d |  _ h  |  _	 | i
 |  _
 d  |  _ | |  _ |  i p+ d |  _ t i |  _ d |  _ d  |  _ n | |  _ |  i d  j o1 t d  |  i f t d  |  i f g |  _ n |  i i t d  |  i t i f t d  |  i t i f g  d  |  _ d  |  _ |  i   g  |  _ d  S(   Ni    i   s   Add slots   Insert slot...s   Copy	Ctrl+Cs
   Cut	Ctrl+X(    R  R   R   RU   R   R{   t   klasst   baseR   R   t   property_windowR   R   R   R   R   R   R   R   R	   RT   t   add_slott   insert_slotR   t   clipboard_copyt   ART_COPYt   clipboard_cutt   ART_CUTt   _btnR   t   _property_setupR   (   R
   R{   R  R   R   t   showR	   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s6    							
						
c         C   s
   t   d S(   s0           Creates the wxSizer self.widget
        N(   R  (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR0   8  s    c         C   s  | p
 |  i  o d  Sn t |  i |  i |  |  i  |  _ t i |  i |  i |  i  |  i	   |  i
 |  i  _ |  i  i |  i  _ |  i i |  i  _ |  i o | o |  i i |   n t i i p |  i  i |  i t  n t i |  j o |  i t  n d  S(   N(   R   R   R   R   R	   R  R   t
   EVT_BUTTONR   R0   t   refreshRK   t
   GetMinSizet   GetBestSizet   ScreenToClientR   R   t   configt   preferencest   show_sizer_handleR1   Ri   R   Rg   t   update_viewR"   (   R
   R2   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR3   >  s    !
&c            s<  t  i t  i t  i t  i t  i t  i t  i t  i t  i	 t  i
 t  i t  i g   _ h    f d     i f d <  f d     i f d <  _   i ph   i   i f   i d <  i   i f   i d <  i   i f   i d <  i   i f   i d <n t   d d d	 t d    _ t   d  } t   d d | d	 t d    _    i p h  }   _! d
 d k" l# } l$ } |     i%  | d <d t d  d d d d d d t d  d d d d d d d g } t&   d d |  | d <t'   d d d d d	 t d  | d <|     i%  | d <n d S(   s1           Setup of the Properties of self.
        c              s     i  S(    (   R{   (    (   R
   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRP   Y  s    R{   c              s     i  S(    (   R  (    (   R
   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRP   Z  s    t   classR   R   R   R   R   i(   t   LayoutOptionPropertyt   LayoutPosPropertys	   #section#t   Bordert   wxALLt   wxLEFTt   wxRIGHTt   wxTOPt   wxBOTTOMt	   Alignmentt   wxEXPANDt   wxALIGN_RIGHTt   wxALIGN_BOTTOMt   wxALIGN_CENTER_HORIZONTALt   wxALIGN_CENTER_VERTICALt   wxSHAPEDt   wxADJUST_MINSIZEi    i  N(   i    i  ((   R   R   t   LEFTt   RIGHTt   TOPt   BOTTOMR   t   ALIGN_RIGHTt   ALIGN_BOTTOMt   ALIGN_CENTER_HORIZONTALt   ALIGN_CENTER_VERTICALt   SHAPEDt   ADJUST_MINSIZEt	   flags_post   set_namet   changet   access_functionsR   R   t
   set_optiont   get_flagt   set_flagR   t
   set_bordert   get_posR  t   TextPropertyR   RT   t	   name_propR   t   DialogPropertyt
   klass_propt   sizer_propertiest   layout_option_propertyR$  R%  R   t   CheckListPropertyR   (   R
   R   t   propR$  R%  t   flag_labels(    (   R
   sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR  O  s8     
!$
	(c         C   s5   | |  _  |  i d i |  |  i d i |  d  S(   NR   R   (   R   RK  R   (   R
   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   set_containing_sizerx  s    	c         C   s   |  i  d S(   Ni   (   R   (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRF  }  s    c         C   s:   t  i |  i i |  t | d t |  i i  d   d  S(   Ni   (   R   R   R   t   change_item_post   minR   R   (   R
   Rt   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s    c         C   s%   |  i  d i | d  | |  _ d  S(   NR   i   (   RK  R   R   (   R
   Rt   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRu     s    c         G   s    t  i t |  |  i i    d  S(   N(   R   R   R   RJ  R   (   R
   Rf   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR@    s    c         C   s  t  i t i d  |  _ t i d d d  p" t  i |  i  } | |  i _ n d |  i _ |  i i
 t  t  i |  i d d t  i } t  i t  i  } |  i i |  |  i i |  |  i i i t  | i |  i i d t  i  | i |  i i d t  i  |  i p |  i } | d i |  | d i |  | d i |  | d	 i |  | i | d i d t  i  | i | d i d t  i  | i | d i d t  i  | i | d	 i d t  i  ng t  i   } t  i | | t d
   |  _ t  i |  i | |  i   | i |  i d t  i! t  i Bd  | i
 t  | i" |  | i# |  | i$   \ } } |  i i% | t d   | i& d d d t' t( i) | d    d S(   s0           Displays the Properties of self
        ii   i   R   i    R   R   R   R   s
   Fit parentt   Commoni   g      @N(*   R   t   NotebookR5   t   property_panelR   R   R   t   NotebookSizerR   R   R!   R"   t   ScrolledWindowt   TAB_TRAVERSALR   R   RH  t   displayRJ  t   textt   SetEditableRi   R   R   R   R   RK  RU   R   RT   t   fit_btnR  t
   fit_parentR   R   R   t   GetClientSizeTuplet   AddPaget   SetScrollbarsR   t   matht   ceil(   R
   t   nb_sizerR   t	   sizer_tmpRN  t   FIT_IDRI   RJ   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   create_properties  sB    
	!#c         C   s"   |  i  o |  i  i |  n d S(   sq           pops up a menu to add or remove slots from self, or to remove self
        from the application.
        N(   R  R&   (   R
   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR&     s    c         C   s?  d | } t  i i oq |  i og t i i | |  i  oN t i	 t
 i t d  | t d  t
 i t
 i B |  i i |  i  d  Sn t i |  i |  p |  i i |  i  n |  i } | |  _ |  i i |  y t i i |  i |  Wn) t j
 o d d  k } | i   n X|  i i t d  |  i  d  S(   Ns   %ss:   Name "%s" is already in use.
Please enter a different one.t   Erroris   Properties - <%s>(   R  R   t   allow_duplicate_namesR   R5   Rm   t   has_nameR   R   R   R   t
   MessageBoxRT   R   t
   ICON_ERRORRH  R   R{   t   ret   matcht   set_name_patternR  R   t   refresh_nameR   t	   tracebackt	   print_excR  R   (   R
   Rt   t   oldnameRp  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR?    s$    
#		s   ^[a-zA-Z_]+[\w0-9]*$c         C   s   |  i  | S(   N(   RA  (   R
   Rt   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s    c   	   
   G   s  |  i  i   p d Sn |  i p |  i   n |  i i   } | i   d } | i   } | |  i j o d Sn yc d } | i | i	    } xA t
 |  i i    D]* } |  i i |  | j o | } Pq q WWn t j
 o } d } n X| i   d | j o |  i i   j  n o |  i i |  n |  i i |  i  | i |  i  | i t i  |  i i   |  i i |  i i    |  i i   |  i i t d  |  i  t |  d  o t i i |  i  n y |  i i    Wn t j
 o n Xd S(   sg           Updates common.property_panel to show the notebook with the Properties
        of self
        Ni    is   Properties - <%s>R   (!   R   t
   is_visibleR   Rf  R  t   GetSizerR   t	   GetWindowt   GetPageTextt   GetSelectiont   ranget   GetPageCountR   t   HideR   R   t	   SetWindowR   t   hidden_property_panelR1   t   SetSizeRE   t   LayoutR   RT   R{   R   R5   Rm   t   select_itemR   R  Rh   (	   R
   Rf   Rd  t   childRI   t   indexR   t   iRN   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s<    
 
''c         G   sE   |  i  o7 |  i i  o* |  i  i |  i i   |  i i  i   n d S(   sV           Tell the sizer to resize the window to match the sizer's minimal size
        N(   R   R   R   R~  (   R
   Rf   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR]    s    i    c   
      C   s<  t  |  } t  |  } t  |  } | d j o t |  i  } |  i   n yZ |  i | } t | i t  o | i i t	  n t
 | | | | | |  |  i | <Wn; t j
 o/ d d k }	 |	 i   |  i G| GHt  n Xt | d  o | i |   n
 |  | _ | | _ |  i | | | | | | |  d S(   s&           Adds an item to self.
        iNRP  (   R   R   R   R   R  R   R}   R   Re   Ri   R   t
   IndexErrorRp  Rq  t
   SystemExitR   RP  R   R   t   _add_item_widget(
   R
   R}   R   R   R   R   R   R  t	   old_childRp  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s(    $		c         C   sj  |  i  p d  Sn | i  p d  Sn y |  i  i   | } Wn t j
 o |  i  i | i  | | |  | o | \ }	 }
 n | i  i   \ }	 }
 |	 d j o | i  i   d }	 n |
 d j o | i  i   d }
 n |  i  i | i  |	 |
  d  Sn Xt i d d  p | i   o' | i	   }	 | i
 d   |	 i   n y | i
 | i   Wn# t j
 o | i | i   n X| i |  | i |  | i |  nh |  i  i | | i  | | |  |  i  i | d  | i   o' | i	   }	 |	 i d   |	 i   n y(| o | \ }	 }
 n | i  i   \ }	 }
 |	 d j o | i  i   d }	 n |
 d j o | i  i   d }
 n d } t i d d  o | i   } n | i   } | i   } | p | d j p | t i @o |  i  i | i  |	 |
  n/ | i  i   \ }	 }
 |  i  i | i  |	 |
  Wn t j
 o	 } n X| o |  i   n d  S(   Nii    i   i   i   (   R   R   R  R   R  t   SetItemMinSizeR   R   t   IsWindowRu  R{  R   Rr   t	   TypeErrorR   t	   SetOptiont   SetFlagt	   SetBorderR   t   Removet   SetContainingSizert   GetProportiont	   GetOptiont   GetFlagR   R   t	   ExceptionR   (   R
   R}   R   R   R   R   R   R  R   RI   RJ   RN   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR  *  s\    $$	$$#$c         C   s   |  i  i   | } t i d d  p | i d  n+ | i   o | i   } | i d  n | i	 |  | o |  i
   n d S(   s          Replaces the widget at 'pos' with 'notebook_sizer': this is intended
        to be used by wxNotebook widgets, to add the notebook sizer to this
        sizer.
        This is a hack, but it's the best I could find without having to
        rewrite too much code :-(
        i   i   N(   R   R   R   R   R{  R   R  Ru  R  R   R   (   R
   R   R	  R  R}   RI   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR
  j  s    
c   	   
   C   s   y |  i  | } Wn/ t j
 o# d d k } | i   t  n X| d j	 o t |  } | | _ n | d j	 o t |  } | | _ n | d j	 o t |  } | | _	 n | d j	 o | | _
 n |  i | | | | | |  d S(   sA           Updates the layout of the item at the given pos.
        iN(   R   R  Rp  Rq  R  R   R   R   R   R   R   t   _set_item_widget(	   R
   R   R   R   R   R   R  R}   Rp  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s    c         C   s  |  i  p d  Sn y |  i  i   | } Wn t j
 o d  Sn X| d  j	 o5 t i d d  p | i |  q | i |  n | d  j	 o | i |  n | d  j	 o | i	 |  n | i
   o.| i   } | d  j o | i   } n | \ }	 }
 |	 d j o | i   d }	 n |
 d j o | i   d }
 n t i   } | i |  | i | i    | i	 | i    t i d d  o | i | i    n | i | i    | i |	 |
  |  i  i | |  |  i  i | d  n | o |  i t  n d  S(   Ni   i   ii    i   (   R   R   R  R   R   R   R  t   SetProportionR  R  R  Ru  t   GetSizeR  R   R   R{  R  t	   GetBorderR  R  t   SetInitSizet
   InsertItemR  R   R"   (   R
   R   R   R   R   R   R  R   R}   RI   RJ   t   newelem(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s:    !!c         C   s   | oB x. |  i  | i d D] } | i i d 8_ q W|  i  | i =n |  i o9 | i o/ |  i i | i  | o |  i t  q n d S(   s(           Removes elem from self.
        i   N(   R   R   R}   R   R  R   R"   (   R
   R   R  R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRd     s     c   	      C   sH  |  i  p d  Sn d d k l } |  i o t |  i |  o t |  i i d  o |  i i d i	   pD |  i i i  } |  i i  i
   \ } } | i |  i i  | |  n |  i i |  j	 o |  i i i t  n | i   d  Sn |  i o t |  i |  o |  i  i   t i |  i i  i   |  i i  i    } t i |  i i  |  t i d d d  o1 t i d d d	  o |  i  i |  i i   n d  Sn |  i  i |  i  i    |  i  i   x= |  i D]2 } y | i i  i   Wqt j
 o	 } qXqW| o1 t |  d
 d   d  j	 o |  i i |  qDn d  S(   Ni(   t   TopLevelBaseR   R   i   i   i   i   i    R   (   R   t   edit_windowsR  R   R   R   R   R   R   t	   is_activeR  R  R   Ri   R~  R   t	   SizeEventR  t   GetIdt	   PostEventR   R   t	   FitInsidet
   SetMinSizet   CalcMinR   R}   RK   R  R   R   (	   R
   t	   recursiveR  R   RI   RJ   t   evtR   RN   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s>    

 c   
      C   s  |  i  p d Sn | i } d d k } | i |  i |  } | | j oZ x2 |  i | | !D]  } | i i | i i d  q[ W|  i i | |  |  i | d =n[ x: |  i | d | d !D]  } | i i | i i d  q W|  i | =|  i i | |  | i |  |  i  i   | } | i d  t
 i |  i i  d  }	 | i |	  |  i  i |	  |	 i   |  i  i | | i  t | i    | i   t | i     t i i | i | d  t i i | i  | o2 |  i   t
 i d j o |  i i  i   qn d S(   sy           Changes the position of the 'item' so that it is at 'new_pos'
        'new_pos' must be a valid position
        Nii   t	   __WXMSW__(   R   R   t   copyR   R}   Ru   t   insertR   R   R   R   R   R   R{  R  Rr   R   R   R   R   R   R5   Rm   t   change_node_posR   R  R   t   PlatformRK   (
   R
   R}   t   new_posR  t   old_posR  t   new_itemR   R   t   fake_win(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRQ    s:    	  

!
c         C   sU   t  |  |  _ y  |  i i |  i d |  i Wn t j
 o	 } n X|  i   d S(   sw           If self is not a toplevel sizer, update the layout to reflect the value
        of the option property
        R   N(   R   R   R   R  R   R   t
   finish_set(   R
   Rt   RN   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRB    s
     c      	   C   s   |  i  d i |  } d } x: t t |   D]& } | | o | |  i | O} q/ q/ W| |  _ y |  i i |  i d | Wn t	 j
 o	 } n X|  i
   d S(   su           If self is not a toplevel sizer, update the layout to reflect the
        value of the flag property
        R   i    N(   RK  t   prepare_valueRx  R   R>  R   R   R  R   R   R  (   R
   Rt   R   R  RN   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRD  +  s     	 c         C   sP   t  |  |  _ y  |  i i |  i d |  i Wn t j
 o } | GHn Xd S(   ss           If self is not a toplevel sizer, update the layout to reflect
        value of the border property
        R   N(   R   R   R   R  R   R   (   R
   Rt   RN   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRE  :  s    #c         C   s%   t  |  d  p d Sn t |  i  S(   NR   t   1(   R   t   strR   (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR   C  s    c         C   s   d g t  |  i  } t |  d  p | Sn y |  i } x= t t  |  i   D]& } | |  i | @o d | | <qP qP W| d d !d d d d g j o' d | d <d d d d g | d d +n d | d <Wn t j
 o n X| S(   Ni    R   i   i   (   R   R>  R   R   Rx  R   (   R
   t   retvalR   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRC  G  s    	 $ 'c         C   s,   y |  i  SWn t j
 o t i Sn Xd  S(   N(   R   R   R   R   (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR   V  s    c         C   s%   t  |  d  p d Sn t |  i  S(   NR   t   0(   R   R  R   (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR   Z  s    c         C   s#   |  i  p d  Sn |  i  i   d  S(   N(   R  R   (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRZ   ^  s    c         C   s   d |  _ |  i o |  i i   n |  i oE |  i i } |  i i   |  i i   | d j	 o | i   qs n x? |  i D]4 } | i o$ t	 | i t
  o | i i   q} q} W|  i o |  i i d  n d S(   s           ``Destructor''
        N(   R   R   R  Rr   R   R   t   DeleteAllPagesR   R}   R   R   Re   R   R   R   (   R
   t   nb_szrR   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRe   c  s    	

 2
R  c         C   sS   xL |  i  D]A } | i i o. y | i i i   WqK t j
 o qK Xq
 q
 Wd  S(   N(   R   R}   R   RK   R   (   R
   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR  {  s
    
 c         C   s   d  S(   N(    (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s    c         G   sS   xL |  i  D]A } | i i o. y | i i i   WqK t j
 o qK Xq
 q
 Wd  S(   N(   R   R}   R   RK   R   (   R
   Rf   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s
    
 c         C   s^   |  i  d  j	 oJ t i t i  } | o t i } n |  i  i |  |  i  i t  n d  S(   N(	   R  R   R   t   SystemSettings_GetColourt   SYS_COLOUR_BTNFACEt   REDR   RK   R"   (   R
   t   selectedt   color(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR"    s    c         O   s   t  |  i |  t |  i   } t | t |  i  d t i  } |  i i |  |  i p d Sn | i	 t
  |  i i | i d t i  |  i i | i d d  | i d t
  } | o |  i t
  n t t i i _ d S(   sn           adds a slot to the sizer, i.e. a fake window that will accept the
        dropping of widgets
        i   Ni   R  (   R   R   R   R   R   R   R   t   appendR   R3   R"   R   R  t   getR   Ri   R5   Rm   Rn   Ro   (   R
   Rf   t   kwdst   tmpR}   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s    !c         O   sE  |  i  p d Sn t t |  i  d  } | i   t i j o | i d } t |  i	 |  |  } x' |  i | D] } | i
 i d 7_ qq W|  i i | t | | d t i d   | i t  |  i  i | | i  d t i  |  i  i | i  d d  | i d t  } | o |  i t  n t t i i _ n | i   d S(   s           inserts a slot into the sizer: the user will be asked for a position
        before which to insert the SizerSlot object. This method is meaningful
        only in an interactive session
        Ni   i    i   R  (   R   R   R   R   R   R   R   R   R   R   R}   R  R   R   R3   R"   R   R  R  R   Ri   R5   Rm   Rn   Ro   Rr   (   R
   Rf   R  R   R   R  R   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s      (c         C   s9  t  |  i |  |  } t | | d t i d  } | |  i | <|  i o | i t  t	 i
 d d  o7 |  i i | d | i d t i  |  i i |  n |  i i   | } | i | i  | i d  t	 i
 d d  p | i d  n | i d  | i d  | i t i  | o |  i   q5n d S(   s?           Replaces the element at pos with an empty slot
        i   i    i   i   i   N(   R   R   R   R   R   R   R   R3   R"   R   R   R   t   DetachR   R{  R   R   R  R  R  R  R   (   R
   R   R  R  R}   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s"    
#c         C   s   |  i  i   S(   N(   R   Rs  (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRs    s    c         G   s   d d k  } | i |   d S(   sG           returns a copy of self to be inserted in the clipboard
        iN(   Rp   R  (   R
   Rf   Rp   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s    c         G   s   d d  k  } | i |   d  S(   Ni(   Rp   t   cut(   R
   Rf   Rp   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s    c         C   s   |  i  p d Sn |  i i d i   p |  i   d d k } |  i i   \ } } d } | i i	 o. |  i i i
 |  i i    \ } } d } n |  i i d | | | f  n d S(   s           Called after the loading of an app from an XML file, before showing
        the hierarchy of widget for the first time. 
        This is used only for container widgets, to adjust their size
        appropriately.
        NR   iR   t   ds   %s, %s%s(   R   R   R   R  R]  R  R   R  R   t   use_dialog_unitst   ConvertPixelSizeToDialogt   set_size(   R
   R  RI   RJ   t   prefix(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt	   post_load  s    

N(6   R   R   R   R"   R   R   R0   Ri   R3   R  RP  RF  R  Ru   R@  Rf  R&   R?  Rl  t   compileRn  R  R   R]  R  R  R
  R  R  Rd   R  R   RQ  RB  RD  RE  R   RC  R   R   RZ   Re   R   R  R  R  R"  R  R  R   Rs  R  R  R  (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    sd   '		)						*				*			@	''.																		t   wxGladeBoxSizerc           B   s   e  Z d    Z RS(   c         C   sw   yD | i    \ } } | d j o
 | } n | d j o
 | } n Wn t j
 o n Xt i i |  | | |  d  S(   Ni(   R  R   R   R   R  (   R
   R}   RI   RJ   t   w2t   h2(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s    (   R   R   R  (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s   R   c           B   sA   e  Z d  Z e i d e e d  Z d   Z d   Z d   Z	 RS(   s+       Class to handle wxBoxSizer objects
    i   c   
      C   s   t  i |  | d | | |  |  i |  i f |  i d <h  t |  d | t i j o d p d  d <|  _ d d	 d     Y} t	 |   d d t i
  g |  _ xR t d | d  D]= } t |  i |  |  }	 |  i i t	 |	 | d t i
   q W| |  _ d  S(
   Nt
   wxBoxSizerR   t   wxHORIZONTALt
   wxVERTICALt   Dummyc           B   s   e  Z d Z d  Z RS(   R   N(   R   R   R   R   R{   (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s   i    i   (    (   R  R   t
   get_orientt
   set_orientRA  t   HiddenPropertyR   R   R   R   R   R   Rx  R   R   R  R   (
   R
   R{   R   R   t   elementsR   R  R  R  R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s    ! &c         C   s  t  |  i  |  _ |  i i |  i d t i  g  } x|  i d D]} | i i	 t
  t | i t  o? |  i i | i i d t i  |  i i | i i d d  qB | i i i d  } | ot| i   og| i d j p | i t i @o t i d d  p | i t i @o\ | i i i   | i i i   \ } } t i d d  o | i i i | | f  q6q:| i   i   } | d d	 j o | d  } t
 } n t } g  } | i d
  D] }	 | t |	  q~ \ } } | o( t i | i i | | f  \ } } n | i | i i  | | f f  qB qB Wx- | D]% \ }
 } |  i! |
 d | d t qEW|  i" t
  |  i# oH t$ |  d  o8 |  i% i& |  |  i  |  i |  i |  i' |  i i(    n d  S(   Ni    i   i   R   i   i   i   iR  t   ,R  R   ()   R  R   R   R   R  R   R   R   R}   R3   R"   R   R   R  R   R  R  R   R   R   R   t   FIXED_MINSIZER~  R  R  R   t   stripRi   t   splitR   t   DLG_SZER  R   R  R   R   R   R   R  R   R  (   R
   t
   to_lay_outR   t   spRI   RJ   R   R  R   R  R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR0     sD      !!

6(' c         C   s.   h  d t  i <d t  i <} | i |  i  S(   NR  R  (   R   R   R   R  R   (   R
   t   od(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR  K  s    c         C   s:   h  t  i d <t  i d <} | i | t  i  |  _ d  S(   NR  R  (   R   R   R   R  R   (   R
   Rt   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR  P  s    (
   R   R   R   R   R   R"   R   R0   R  R  (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s   		0	t   wxGladeStaticBoxSizerc           B   s   e  Z d    Z RS(   c         C   sw   yD | i    \ } } | d j o
 | } n | d j o
 | } n Wn t j
 o n Xt i i |  | | |  d  S(   Ni(   R  R   R   t   StaticBoxSizerR  (   R
   R}   RI   RJ   R  R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR  Y  s    (   R   R   R  (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR  X  s   R   c           B   sq   e  Z d  Z e i d d e e d  Z d   Z d   Z d   Z	 d   Z
 d   Z d	   Z d
   Z d   Z RS(   s1       Class to handle wxStaticBoxSizer objects
    R   i   c         C   s  | |  _  | |  _ t i |  | d | | |  |  i |  i f |  i d <t |  d | t i	 j o d p d  |  i
 d <d d	 d     Y} t |   d d t i  g |  _ xR t d | d  D]= }	 t |  i |  |	  }
 |  i i t |
 |	 d t i   q Wd  S(
   Nt   wxStaticBoxSizerR   R  R  R  c           B   s   e  Z d  Z RS(   N(   R   R   R   R   (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR  t  s    i    i   (    (   R   R   R  R   R  R  RA  R  R   R   R   R   R   R   Rx  R   R   R  (   R
   R{   R   R   R   R  R   R  R  R  R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR   i  s    			! c   	   
   C   sI  t  t i |  i i d |  i  |  i  |  _ |  i i |  i d t i	  x|  i
 d D]} | i i t  t | i t  o? |  i i | i i d t i	  |  i i | i i d d  qW | i i i d  } | o | i   o | i d j p | i t i	 @o | i   i   } | d d j o | d  } t } n t } g  } | i d  D] } | t |  q[~ \ } } | o( t i | i i | | f  \ } } qn | i i i   \ } } |  i i | i i | |  qW W|  i   |  i oH t |  d  o8 |  i  i! |  |  i" |  i |  i |  i# |  i i$    n d  S(	   Nii    i   i   R   R  R  R   (%   R  R   t	   StaticBoxR   R   R   R   R   R  R   R   R}   R3   R"   R   R   R  R   R  R  R   R   R   R  Ri   R  R   R  R  R   R   R   R   R  R   R   R  (	   R
   R   R  R   R  R   R  RI   RJ   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR0   {  s6    	  "

6, 
c            sk   t  i      i   i f   i d <t   d d  d t d  }   i d <  f d   } | | _	 d  S(   NR   c            sW   d d  k  } |  i d | d  |  i | i | i   i      |  i d  d  S(   Nis       s   <label>s	   </label>
(   t   widget_propertiest   writet   escapet   _encodet	   get_label(   t   outfilet   tabsR  (   R
   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s
    (
   R  R  R  t	   set_labelRA  RG  R   RT   R   R  (   R
   t   lblR  (    (   R
   sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s
    )c         C   s   t  i |   |  i i d  } | i   } |  i d i |  | i |  i d i d t	 i
  | i   | i   \ } } | i d d d t t i | d    d  S(   Ni    R   i   i   g      @(   R  Rf  R   t   GetPageRt  R   RY  R   R   R   R   R~  R  R`  R   Ra  Rb  (   R
   R   R   RI   RJ   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRf    s     
c         C   sG   t  i |  |  _ |  i o |  i i   i |  i  n |  i   d S(   s1           Sets the label of the static box
        N(   R   t   wxstrR   R   t   GetStaticBoxt   SetLabelR   (   R
   Rt   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s    'c         C   s   |  i  S(   N(   R   (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s    c         C   s2   |  i  o |  i  i   i   n t i |   d  S(   N(   R   R  Rr   R  Re   (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRe     s    !c         C   s.   h  d t  i <d t  i <} | i |  i  S(   NR  R  (   R   R   R   R  R   (   R
   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s    c         C   s:   h  t  i d <t  i d <} | i | t  i  |  _ d  S(   NR  R  (   R   R   R   R  R   (   R
   Rt   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s    (   R   R   R   R   R   R"   R   R0   R  Rf  R  R  Re   R  R  (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR   e  s   	 		
				t   CustomSizerc           B   sq   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z RS(   s`       Custom wxSizer class used to implement a GridSizer with an additional
    handle button
    c         C   s|   t  i i |  t  i  | |  _ | | | | |  |  _ t  i i |  |  i i d t  i  t  i i |  |  i d t  i  d  S(   Ni    i   (	   R   R   R   R   R   t   _gridR   R  R   (   R
   R   t   factoryR   R   R   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s
    	"c         C   s   t  |  i |  S(   N(   R   R  (   R
   R{   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   __getattr__  s    c         C   s   |  i  i   S(   N(   R  R  (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s    c         O   s   |  i  i | |   d  S(   N(   R  R   (   R
   Rf   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s    c         O   s   |  i  i | d | |  d  S(   Ni   (   R  R   (   R
   R   Rf   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s    c         O   sU   y( t  | d  d } |  i i |  Wn& t j
 o |  i i | |   n Xd  S(   Ni    i   (   R   R  R  R  (   R
   Rf   R  R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s
    c         C   s   |  i  i | d  d  S(   Ni   (   R  R  (   R
   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt	   RemovePos  s    c         C   sN   y$ t  |  d } |  i i |  Wn# t j
 o |  i i |  n Xd  S(   Ni   (   R   R  R  R  (   R
   t
   pos_or_objR   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s
    c         C   st   yD | i    \ } } | d j o
 | } n | d j o
 | } n Wn t j
 o n X|  i i | | |  d  S(   Ni(   R  R   R  R  (   R
   R}   RI   RJ   R  R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s    c         C   s   d  g t |  i i    S(   N(   R   Rw   R  R   (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s    c         C   s!   |  i  i   t i i |   d  S(   N(   R  R~  R   R   (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR~    s    (   R   R   R   R   R  R  R   R   R  R  R  R  R   R~  (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s   											R   c           B   s   e  Z d  Z d d d d e e d  Z d   Z d   Z d   Z d   Z d   Z	 d	   Z
 d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   s>       Base class for Grid sizers. Must not be instantiated.
    i   i    c
         C   s  | |  _  | |  _ | |  _ | |  _ |  i p
 |  i  o2 |  i  p d |  _  qj |  i p d |  _ qj n t d  |  i f t d  |  i f t d  |  i f t d  |  i f t d  |  i	 f t d  |  i
 f g }
 t i |  | | | | |	 |
  d d d	     Y} t |   d
 d
 t i  g |  _ x\ t d |  i  |  i d  D]= } t |  i |  |  } |  i i t | | d t i   qMWd  S(   Ni   s   Add slots   Insert slot...s   Add rows
   Add columns   Insert row...s   Insert column...R  c           B   s   e  Z d  Z RS(   N(   R   R   R   R   (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s    i    (    (   R   R   R   R   RT   R  R  t   add_rowt   add_colt
   insert_rowt
   insert_colR  R   R   R   R   R   Rx  R   R   R  (   R
   R{   R  R   R   R   R   R   R   R  R	   R  R  R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s$    ! c      
   C   sQ  g  } x|  i  d D]} | i i t  t | i t  o? |  i i | i i d t i	  |  i i
 | i i d d  q | i i i d  } | ot| i   og| i d j p | i t i	 @o t i d d  p | i t i @o\ | i i i   | i i i   \ } } t i d d  o | i i i | | f  qq| i   i   } | d d	 j o | d  } t } n t } g  } | i d
  D] }	 | t |	  q~ \ } } | o( t i | i i | | f  \ } } n | i | i i | | f f  q q Wx- | D]% \ }
 } |  i |
 d | d t qW|  i t  d S(   sV           This must be overriden and called at the end of the overriden version
        i   i   R   i    i   i   i   iR  R  R  N(    R   R}   R3   R"   R   R   R   R   R   R   R  R   R  R  R   R   R   R   R  R~  R  R  R   R  Ri   R  R   R  R  R   R  R   (   R
   R  R   R  RI   RJ   R   R  R   R  R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR0   #  s:      !!

6(' c      	   C   s  t  i |   |  i |  i f |  i d <|  i |  i f |  i d <|  i |  i f |  i d <|  i	 |  i
 f |  i d <h  t |  d d  d t d  d <t |  d d  d t d  d <t |  d d  d t d  d <t |  d d  d t d  d <} | |  _ d  S(   NR   R   R   R   R   (   R  R  t   get_rowsR   RA  t   get_colsR   t   get_hgapR   t   get_vgapR   R   R   RT   R   (   R
   t   props(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR  V  s    %!!#c         C   sB  t  i |   t i |  i d d t i } t i t i  } |  i } | d i	 |  | d i	 |  | d i	 |  | d i	 |  | i
 | d i d t i  | i
 | d i d t i  | i
 | d i d t i  | i
 | d i d t i  | i t  | i |  | i |  |  i i | t d   d  S(	   NiR   R   R   R   R   i    t   Grid(   R  Rf  R   RW  R   RX  R   R   R   RY  R   R   R   R!   R"   R   R   R_  RT   (   R
   t   pageR   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRf  b  s     	c         C   s   |  i  S(   N(   R   (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR  t  s    c         C   s   |  i  S(   N(   R   (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR  u  s    c         C   s   |  i  S(   N(   R   (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR  v  s    c         C   s   |  i  S(   N(   R   (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR  w  s    c         C   s   | |  _  | |  _ |  i d i |  |  i d i |  |  i o7 |  i i |  i   |  i i |  i  |  i t  n d  S(   NR   R   (	   R   R   R   R   R   t   SetRowst   SetColsR   R"   (   R
   R   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   _set_rows_colsy  s    		
c         C   sA   t  |  |  _ |  i o$ |  i i |  i  |  i t  n d  S(   N(   R   R   R   R  R   R"   (   R
   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s    
c         C   sA   t  |  |  _ |  i o$ |  i i |  i  |  i t  n d  S(   N(   R   R   R   R  R   R   R"   (   R
   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s    
c         C   s>   t  |  |  _ |  i o! |  i i |  i  |  i   n d  S(   N(   R   R   R   t   SetHGapR   (   R
   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s    
c         C   s>   t  |  |  _ |  i o! |  i i |  i  |  i   n d  S(   N(   R   R   R   t   SetVGapR   (   R
   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s    
c         G   sK   |  i  o= |  i i  o0 |  i  i |  i i   |  i  i |  i i   n d S(   sV           Tell the sizer to resize the window to match the sizer's minimal size
        N(   R   R   R   t   SetSizeHints(   R
   Rf   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR]    s    c   	      O   sn  |  i  p d Sn | i d t  oE t t |  i   } | i   t i j } | i	 d } | i
   n | d } t } | o t |  i |  |  } x' |  i | D] } | i i	 d 7_	 q W|  i i | t | | d t i d   | i t  |  i  i | | i  d t i  |  i  i | i  d d  | i d t  } | o |  i t  n t t i i _ n d S(   s           inserts a slot into the sizer: the user will be asked for a position
        before which to insert the SizerSlot object
        Nt   interactivei   R   i    i   R  (   R   R  R"   R   R   R   R   R   R   R   Rr   R   R   R}   R  R   R   R3   R   R  R   Ri   R5   Rm   Rn   Ro   (	   R
   Rf   R  R   t   okR   R  R   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s(    
 (c         O   s0   |  i  p d  Sn |  i |  i  i   d  d  S(   Ni   (   R   t   _insert_rowt   GetRows(   R
   Rf   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s    c         G   sc   |  i  p d  Sn t |  i  i    } | i   t i j o |  i | i d  n | i   d  S(   Ni   (	   R   R   R  R   R   R   R  R   Rr   (   R
   Rf   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s
    c      
   C   se  |  i  i   } |  i  i   } | d | d } | t |  i  j o t |  i  d } | | } | | o | d 7} n | | | j oG xD t | | |  D]* } |  i d t d | | d d t  q Wn | | d } n |  i | d  x4 t |  D]& } |  i d t d | | d t  qW|  i	 d i
 |  i  |  i t  t t i i _ d  S(   Ni   R  R   R  R   (   R   R  t   GetColsR   R   Rx  R  Ri   R   R   R   R   R   R"   R5   Rm   Rn   Ro   (   R
   R   R   R   t   totR  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s*    
  $c         O   s0   |  i  p d  Sn |  i |  i  i   d  d  S(   Ni   (   R   t   _insert_colR  (   R
   Rf   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s    c         G   sc   |  i  p d  Sn t |  i  i    } | i   t i j o |  i | i d  n | i   d  S(   Ni   (	   R   R   R  R   R   R   R	  R   Rr   (   R
   Rf   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s
    c      
   C   sZ  |  i  i   } |  i  i   } | t |  i  j o t |  i  d } | | } | | o | d 7} n | | | j oG xD t | | |  D]* } |  i d t d | | d d t  q Wn | | d } n |  i | d  x; t |  D]- } |  i d t d | |  i	 | d t  q W|  i
 d i |  i	  |  i t  t t i i _ d  S(   Ni   R  R   R  R   (   R   R  R  R   R   Rx  R  Ri   R   R   R   R   R   R"   R5   Rm   Rn   Ro   (   R
   R   R   R   R  R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR	    s*    
   c         C   s{  |  i  p d  Sn y |  i  i   | } Wn t j
 o d  Sn X| d  j	 o5 t i d d  p | i |  q | i |  n | d  j	 o | i |  n | d  j	 o | i	 |  n | i
   o | d  j o | i   } n | i   } | \ }	 }
 |	 d j o | i   d }	 n |
 d j o | i   d }
 n |  i  i | |	 |
  n | o |  i t  n d  S(   Ni   i   ii    i   (   R   R   R  R   R   R   R  R  R  R  R  R  Ru  R  R  R   R"   (   R
   R   R   R   R   R   R  R   R}   RI   RJ   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s(    !!(   R   R   R   R"   R   R0   R  Rf  R  R  R  R  R  R   R   R   R   R]  R  R  R  R  R  R  R	  R  (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR   	  s0   	3							
												R   c           B   s2   e  Z d  Z d d d d e e d  Z d   Z RS(   s,       Class to handle wxGridSizer objects
    i   i    c	   	      C   s,   t  i |  | d | | | | | | | 
 d  S(   NR   (   R   R   (	   R
   R{   R   R   R   R   R   R   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR   &  s    c         C   s   t  |  t i |  i |  i |  i |  i  |  _ |  i o? t	 |  d d   o, |  i i |  |  i |  i |  i |  i  n t i |   d  S(   NR   (   R  R   t	   GridSizerR   R   R   R   R   R   R   R   R   R  R   R   R   R   R   R0   (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR0   +  s    (   R   R   R   R"   R   R0   (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR   "  s   t   CheckListDialogPropertyc           B   s/   e  Z d g Z e d   Z d   Z d   Z RS(   c   	   
      s    |  _  | |  _ |  i d p6 d t i f    f d     Y} |   |  i d <n t i |  | |   |  i d | d  | |  _ d  S(   Ni    R   c              s5   e  Z    f d    Z d   Z d   Z d   Z RS(   c            s  t  i i |    d   t  i t  i  } t  i |  d d  |  _ | i |  i d t  i t  i	 Bt  i
 Bt  i Bd  t  i |  d d d g |  _ | i |  i d t  i t  i	 Bt  i
 Bd  | i t  i |  d  d t  i t  i Bd  t  i t  i  } | i t  i |  t  i d  d t  i d  | i t  i |  t  i d  d t  i d  | i | d t  i  |  i t  |  i |  | i |   |  i   d  S(   NiR   i    i
   R   t   dummyi   (   R   R   R   R   R   t
   StaticTextt   messageR   R6  R4  R5  R   t   CheckListBoxR   t
   StaticLineR   R   R   R   R   R   R!   R"   R   R   R   (   R
   R   t   sz2(   R   R   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR   @  s     "*,++c         S   s]   g  } xG t  |  i i    D]0 } |  i i |  o | i t |   q q Wd i |  S(   NR  (   Rx  R   t   GetCountt	   IsCheckedR  R  t   join(   R
   t   retR   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR   R  s
     .c         S   sV   t  i d j o |  i i |  n/ |  i i   x | D] } |  i i |  q8 Wd  S(   Nt	   __WXGTK__(   R   R  R   t   SetR   t   Append(   R
   t   valuesR  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   set_choicesX  s     c         S   s!   |  i  |  |  i i |  d  S(   N(   R   R  R  (   R
   R   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   set_descriptions`  s    (   R   R   R   R   R  R  (    (   R   R   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR   ?  s   		R   (   R   R  R   R   R   RI  R   t   choices_setter(	   R
   R   R{   R   R   R  t   callbackt   can_disableR   (    (   R   R   sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR   :  s    		"&c         C   s@   |  i  |  i    |  i i |  i |  i  t i |  |  d  S(   N(   R  R  R   R  R   R  RI  t   display_dialog(   R
   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR  k  s    c         C   s   |  i  i |  d  S(   N(   R   R  (   R
   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR  p  s    N(   R   R   R   R   R"   R   R  R  (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR  8  s   	0	R   c           B   sz   e  Z d  Z d d d d e e d  Z d   Z d   Z d   Z d   Z d   Z	 d	   Z
 d
   Z d   Z d   Z RS(   s0       Class to handle wxFlexGridSizer objects
    i   i    c	   	      C   s,   t  i |  | d | | | | | | | 
 d  S(   NR   (   R   R   (	   R
   R{   R   R   R   R   R   R   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR   z  s    c      
   C   s   t  |  t i |  i |  i |  i |  i  |  _ t i	 |   x! |  i
 D] } |  i i |  qD Wx! |  i D] } |  i i |  qh W|  i oE t |  d d   d  j	 o, |  i i |  |  i |  i |  i |  i  n d  S(   NR   (   R  R   t   FlexGridSizerR   R   R   R   R   R   R0   R   t   AddGrowableRowR   t   AddGrowableColR   R   R   R   R  R   R   R   R   (   R
   R   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR0     s    
 
 $c      	      s   t  i    g    _   i   i f   i d <g    _   i   i f   i d <  f d   } t	   d d  t d  t d  |  } |   i d <  f d   } t	   d d  t d  t d  |  } |   i d <d  S(	   NR   R   c              s   t  t t   i     S(   N(   t   mapR  Rx  R  (    (   R
   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   rows_setter  s    s   Growable Rowss   Select growable rowsc              s   t  t t   i     S(   N(   R#  R  Rx  R  (    (   R
   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   cols_setter  s    s   Growable Columnss   Select growable columns(   R   R  R   R   t   set_growable_rowsRA  R   R   t   set_growable_colsR  R   RT   R   (   R
   R$  t   prR%  (    (   R
   sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s&    								c         C   s   t  i |   |  i i d  } | i   } |  i } | d i |  | d i |  | i | d i d t	 i
  | i | d i d t	 i
  | i   | i |  d  S(   Ni   R   R   i    (   R   Rf  R   R  Rt  R   RY  R   R   R   R   R~  R   (   R
   R  R   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRf    s    	
c      
   C   s   y7 g  } | i  d  D] } | t |  q ~ |  _ Wn? | i   p g  |  _ qy |  i d i |  i    d  Sn X|  i oF |  i o |  i i	   } n d } t
 i t |  |  i i   |  n d  S(   NR  R   i    (   R  R   R   R  R   R   R   R   R   Rw  R   R   R   RJ  R   (   R
   Rt   R   R  R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR&    s    :
c      
   C   s   y7 g  } | i  d  D] } | t |  q ~ |  _ Wn? | i   p g  |  _ qy |  i d i |  i    d  Sn X|  i oF |  i o |  i i	   } n d } t
 i t |  |  i i   |  n d  S(   NR  R   i    (   R  R   R   R  R   R   R   R   R   Rw  R   R   R   RJ  R   (   R
   Rt   R   R  R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR'    s    :
c         C   s   d i  t t |  i   S(   NR  (   R  R#  R  R   (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s    c         C   s   d i  t t |  i   S(   NR  (   R  R#  R  R   (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     s    c         C   sv   xL t  t |  i   D]5 } |  i | | d j o |  i | c d 7<q q Wt i |  |  |  i |  i    d  S(   Ni   (   Rx  R   R   R   R  R&  R   (   R
   R   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s     c         C   sv   xL t  t |  i   D]5 } |  i | | d j o |  i | c d 7<q q Wt i |  |  |  i |  i    d  S(   Ni   (   Rx  R   R   R   R	  R'  R   (   R
   R   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR	    s     (   R   R   R   R"   R   R0   R  Rf  R&  R'  R   R   R  R	  (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR   v  s   								i   R   c	         C   s  | }	 d | d }
 x6 t  i i |
  o" | d c d 7<d | d }
 q W| d  j	 o
 d } n d } | o t |
 |  | | |	 |  } n t |
 |  | |	 |  } | d  j	 o[ | i | | d t i  t	 i
 |  } | | _ t  i i | | i | d  t t  _ ns |  i |  t	 i
 |  } | | _ | d  j o t  i i | |  i  n' t  i i | |  i | d  | | _ | i |  | d  j	 o0 | i d i d  | i d i | d  n d  S(   Ns   sizer_%di    i   R   R-  R   (   R5   Rm   Ri  R   R   R   R  R   R   R   t   NodeR   R  Ri   R7   R   t   addR   R3   RK  R   (   R   R   R   t   orientationt   slotst	   is_staticR   t   numberR  t   numR{   t   toplt   szR   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   _builder  s4    		'	c   	      C   s   d t  i f d     Y} | |   } | i   | i i   t d  j o t  i } n
 t  i } | i i	   } t
 |  | | | | | i i	   | i i	    | i   d S(   s)       factory function for box sizers.
    t   SizerDialogc           B   s#   e  Z d    Z d   Z d   Z RS(   c         S   s  t  i i |  t i |  d t d   t  i |  d t d  d t d  t d  g |  _ |  i i d  t  i	 t  i
  } | i t  i |  d t d   d t  i t  i Bd	  t  i |  d  |  _ |  i i d
 d  |  i i d
  | i |  i d
 t  i d	  t  i	 t  i  } | i |  i d t  i t  i Bd  | i | d t  i  t  i   } t  i |  | t d   |  _ t  i |  d d  |  _ |  i i t  t  i |  | |  i  | i |  i d t  i t  i Bd  t  i	 t  i
  } | i t  i |  d t d   d t  i  | i |  i d
  | i | d t  i t  i Bd  t  i |  t  i  t d   } | i!   | i | d t  i t  i Bd  |  i" d
  |  i# |  | i$ |   |  i%   |  i&   d  S(   Nis   Select sizer typet   OrientationR   t
   Horizontalt   Verticali    s   Slots: i   i   id   i   s   Has a Static BoxR   s   Label: R   i
   ('   R   R   R   R   t   get_toplevel_parentRT   t   RadioBoxR+  R   R   R   R   R  R   R;  t   SpinCtrlR/  t   SetRanget   SetValueR   R   RU   t   CheckBoxt   checkt   TextCtrlR   t   EnableRi   t   EVT_CHECKBOXt   on_check_statboxR   R   R   t
   SetDefaultR!   R   R   R~  R   (   R
   R   R  R   t   CHECK_IDt   btn(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR     sD    	!##+ 
 
c         S   sT   |  i  i d  |  i i d  |  i i d  |  i i d  |  i i t  d  S(   Ni    i   R   (   R+  R   R/  R;  R=  R   R?  Ri   (   R
   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   reset0  s
    c         S   s   |  i  i | i    d  S(   N(   R   R?  R  (   R
   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRA  7  s    (   R   R   R   RE  RA  (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR3  
  s   	%	R5  N(   R   R   R   R+  R   RT   R   R   R/  t   GetValueR2  R=  R   Rr   (	   R   R   R   R.  R  R3  R   R+  R/  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   builder  s    2
	c         C   s  d d k  l } y |  d } Wn" t j
 o | t d   n Xt i } | d j	 o
 t } n t } |  d d j o t	 | | | d d |  }	 n t
 | | | d |  }	 | d j	 o | d j o | t d	   n | i |	 d
 | d | i d | i d | i t i |	  }
 |
 |	 _ | d j o t i i |
 | i  qt i i |
 | i | d  n< | i |	  t i |	  }
 |
 |	 _ t i i |
 | i  |	 S(   sH       factory function to build EditBoxSizer objects from an xml file
    i(   t   XmlParsingErrorR{   s   'name' attribute missingR  R   R   i    s   'sizeritem' object not foundR   R   R   R   i   N(   t	   xml_parseRH  R   RT   R   R   R   Ri   R"   R   R   R  R   R   R   R   R)  R   R5   Rm   R*  R  R   (   R  R   R   t	   sizeritemR   RH  R{   R+  R0  R1  R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   xml_builderI  s.    "		'!	c         C   sW  d t  i f d     Y} | |   } | i   t | i i    } t | i i    } t | i i    }	 t | i i    }
 d | d } x6 t	 i
 i |  o" | d c d 7<d | d } q Wt } | i i   o
 t } n t } | d	 j	 o
 t } n | | |  | | |	 |
 |  } | d	 j	 o[ | i | | d t  i  t i |  } | | _ t	 i
 i | | i | d  t t	 _ ns |  i |  t i |  } | | _ | d	 j o t	 i
 i | |  i  n' t	 i
 i | |  i | d  | | _ | i |  | d	 j	 o0 | i d i d  | i d i | d  n | i    d	 S(
   s)       factory function for grid sizers
    R   c           B   s   e  Z d    Z d   Z RS(   c         S   s  t  i i |  t i |  d t d   t |  d |  d t d  |  _ t |  d |  d t d  |  _ t |  d |  d t d  |  _	 t |  d |  d t d  |  _
 t  i |  d d  |  _ |  i i d	  |  i i d	  |  i	 i d
  |  i
 i d
  t  i t  i  } | i t  i |  d t d   d t  i t  i Bd  | i |  i d t  i d  t  i t  i  } | i |  i i d
 t  i t  i Bt  i Bt  i Bd  | i |  i i d
 t  i t  i Bt  i Bd  | i |  i	 i d
 t  i t  i Bt  i Bd  | i |  i
 i d
 t  i t  i Bt  i Bd  | i | d
 t  i t  i Bt  i Bd  t  i t  i  } t  i |  t  i t d   } | i   | i |  | i | d
 t  i t  i Bd  |  i t  |  i  |  | i! |   |  i"   |  i#   d  S(   Nis   Select sizer attributesR   R   R   R   R   R   i   i    t   Flexiblei   i   i   i
   R   ($   R   R   R   R   R7  RT   R   R   R   R   R   R<  t   flexR   R   R   R   R  R   R;  R   R   R4  R5  R6  R   R   R   RB  R   R!   R"   R   R   R~  t   CentreOnParent(   R
   R   R   R   RD  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR   m  s>    !!!!!4---'
 
c         S   s   d   d   f S(   Nc           S   s   d  S(   i    (    (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRP     s    c         S   s   d  S(   N(   R   (   R  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyRP     s    (    (   R
   R{   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR    s    (   R   R   R   R  (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyR   l  s   	$s   grid_sizer_%di    i   R   R-  R   N(!   R   R   R   R   R   R   R   R   R   R5   Rm   Ri  R"   RM  RF  R   R   R   Ri   R  R   R   R)  R   R  R7   R   R*  R   R3   RK  R   Rr   (   R   R   R   R.  R  R   R   R   R   R   R   R{   R0  t   constructorR1  R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   grid_builderh  sB    *
		'	c   
      C   s  d d k  l } y |  d } Wn" t j
 o | t d   n X|  d d j o
 t } n t } | d j	 o | | | d d d	 d d
 t } | d j o | t d   n | i | d | d | i	 d | i
 d | i t i |  }	 |	 | _ | d j o t i i |	 | i  qt i i |	 | i | d  n] | | | d d d	 d d
 t } | i |  t i |  }	 |	 | _ t i i |	 | i  | S(   sI       factory function to build EditGridSizer objects from an xml file
    i(   RH  R{   s   'name' attribute missingR  R   R   i    R   R   s   'sizeritem' object not foundR   R   R   R   i   N(   RI  RH  R   RT   R   R   R   Ri   R  R   R   R   R   R)  R   R5   Rm   R*  R  R"   R   (
   R  R   R   RJ  R   RH  R{   RO  R1  R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   grid_xml_builder  s*    "!	'!!	c          C   s   t  i }  t |  d <t |  d <t  i } t | d <t | d <t | d <t | d <d d k l } d d k	 } | i
 i t  i d  | i d <| i
 i t  i d	  | i d <t  i d d  t  i d d	  g S(
   s}       module initialization function: returns a list of buttons (to add to the
    main palette) to add the various sizers
    R   R   R   R   i(   R   Ns   icons/sizer.xpms   icons/grid_sizer.xpm(   R5   Rk   RG  RP  t   widgets_from_xmlRK  RQ  t   treeR   t   os.patht   pathR  t   wxglade_patht   imagest   make_object_button(   t   cwt   cwxR   t   os(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pyt   init_all  s     	

	



	(-   R   R  RS  R   R   R5   R  R   Ra  t   sysRl  R   t   wx.lib.buttonsR   R   R   R   R   R   R   R   R   R  R  R   R  R   R  R  R   R  R   R   RI  R  R   R   Ri   R"   R2  RG  RK  RP  RQ  R\  (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\edit_sizers\edit_sizers.pys   <module>   s@   
$$og:  Th< >m	"CU