³ò
0ŽGc           @   sª   d  d k  Z  d  d k Td d d „  ƒ  YZ d d d „  ƒ  YZ d d d „  ƒ  YZ d	 „  Z d
 „  Z d d d „  ƒ  YZ d d d „  ƒ  YZ d e f d „  ƒ  YZ	 d „  Z
 d S(   iÿÿÿÿN(   t   *t   PythonStatusbarCodeGeneratorc           B   s   e  Z d  „  Z RS(   c      	   C   s#  t  i d } | i d \ } } | i i d ƒ } | o | i | ƒ } n d } d | i t | ƒ | f g } g  } | i } | d | i t | ƒ f ƒ | d ƒ | d | i d	 i	 g  }	 | D] }
 |	 | i
 |
 ƒ qÄ ~	 ƒ f ƒ | d
 | i ƒ | d | i | i f ƒ | | g  f S(   Nt   pythont	   statusbart   stylet   0s'   self.%s = self.CreateStatusBar(%s, %s)
s   self.%s.SetStatusWidths(%s)
s   # statusbar fields
s   %s_fields = [%s]
s   , s    for i in range(len(%s_fields)):
s+       self.%s.SetStatusText(%s_fields[i], i)
(   t   commont   code_writerst
   propertiest   gett   cn_ft   namet   lent   appendt   reprt   joint	   quote_str(   t   selft   objt   pygent   labelst   widthsR   t   initt   propsR   t   _[1]t   l(    (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyt   get_code   s"    	
>(   t   __name__t
   __module__R   (    (    (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyR      s   t   PythonFrameCodeGeneratorc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   g  g  g  f S(   N(    (   R   R   (    (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyR   $   s    c   	      C   s  | i  } t i d } | i } g  } | i d ƒ } | o | i d | i | ƒ ƒ n | i d ƒ } | oz| i d ƒ oq | i pc | i d | d ƒ d ƒ | i d	 | d
 ƒ d | d ƒ d | d i	 ƒ  ƒ | i d ƒ qåqé| i d ƒ oU | i pG | i d | d ƒ d ƒ | i d | d i	 ƒ  ƒ | i d ƒ qåqé| i o" d d  k
 } | i | t ƒ } n | i d | d ƒ d ƒ | i d	 | d
 ƒ d | d ƒ d | i | t t ƒ ƒ | i d ƒ n | i | i | ƒ ƒ | S(   NR   t   titles   self.SetTitle(%s)
t   icons   var:s   _icon = t   wxEmptyIcons   ()
s   _icon.CopyFromBitmap(t   wxBitmaps   (%s, t   wxBITMAP_TYPE_ANYs   ))
i   s   self.SetIcon(_icon)
s   code:s   _icon.CopyFromBitmap(%s)
i   iÿÿÿÿ(   R   R   R   t   cnR	   R   R   t
   startswitht   previewt   stript   misct   get_relative_patht   Truet   Falset   extendt   generate_common_properties(	   R   t   framet   propR   R#   t   outR   R   R'   (    (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyt   get_properties_code'   s>    		%

	
c         C   s¥   d g } y) t  | i d ƒ o | i d ƒ n Wn t t f j
 o n Xt i d } | i i d d ƒ i ƒ  o* | i	 d	 j  o | i | i
 | ƒ ƒ n | S(
   Ns   self.Layout()
t   centereds   self.Centre()
R   t   sizet    i   i   (   i   i   (   t   intR   R   t   KeyErrort
   ValueErrorR   R   R	   R&   t   for_versiont   generate_code_size(   R   R-   t   retR   (    (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyt   get_layout_codeJ   s    	(   R   R   R   R0   R:   (    (    (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyR   #   s   		#t   StatusFieldsHandlerc           B   s2   e  Z d  Z d „  Z d „  Z d „  Z d „  Z RS(   s   Handler for statusbar fieldsc         C   s   g  |  _  g  |  _ g  |  _ d  S(   N(   R   R   t
   curr_label(   R   (    (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyt   __init__^   s    		c         C   s7   | d j o& |  i  i t | i d d ƒ ƒ ƒ n d  S(   Nt   fieldt   widthiÿÿÿÿ(   R   R   R4   R	   (   R   R   t   attrs(    (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyt
   start_elemc   s    c         C   sW   | d j o! |  i  |  i f | i d <t Sn |  i  i d i |  i ƒ ƒ g  |  _ d  S(   Nt   fieldsR   R3   (   R   R   R   R)   R   R   R<   (   R   R   t   code_obj(    (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyt   end_elemg   s
    c         C   s   |  i  i | ƒ d  S(   N(   R<   R   (   R   t   data(    (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyt	   char_datan   s    (   R   R   t   __doc__R=   RA   RD   RF   (    (    (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyR;   \   s
   			c            s6   t  i d ‰  d ˆ  i f ‡  f d †  ƒ  Y} | |  ƒ S(   Nt   XRCt   FrameXrcObjectc              s&   e  Z ‡  f d  †  Z ‡  f d †  Z RS(   c            st   d |  i  j o |  i  d =n d |  i  j o |  i  d =n d |  i  j o |  i  d =n ˆ  i i |  | | ƒ d  S(   Nt   menubarR   t   toolbar(   R   t   DefaultXrcObjectt   write(   R   t   outfilet   tabs(   t   xrcgen(    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyRM   w   s    c            s1   | d j o  ˆ  i  i |  | | | | ƒ n d  S(   Nt	   sizehints(   RL   t   write_property(   R   R   t   valRN   t   ntabs(   RP   (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyRR   €   s    	(   R   R   RM   RR   (    (   RP   (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyRI   v   s   	(   R   R   RL   (   R   RI   (    (   RP   sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyt   xrc_frame_code_generatort   s    c            s6   t  i d ‰  d ˆ  i f ‡  f d †  ƒ  Y} | |  ƒ S(   NRH   t   StatusbarXrcObjectc              s   e  Z ‡  f d  †  Z RS(   c            s›   d |  i  j oq |  i  d \ } } t t | ƒ ƒ |  i  d <d i g  } | D] } | t | ƒ qM ~ ƒ |  i  d <|  i  d =n ˆ  i i |  | | ƒ d  S(   NR   RB   s   , R   (   R   t   strR   R   RL   RM   (   R   RN   RO   RB   R   R   t   w(   RP   (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyRM      s    7(   R   R   RM   (    (   RP   (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyRV   Œ   s   (   R   R   RL   (   R   RV   (    (   RP   sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyt   xrc_statusbar_code_generatorŠ   s    t   CppStatusBarCodeGeneratorc           B   s   e  Z d  „  Z RS(   c         C   sB  t  i d } | i d \ } } | i i d ƒ } | p
 d } n d | i t | ƒ | f g } g  } | i } | d | i d i t t	 | ƒ ƒ f ƒ | d | i t | ƒ | i f ƒ d	 i g  }	 | D] }
 |	 | i
 |
 ƒ qÎ ~	 ƒ } | d
 | i | f ƒ | d | i ƒ | d | i | i f ƒ | g  | g  f S(   sM           function that generates code for the statusbar of a wxFrame.
        s   C++R   R   R   s   %s = CreateStatusBar(%s, %s);
s   int %s_widths[] = { %s };
s   , s$   %s->SetStatusWidths(%s, %s_widths);
s
   ,
        s1   const wxString %s_fields[] = {
        %s
    };
s0   for(int i = 0; i < %s->GetFieldsCount(); ++i) {
s.       %s->SetStatusText(%s_fields[i], i);
    }
(   R   R   R   R	   R   R   R   R   t   mapRW   R   (   R   R   t   cppgenR   R   R   R   R   R   R   R   (    (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyR   ›   s&    	3(   R   R   R   (    (    (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyRZ   š   s   t   CppFrameCodeGeneratorc           B   s;   e  Z d d d d d d g Z d „  Z d „  Z d „  Z RS(   s	   wxWindow*t   parentR4   t   ids   const wxString&R   s   const wxPoint&t   post   wxDefaultPositions   const wxSize&R2   t   wxDefaultSizet   longR   t   wxDEFAULT_FRAME_STYLEc         C   s   g  g  g  g  f S(   N(    (   R   R   (    (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyR   ½   s    c         C   s   | i  } t i d } g  } | i d ƒ } | o | i d | i | ƒ ƒ n | i d ƒ } | o  | i d ƒ | i d ƒ o# | i d d | d	 i ƒ  ƒ nP | i d
 ƒ o | i d | d i ƒ  ƒ n! | i d | i | t t ƒ ƒ | i d ƒ n | i	 | i
 | ƒ ƒ | S(   s           generates the code for the various wxFrame specific properties.
        Returns a list of strings containing the generated code
        s   C++R   s   SetTitle(%s);
R   s   wxIcon _icon;
s   var:s   _icon.CopyFromBitmap(wxBitmap(s   %s, wxBITMAP_TYPE_ANY));
i   s   code:s   _icon.CopyFromBitmap(%s);
i   s7   _icon.CopyFromBitmap(wxBitmap(%s, wxBITMAP_TYPE_ANY));
s   SetIcon(_icon);
(   R   R   R   R	   R   R   R$   R&   R*   R+   R,   (   R   R-   R.   R\   R/   R   R   (    (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyR0   À   s(    	%			c         C   s¥   d g } y) t  | i d ƒ o | i d ƒ n Wn t t f j
 o n Xt i d } | i i d d ƒ i ƒ  o* | i	 d	 j  o | i | i
 | ƒ ƒ n | S(
   Ns
   Layout();
R1   s
   Centre();
s   C++R2   R3   i   i   (   i   i   (   R4   R   R   R5   R6   R   R   R	   R&   R7   R8   (   R   R-   R9   R\   (    (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyR:   Ý   s    	(   s	   wxWindow*s   parent(   s   ints   id(   s   const wxString&s   title(   s   const wxPoint&s   posRa   (   s   const wxSize&s   sizeRb   (   s   longs   styleRd   (   R   R   t   constructorR   R0   R:   (    (    (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyR]   ¶   s   			t   CppMDIChildFrameCodeGeneratorc           B   s)   e  Z d  g Z d d d d d d g Z RS(   s
   <wx/mdi.h>s   wxMDIParentFrame*R^   R4   R_   s   const wxString&R   s   const wxPoint&R`   Ra   s   const wxSize&R2   Rb   Rc   R   Rd   (   s   wxMDIParentFrame*s   parent(   s   ints   id(   s   const wxString&s   title(   s   const wxPoint&s   poss   wxDefaultPosition(   s   const wxSize&s   sizes   wxDefaultSize(   s   longs   styles   wxDEFAULT_FRAME_STYLE(   R   R   t   extra_headersRe   (    (    (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyRf   í   s   	c          C   s½  t  i }  d |  d <d |  d <d |  d <d t  i d <d t  i d <t  i i d ƒ } | os | i } | d t ƒ  ƒ | d t ƒ  ƒ | d t ƒ  ƒ | i } | d	 | i	 ƒ | d
 t
 ƒ | d | i	 ƒ n t  i i d ƒ } | oG | i d t ƒ | i d | i ƒ | i d t ƒ | i d
 t
 ƒ n t  i i d ƒ } | os | i d t ƒ  ƒ | i d t ƒ  ƒ | i d t ƒ  ƒ | i d
 t
 ƒ | i d | i	 ƒ | i d	 | i	 ƒ n d  S(   Nt   wxFramet	   EditFramet   wxMDIChildFramet   EditMDIChildFramet   wxStatusBart   EditStatusBari   R   R   RB   RJ   RH   s   C++(   R   t   class_namest	   toplevelsR   R	   t   add_widget_handlerR   R   t   add_property_handlert   DummyPropertyHandlerR;   RU   t   NotImplementedXrcObjectRY   R]   Rf   RZ   (   R#   R   t   awht   aphRP   R\   (    (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pyt
   initializeù   s@    	


			
	
(    (    (    (    (    (   R   t   MenuTreeR   R   R;   RU   RY   RZ   R]   Rf   Rv   (    (    (    sK   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\frame\codegen.pys   <module>   s   
9		7