]G @ s d d l TGd d d e Z Gd d d e Z Gd d d e Z Gd d d e Z d d Z e d k r d d l m Z e e d S) )*c @ s e Z d Z d S)InvalidNameErrorN)__name__ __module____qualname__ r r 0/opt/alt/python35/lib64/python3.5/tabbedpages.pyr s r c @ s e Z d Z d S)AlreadyExistsErrorN)r r r r r r r r s r c @ s e Z d Z d d d d d d Z d d Z d d Z d d Z d d Z d d Z d d Z Gd d d e Z d S)TabSetN Fc K s t j | | | | | _ | | _ | | _ | | _ | | _ i | _ i | _ | rj t | | _ n g | _ d | _ g | _ t | d d d d d t d | j d | _ | j j d t d t d d | j d S)Nheight borderwidthr relief backgroundsidefillexpandF)Frame__init__select_commandn_rowsmax_tabs_per_rowexpand_tabspage_set_tabs_tab2rowlist _tab_names _selected_tab _tab_rowsFLATcgetZ padding_framepackTOPX _arrange_tabs)selfr r Ztabsr r r kwr r r r s$ zTabSet.__init__c C sS | s t d | | | j k r5 t d | | j j | | j d S)NzInvalid Tab name: '%s'zTab named '%s' already exists)r r r appendr' )r( tab_namer r r add_tabD s zTabSet.add_tabc C s= | | j k r t d | | j j | | j d S)NzNo such Tab: '%s)r KeyErrorremover' )r( r+ r r r remove_tabN s zTabSet.remove_tabc C s | | j k r d S| d k r> | | j k r> t d | | j d k ra | j | j j d | _ | d k r | | _ | j | } | j | j | } | j | j d t d t d d d S)NzNo such Tab: '%sr r r r ) r r r- set_normalset_selectedr pack_forgetr$ r% r&