
0Gc           @   s   d  d k  Z  d  d k Z d  d k Z d  d k Z d  d k l Z d  d k Td  d k Td  d k l	 Z	 l
 Z
 l Z d e  i f d     YZ d e f d     YZ d	 e	 e f d
     YZ d g d  Z e d  Z d   Z d S(   iN(   t   Tree(   t   *(   t   EditBaset   TopLevelBaset   PreviewMixint   MenuItemDialogc           B   s   e  Z d d   Z d   Z e d  Z d   Z d   Z d   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 RS(   c         C   s-  t  i i |  | d t d  d t  i t  i Bg  } t d  D] } | t  i   q@ ~ \ } } } }	 }
 } } } } } } } } t  i |  d t d   |  _	 | |  _
 t  i |  | d t  i t  i Bt  i B|  _ t  i |  i d    |  i i d t d   |  i i d	 t d
   |  i i d t d   |  i i d t d   |  i i d t d   |  i i d t d   |  i i d d  |  i i d d  |  i i d d  |  i i d d  t  i |  |
  |  _ t  i |  |	  |  _ t  i |  |  |  _ t  i |  |  |  _ t  i |  d  |  _ d d  k } | i d  |  _ t  i |  | t d  d d d d g d d |  _ t  i |  | t d   |  _ t  i |  | t d   |  _  t  i |  | t d   |  _! t  i |  | t d   |  _" t  i |  | t d   |  _# t  i |  | d  |  _$ t  i |  | d   |  _% t  i |  t  i& t d!   |  _' t  i |  t  i( t d"   |  _) t  i |  t  i* t d#   |  _+ |  i,   d |  _- t  i. |  | |  i/  t  i. |  | |  i0  t  i. |  | |  i1  t  i. |  | |  i2  t  i. |  | |  i3  t  i. |  | |  i4  t  i. |  | |  i5  t  i. |  t  i( |  i6  t  i7 |  i |  i8  t  i7 |  i |  i8  t  i7 |  i |  i8  t  i7 |  i |  i8  t  i7 |  i |  i8  t  i9 |  | |  i8  t  i: |  | |  i;  | o |  i< |  n d  S($   Nis   Menu editort   stylei   s
   Menu item:c         S   s
   |  i    S(    (   t   Skip(   t   e(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyt   <lambda>   s    i    t   Labeli   t   Idi   t   Namei   s   Help Stringi   t   Typei   s   Event Handleri   s   ^\s*\w*\s*$t   choicest   Normalt	   Checkablet   Radiot   majorDimensiont   Addt   Removes   Add separatort   Upt   Downs    < s    > t   OKt   Applyt   Cancel(=   t   wxt   Dialogt   __init__t   _t   DEFAULT_DIALOG_STYLEt   RESIZE_BORDERt   ranget   NewIdt	   StaticBoxt
   _staticboxt   ownert   ListCtrlt	   LC_REPORTt   LC_SINGLE_SELt   SUNKEN_BORDERt
   menu_itemst   EVT_MOUSEWHEELt   InsertColumnt   SetColumnWidtht   TextCtrlt   idt   labelt   namet   help_strt   event_handlert   ret   compilet
   handler_ret   RadioBoxt   check_radiot   Buttont   addt   removet   add_sept   move_upt	   move_downt	   move_leftt
   move_rightt   ID_OKt   okt   ID_APPLYt   applyt	   ID_CANCELt   cancelt	   do_layoutt   selected_indext
   EVT_BUTTONt   add_menu_itemt   remove_menu_itemt   add_separatort   move_item_leftt   move_item_rightt   move_item_upt   move_item_downt   on_applyt   EVT_KILL_FOCUSt   update_menu_itemt   EVT_RADIOBOXt   EVT_LIST_ITEM_SELECTEDt   show_menu_itemt	   add_items(   t   selft   parentR$   t   itemst   _[1]t   it   ADD_IDt	   REMOVE_IDt   NAME_IDt   LABEL_IDt   ID_IDt   CHECK_RADIO_IDt   LIST_IDt
   ADD_SEP_IDt   MOVE_LEFT_IDt   MOVE_RIGHT_IDt
   MOVE_UP_IDt   MOVE_DOWN_IDt   HELP_STR_IDR3   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR      sr    T	!!!
	c         C   sK  |  i  i t  |  i i t  |  i i t  |  i i t  |  i i t  |  i i t  t i	 t i
  } t i |  i t i
  } |  i  i d  |  i i d  |  i i d  |  i i d  |  i i d  t i d d  } t i d d d  o t i } n d } t i } | i t i |  d t d   d | | i |  i d | | i t i |  d t d   d | | i |  i  d | | i t i |  d t d	   d | | i |  i d | | i t i |  d t d
   d | | i |  i d | | i t i |  d t d   d | | i |  i d | | i | d t i t i Bd  | i |  i d t i t i Bt i Bd  t i d d d d  } | i |  i d t i  | i |  i d t i  | i | d t i  | i |  i d t i t i Bd  t i	 t i
  } | i |  i  d t i t i Bd  t i	 t i!  } | i |  i" d t i t i Bd  | i |  i# d t i t i Bd  | i |  i$ d t i t i Bd  | i |  i% d t i t i Bd  | i | d t i& t i Bd  t i	 t i!  } | i | d t i t i Bd  | i | d t i t i Bt i Bd  | i | d t i  t i	 t i!  } | i |  i' d t i d  | i |  i( d t i d  | i |  i) d t i d  | i | d t i t i& Bd  |  i* d  |  i+ |  | i, |   |  i d  |  i-   d  S(   Ni   ii    i   i   s   Id   t   flags   Label  s   Name  s   Help String  s   Event Handler  i   i   i   i^  (   i   i(   i   i(   i   i(   i   i(   i   i(   ii^  (.   R/   t   Enablet   FalseR.   R0   R1   R2   R7   R   t   BoxSizert   VERTICALt   StaticBoxSizerR#   t   SetSizet   FlexGridSizert   misct   check_wx_versiont   FIXED_MINSIZEt   ALIGN_CENTER_VERTICALR   t
   StaticTextR   t   ALLt   EXPANDt   LEFTt   RIGHTt   BOTTOMt	   GridSizerR9   R:   R;   t   TOPR)   t
   HORIZONTALR<   R=   R>   R?   t   ALIGN_CENTERRA   RC   RE   t   SetAutoLayoutt   SetSizert   Fitt   CenterOnScreen(   RW   t   sizert   sizer2t   szrRi   t
   label_flagt   sizer3t   sizer4(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyRF   c   sp    	((((( *2######  ' c         C   sF   x? |  i  |  i |  i |  i |  i |  i f D] } | i |  q+ Wd  S(   N(   R/   R.   R0   R1   R7   R2   Rj   (   RW   t   enablet   s(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyt   _enable_fields   s     c         C   sa  |  i  d } |  _  |  i i   p |  i   n | d j  o |  i i   } n/ | d j o d |  i | d  } n d } d
 \ } } } } |  i i | | |  |  i i | d |  |  i i | d |  |  i i | d |  |  i i | t i	 t i	  |  i
 i |  |  i i |  |  i i |  |  i i t |   |  i i d  d	 S(   sD           Event handler called when the Add button is clicked
        i   i    s       t    t   itemt   0i   i   N(   R   s   itemR   R   (   RG   R)   t   GetItemCountR   t
   item_levelt   InsertStringItemt   SetStringItemt   SetItemStateR   t   LIST_STATE_SELECTEDR0   t   SetValueR/   R.   R7   t   SetSelectiont   intR2   (   RW   t   eventt   indext   indentR0   R/   R.   R7   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyRI      s$     (
c         C   s   |  i  d } |  i i   p |  i   n | d j  o |  i i   } n3 | d j o d |  i | d  d } n d } |  i i | |  |  i i | d d  |  i i | d d  |  i i | t i	 t i	  d S(   sN           Event handler called when the Add Separator button is clicked
        i   i    s       s   ---i   N(
   RG   R)   R   R   R   R   R   R   R   R   (   RW   R   R   R/   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyRK      s     ,c      
   C   s!  | i    |  _ } t i |  i i | d  i d  p xo |  i d f |  i d f |  i	 d f |  i
 d f |  i d f f D]+ \ } } | i |  i i | |  i  q{ W|  i i |  i i   i    y, |  i i t |  i i | d  i   Wq|  i i d  qXn | i   d S(	   sN           Event handler called when a menu item in the list is selected
        i   s   ---i    i   i   i   i   N(   t   GetIndexRG   Rq   t   streqR)   t   GetItemt   m_textR/   R.   R0   R1   R2   R   t   GetValuet   lstripR7   R   R   R   (   RW   R   R   R   R[   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyRU      s    %' #	#c         C   s+  |  i  i } |  i } |  i i   } |  i i |  p | i   i   d Sn | d j  o | i	   Sn | | d d |  i
 |  |  i i   i    | | d |  i i    | | d |  i i    | | d |  i i    | | d t |  i i     | | d |  i i    | i	   d S(	   sj           Event handler called when some of the properties of the current menu
        item changes
        Ni    s       i   i   i   i   i   (   R)   R   RG   R2   R   R5   t   matcht   GetEventObjectt   SetFocusR   R   R/   R   R.   R0   R1   t   strR7   t   GetSelection(   RW   R   t   set_itemR   t   val(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyRR      s     	c         C   s6   |  i  i | d  i } t |  t | i    d S(   sR           returns the indentation level of the menu item at the given index
        i    i   (   R)   R   R   t   lenR   (   RW   R   R/   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR      s    c         C   s   |  i  d j o |  i  d } | |  i i   j  o@ |  i |  i   |  i |  j  o |  i |  | d |  _  n x9 |  i |  i |  i |  i |  i	 f D] } | i
 d  q W|  i i d  |  i i |  i   |  i i   p |  i t  q n d S(   sG           Event handler called when the Remove button is clicked
        i    i   R   N(   RG   R)   R   R   t   _move_item_leftR0   R.   R/   R1   R2   R   R7   R   t
   DeleteItemR   Rk   (   RW   R   R   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyRJ     s    "
 c            s   d  |  i  i  |  i  i  d g         f d    x | D] }  | i d  qI W|  i  i   o |  i   n d S(   s           adds the content of 'menus' to self.menu_items. menus is a sequence of
        trees which describes the structure of the menus
        t    i   i    c            sQ    d }  | t  i  | |  i i      | d t  i |  i    | d t  i |  i    | d t  i |  i    | d t  i |  i   d } yB |  i o t	 |  i  o
 d } n t	 |  i
  o
 d } n Wn t j
 o n X | d t  i |     d c d 7<x" |  i D] }  | | d  q2Wd  S(   Ni    i   i   i   i   i   (   Rq   t   wxstrR/   R   R.   R0   R1   t   handlert	   checkableR   t   radiot
   ValueErrort   children(   t   nodet   levelR[   t	   item_typeR   (   R   R   R9   t   add_itemR   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR9   "  s&    
'

 Ns       (   R)   R   R   t   rootR   R   (   RW   t   menust   tree(    (   R   R   R   R9   R   sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyRV     s    	 c   
         s>    f d    g  }  f d   } d } d
 } xt   i i    D] }  | d  }   i |  } | pY t  | d  | d  | d  d  | d  } | i } d } | i |  qF n` | | j  o. x! t | |  D] }	 | i } q W| } n% | | j o | i	 d	 } | } n | | |  qF W| S(   s           returns the contents of self.menu_items as a list of trees which
        describe the structure of the menus in the format used by EditMenuBar
        c            s     i  i |  |  i S(   N(   R)   R   R   (   R[   t   j(   RW   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyt   getE  s    c            s    | d  i    }   | d  }   | d  }   | d  }   | d  } y t   | d   } Wn t j
 o d } n X| d j o t i d  p t i d  } | d j o t i d  p t i d  }	 t i | | | | | |	 d	 | }
 |  i i |
  |  |
 _	 |
 S(
   Ni    i   i   i   i   i   t   1R   R   (
   R   R   R   Rq   R   t   MenuTreet   NodeR   t   appendRX   (   R   R   R/   R.   R0   R1   R2   R   R   R   t   n(   R   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR9   G  s     ,,		i    i   R.   i   R   i   iN(
   t   NoneR    R)   R   R   R   R   R   RX   R   (
   RW   t   treesR9   R   t	   curr_itemR   R/   t   lvlt   tR[   (    (   RW   R   sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyt	   get_menus@  s4     $	 

c         C   s   | d j o | d |  i  i   j  o+ |  i |  |  i | d  j  o d  Sn |  i  i | d  i } t i | d  d  o: |  i  i | d | d  |  i  i | t	 i
 t	 i
  q n d  S(   Ni    i   i   R   s       (   R)   R   R   R   R   Rq   R   R   R   R   R   (   RW   R   R/   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR   o  s    #c         C   s!   |  i  i   |  i |  i  d S(   s           moves the selected menu item one level up in the hierarchy, i.e.
        shifts its label 4 spaces left in self.menu_items
        N(   R)   R   R   RG   (   RW   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyRL   z  s    c         C   s   | d j o~ |  i  |  |  i  | d  j o[ |  i i | d  i } |  i i | d t i d  |  |  i i | t i	 t i	  n d  S(   Ni    i   R   i   s       (
   R   R)   R   R   R   Rq   R   R   R   R   (   RW   R   R/   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyt   _move_item_right  s    0c         C   s!   |  i  i   |  i |  i  d S(   s           moves the selected menu item one level down in the hierarchy, i.e.
        shifts its label 4 spaces right in self.menu_items
        N(   R)   R   R   RG   (   RW   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyRM     s    c         C   s`   |  i  i   |  i | |  i t  } | d j	 o* t i t i B} |  i  i	 | | |  n d S(   sr           moves the selected menu item before the previous one at the same level
        in self.menu_items
        N(
   R)   R   t   _do_move_itemRG   Rk   R   R   R   t   LIST_STATE_FOCUSEDR   (   RW   R   R   t   state(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyRN     s
    c            s  | d j o d
 Sn   f d     f d   }   i |  } | |  g } | d } xS |   i i   j  o< |   i |  j  o! | i | |   | d 7} q^ Pq^ W| d } xR | d j oD   i |  } | | j o Pn | | j o d
 Sn | d 8} q W  i i }	   i i }
   i i } x2 t t	 |  d d d  D] } |	 | |  qQW| i
   x | D]w \ } } } } } } |
 | |  } | | d |  | | d |  | | d |  | | d |  | | d	 |  qzW| } | o | t	 |  7} n | S(   s           internal function used by move_item_up and move_item_down.
        Returns the new index of the moved item, or None if no change occurred
        i    c            s     i  i |  |  i S(   N(   R)   R   R   (   R[   R   (   RW   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR     s    c            s.   g  } t  d  D] } |   |  |  q ~ S(   Ni   (   R    (   R[   RZ   R   (   R   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyt   getall  s    i   ii   i   i   i   N(   R   R   R)   R   R   R   R   R   R    R   t   reverse(   RW   R   R   t   is_downR   R   t   items_to_moveR[   R   t   deletet   insertt   setR   R/   R.   R0   R1   R7   R2   t   ret_idx(    (   RW   R   sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR     sH    

 
 c            s    i  i     i } d   _ | d j  o d Sn   f d     f d   }   i |  } | d } x@ |   i  i   j  o) |   i |  j  o | d 7} qn Pqn W|   i  i   j  oE   i | | t    _ t i t i	 B}   i  i
   i | |  n
 |   _ d S(   sm           moves the selected menu item after the next one at the same level
        in self.menu_items
        ii    Nc            s     i  i |  |  i S(   N(   R)   R   R   (   R[   R   (   RW   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR     s    c            s.   g  } t  d  D] } |   |  |  q ~ S(   Ni   (   R    (   R[   RZ   R   (   R   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR     s    i   (   R)   R   RG   R   R   R   t   TrueR   R   R   R   (   RW   R   R   R   R   R[   R   (    (   RW   R   sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyRO     s"    		
c         C   s)   |  i  i |  i    t t i i _ d  S(   N(   R$   t	   set_menusR   Rk   t   commont   app_treet   appt   saved(   RW   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyRP     s    N(   t   __name__t
   __module__R   R   RF   R   R   RI   RK   RU   RR   R   RJ   RV   R   R   RL   R   RM   RN   R   RO   RP   (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR      s&   R	>						'	/							*	t   MenuPropertyc           B   s;   e  Z d  Z d   Z d   Z d   Z d   Z d   Z RS(   s?       Property to edit the menus of an EditMenuBar instance.
    c         C   sJ   t  i |  | | |  d  |  _ h  |  _ | d  j	 o |  i |  n d  S(   N(   t   PropertyR   R   t   panelR)   t   display(   RW   R$   R0   RX   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR     s    		c         C   s   t  i | d  |  _ t  i   } t  i |  i | t d   |  _ t  i t  i  } | i	 |  i d t  i
 t  i Bt  i Bt  i Bd  |  i i d  |  i i |  |  i i | i    t  i |  i | |  i  d  S(   Nis   Edit menus...i   i   (   R   t   PanelR   R!   R8   R   t   edit_btnRl   R}   R   Rw   R~   R|   Rz   R   R   Ro   t
   GetMinSizeRH   t
   edit_menus(   RW   RX   t   edit_btn_idR   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR     s    !1c          G   s   d  S(   N(    (   t   args(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyt
   bind_event  s    c         C   sg   t  |  i |  i d |  i i   } | i   t i j o) |  i i | i    t t	 i
 i _ n d  S(   NRY   (   R   R   R$   R   t	   ShowModalR   R@   R   Rk   R   R   R   R   (   RW   R   t   dialog(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR     s
    c         C   sg   | i  } | d | d  x3 |  i |  i d   D] } | i  | | d  q3 W| d | d  d  S(   Ns       s   <menus>
i    i   s	   </menus>
(   t   writeR$   R0   (   RW   t   outfilet   tabst   fwritet   menu(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR     s    	 (   R   R   t   __doc__R   R   R   R   R   (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR     s   				t   EditMenuBarc           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(   c         C   s   | d  j } t i |  | | | t i   | d | d t d |  _ d   } g  |  _ d  |  _ |  i	 |  i
 f |  i d <t |  d d   } |  i d <t i |   d  S(   Nt   custom_classt   showt	   wxMenuBarc          W   s   d S(   N(    (    (   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyt   nil  s    R   (   R   R   R   R   R!   Rk   t   baseR   t   _mbR   R   t   access_functionsR   t
   propertiesR   (   RW   R0   t   klassRX   t   property_windowR   R   t   prop(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR     s    				c            s  t  i d j o7 t i o, t  i t i d d  t _ t i i   n   i ot t  i	     _
   _   i i
 o   i i
 i   i
  n t  i d j p t  i d j o d     i
 _ qn t  i d  d t i   i     _
   i
 i d  t  i	     _   i
 i   i    i
 i   i i    d d  k } t  i   } | i i t i d	 d
  } | i t i |     i
 i |  t  i   i
   f d    t  i   i
   i    i    i!  d  S(   Nt	   __WXGTK__iR   t	   __WXMSW__t	   __WXMAC__c           S   s   d  S(   N(   R   (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR	   0  s    i  i   t   iconss   menubar.xpmc            s
     i    S(    (   t   hide_widget(   R   (   RW   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR	   =  s    (   i  i   ("   R   t   PlatformR   t   _EditMenuBar__hidden_framet   FrameR   t   palettet   HideRX   t   MenuBart   widgetR   t
   SetMenuBarR   R   Rq   t   design_titleR0   t   SetClientSizet   SetBackgroundColourt   GetBackgroundColourt   ost	   EmptyIcont   patht   joint   wxglade_patht   CopyFromBitmapt   get_xpm_bitmapt   SetIcont	   EVT_CLOSEt   EVT_LEFT_DOWNt   on_set_focusR   R   (   RW   R
  t   icont   xpm(    (   RW   sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyt   create_widget(  s*    
' $c         C   sG  t  i |   |  i } | i   } |  i d i |  | ph t i t i  } | i	 |  i
 i d t i  | i	 |  i i d t i  | i d  | i |  n | i	 |  i d i d t i t i Bd  | i |  | i |  i i    | i   |  i i | t d   |  i d  j	 o |  i i   n t i |   d  S(   NR   i    i   i   t   Common(   R   t   create_propertiest   _common_panelt   GetSizerR   R   R   Rl   Rm   R   t	   name_propR   Rw   t
   klass_propR   R   Rv   R   Ro   t   notebookt   GetClientSizet   Layoutt   AddPageR   RX   R   R   R   (   RW   t   pageR   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR  A  s$    	*
c         C   s   |  i  | S(   N(   R   (   RW   t   key(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyt   __getitem__V  s    c         C   s   |  i  S(   N(   R   (   RW   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR   Y  s    c      	      s  | |  _  |  i p d  Sn x- t |  i i    D] } |  i i d  q1 W  f d     |  i i   } x |  i  D]} } t i   }   | | i i  | o/ |  i i	 d | t
 i | i i   d } qs |  i i | t
 i | i i   qs W|  i i   d  S(   Ni    c            s8  x1| D])} t  i | i d  o |  i   q | i oT t i   }   | | i  |  i t i   t  i	 | i
  | t  i	 | i   q d } y t | i  o
 d } n Wn d } n X| p2 y t | i  o
 d } n Wq d } q Xn |  i t i   t  i	 | i
  t  i	 | i  |  q Wd  S(   Ns   ---i    i   i   (   Rq   R   R0   t   AppendSeparatorR   R   t   Menut
   AppendMenuR!   R   R/   R1   R   R   R   t   Append(   R   RY   R   t   mR7   (   R   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR   a  s.     
!
(   R   R   R    t   GetMenuCountR   R   R&  R   R   t   ReplaceRq   R   R/   R(  t   Refresh(   RW   R   R[   t   firstR   R)  (    (   R   sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR   \  s     	 
 %
&c         O   s   |  i  d  j	 o |  i  i d i d  | i d t  o t i d j o d  |  _ q |  i  i o_ t i d j o8 t	 i
 d d  o$ |  i i t i  |  i i   n |  i  i i d   q n% |  i o |  i i   d  |  _ n t i |   d  S(   Nt   menubari    t   gtk_do_nothingR   i   i   (   RX   R   R   t	   set_valueR   Rk   R   R   R  Rq   Rr   t   ReparentR   R   R  R  t   DestroyR   R:   (   RW   R   t   kwds(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR:     s    #
c         C   s!  |  i  d  j	 o d  Sn |  i o |  i p g  } t d  D] } | t i   q= ~ \ } } t i |  i	  |  _ t i
 |  i | t d  t i  t i
 |  i | t d   d   } t i |  i | | |  i   t i |  i | | |  i   n |  i i |  i | i    n d  S(   Ni   s
   Remove	DelR  c            s     f d   S(   Nc            s   t  i    S(    (   Rq   t   wxCallAfter(   R   (   t   method(    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR	     s    (    (   R5  (    (   R5  sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyt   bind  s    (   RX   R   R  t   _rmenuR    R   R!   Rq   t   wxGladePopupMenuR0   t   append_itemR   t
   ART_DELETEt   EVT_MENUR:   R   t	   PopupMenut   GetPosition(   RW   R   RZ   R[   R]   t   HIDE_IDR6  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyt
   popup_menu  s    

3
	#c         G   sn   |  i  o` |  i  |  i j	 oM |  i  i   t i i |  i t  t i i |  i i	  t i i
 i   n d  S(   N(   R  R   R  R   R   t   expandR   Rk   t   select_itemRX   R   t   show_properties(   RW   R   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR     s
    c         C   sP   t  i |  |  |  i |  i j	 o) |  i i t i t i |  i    n d  S(   N(	   R   t   set_nameR  R   t   SetTitleRq   R  R   R0   (   RW   R0   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyRC    s    c         C   s2   d d d     Y} | d j o | |   Sn d  S(   Nt   MenuHandlerc           B   sG   e  Z d  d d d d d d g Z d   Z d   Z d	   Z d
   Z RS(   R/   R.   R0   R1   R   R   R   c         S   s:   | |  _  g  |  _ g  |  _ d  |  _ d |  _ d |  _ d  S(   Ni    (   R$   R)   t	   curr_menuR   R   t
   curr_indext
   menu_depth(   RW   R$   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR     s    					c         S   s  | d j o d  Sn | d j oL|  i  d 7_  t i | d  } |  i  d j ot t | d | | i d d  | i d d  d	 | i d	 d  } |  i i | i f  |  i i	 i |  d  Sn t i
 d | d | d d
 | i d d  d | i d d  d	 | i d	 d   } |  i d } | d i i |  | d | _ t i   } |  i i | | f  nY | d j o t i
   |  _ n9 y |  i i |  |  _ Wn t j
 o d |  _ n Xd  S(   NR   R   i   R/   R0   t   itemidR   R1   R   R.   ii    R   (   RH  Rq   t   _encodeR   R   RF  R   R   R$   R   R   R   RX   R   R&  R   t	   itemattrsR   RG  R   (   RW   R0   t   attrsR/   R   R   t   cmR   (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyt
   start_elem  s6    	c         S   s   | d j oq y |  i  d } Wn2 t j
 o& d d k l } | t d   n X| d i i |  i  | d |  i _ nY | d j o  |  i	 d 8_	 |  i  i
   n, | d j o |  i i |  i i  t Sn d  S(	   NR   i(   t   XmlParsingErrors   menu item outside a menui    R   i   R   (   RF  t
   IndexErrort	   xml_parseRO  R   R   R   R   RX   RH  t   popR$   R   R   R   (   RW   R0   RM  RO  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyt   end_elem  s    c         S   s!   t  |  i |  i |  i |  d  S(   N(   t   setattrR   RK  RG  (   RW   t   data(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyt	   char_data  s    (   R   R   RK  R   RN  RS  RV  (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyRE    s   		 	R   (    (   R   (   RW   R0   RE  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyt   get_property_handler  s    ;N(   R   R   R   R   R   R  R  R$  R   R   R:   R?  R   RC  RW  (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR     s   						'				i    c            s  d t  i f   f d     Y} |   } | i   t  i j o | i   | i   d Sn d   d p d } x6 t i i |  o"   d c d 7<d   d } qr Wt	 | | i
 |  t i  } t i |  | _ t i i | i  | i t  | i   d S(   s2       factory function for EditMenuBar objects.
    R   c              s/   e  Z   f d    Z   f d   Z d   Z RS(   c            s  t  i i |  d  d t d   t i i i   i	   d j o d |  _
 n:   d p d |  _
 n d   d |  _
   d c d 7<t |  d	 |  d
 t d	  } t  i t  i  } | i | i d t  i  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 t  i Bd  |  i t  |  i |  | i |   |  i   d d j  o |  i d  n |  i   d  S(   Nis   Select menubar classt   xrcR   i    t	   MyMenuBars   MyMenuBar%si   t   classR/   R   i   R   i   (   i   i(   R   R   R   R   R   R   R   R   t   get_languaget   lowerR   t   TextPropertyRl   Rm   R   R   Rw   R}   R8   R@   Rv   RD   R~   R   R   R   R   t   GetBestSizeRo   R   (   RW   R  R   t   sz2(   t   number(    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR     s&    11 c            s)     d d j o   d c d 8<n d  S(   Ni    i   (    (   RW   (   R`  (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyt   undo  s    c            s7   | d j o&   f d   }   f d   | f Sn d  S(   NRZ  c            s   |    _  d  S(   N(   R   (   t   c(   RW   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyt	   set_klass  s    c              s     i  S(    (   R   (    (   RW   (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR	     s    (    (   RW   t   valueRc  (    (   RW   sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR$    s    (   R   R   R   Ra  R$  (    (   R`  (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyR     s   Ns
   menubar_%di    i   (   R   R   R   RD   Ra  R2  R   R   t   has_nameR   R   t   property_panelR    R   R   R9   t   show_widgetR   RB  (   RX   R   t   posR`  R   R   R0   t   mb(    (   R`  sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyt   builder  s    !	

c         C   s   |  i  d  } | d j	 o9 | o' | i i |  | i i i |  n | i SnN t | |  i  d d  d t i  } t	 i
 |  | _ t i i | i  | Sd S(   s>       factory to build EditMenuBar objects from an xml file
    R0   RZ  R   N(   R   R   R.  RC  R  R0  R   R   Rf  R    R   R   R   R9   (   RL  RX   R   t	   sizeritemRh  R0   Ri  (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyt   xml_builder5  s    c          C   s3   t  i }  t |  d <t t  i d <t  i d d d  S(   so       initialization function for the module: returns a wx.BitmapButton to be
    added to the main palette.
    R   s   icons/menubar.xpmi   (   R   t   widgets_from_xmlRl  Rj  t   widgetst   make_object_button(   t   cwx(    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pyt
   initializeG  s    	
(   R   R   t   mathRq   R   R    R   t   widget_propertiest   edit_windowsR   R   R   R   R   R   R   R   Rj  R   Rl  Rq  (    (    (    sM   C:\Python25\Lib\site-packages\_spe\plugins\wxGlade\widgets\menubar\menubar.pys   <module>   s   $

 (8