; iDc@sdkZdkZdkZdkZdkZdkZdkZdfdYZdefdYZ defdYZ de fdYZ ei d \Z ZZZd Zd ZeZd e fd YZdefdYZdeifdYZdefdYZdefdYZedjoLeiZedeZeidddeiei ei!ndS(NsNodecBstZdZeeeddfdZdZddZddZddZdZ dZ d Z d Z d Z d Zd ZdZddZRS(s[ base class for all elements of my tree, provides icon support, selection features icCs^|i|||_||_||_d|_d|_t|_ t|_ |_ |_ dS(s& initialises the node iN( sselfs setParentsparentsnamesiconsanchors selectablesselectedsNones selectionItemscanvassnameItemsiconItem(sselfsparentsnamesiconsanchor((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys__init__0s       cCs|iodSndSdS(s0 ask, if this node is displayed iiN(sselfscanvas(sself((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys isVisible?s c Cs|ii|_|itjodSn|id} }}} |id} }}}|io|i o.|ii|idtid|i|_n|ii|id|i|ii|i\}}} }|ii|id|in>|io3|ii|i|ii|it|_n|io|i o<|ii| d|idfdtid|i|_n|ii|id|i|ii|i\} } }}|ii|id|in>|io3|ii|i|ii|it|_n|||| }|djo|ioD|ii|i| ||df|ii|idtin\|djo|ioD|ii|i|| |df|ii|idtin|iot |iit!t|i|ig}|i"o|ii|i"|n"|ii#|d d d d |_"|ii$|i"n+|i"o |ii|i"t|_"n|djo|ii&|ndS( s display this node, all components are displayed or reconfigured if recursive is 0, the tail of the tree will be reordered Niisanchorsimages stextisoutlinessfillsgreen('sselfsparents getCanvasscanvassNonesanchorsnx0snx1six0six1sny0sny1siy0siy1siconsiconItems create_imagesTkintersNWs itemconfiguresbboxstag_bindsselectionCallbacks tag_unbindsdeletesnamesnameItems create_textsdiffscoordssWsselectedsapplysfilters selectionItemscreate_rectangleslowers recursivesmoveAfterChild( sselfs recursivesnx1sny1scoordssiy1siy0sdiffsix0six1sny0snx0((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysdisplayHsb   !      !   $ $    !   cCs&|io|i|SntSdS(s* update the icon and name N(sselfs isVisiblesdisplays recursivesNone(sselfs recursive((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysupdates cCs|i odSn|io6|ii|id|ii|it|_n|io6|ii|id|ii|it|_n|io |ii|it|_nt|_|djo|i i |ndS(s conceal this node from tree, destruct all icons and text if recursive is 0, the tail of the tree will be reordered Ns i( sselfscanvassnameItems tag_unbindsdeletesNonesiconItems selectionItems recursivesparentsmoveAfterChild(sselfs recursive((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysconceals"         cCsr|itjotSn|i}|ot|ii|Sn-|id|id|id|idfSdS(Nii(sselfscanvassNones getAllItemssitemssapplysbboxsanchor(sselfsitems((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysgetBoundingBoxs  cCshg}|io|i|in|io|i|in|io|i|in|SdS(N(sitemssselfsnameItemsappendsiconItems selectionItem(sselfsitems((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys getAllItemss   cCs'|ii}|i|i|SdS(N(sselfsparents getNamePaths parentPathsappendsname(sselfs parentPath((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys getNamePathscCs |iSdS(s( get canvas from parent N(sselfscanvas(sself((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys getCanvasscCs ||_dS(s! sets own parent N(s newParentsselfsparent(sselfs newParent((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys setParentscCsd|_|iot|iitt|i|ig}|i o|ii |i |n"|ii |dddd|_ |ii |i ndS(s, show selection highligting isoutlinessfillsgreenN( sselfsselectedscanvassapplysbboxsfiltersNonesiconItemsnameItemscoordss selectionItemscreate_rectangleslower(sselfscoords((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysselects    !cCsAd|_|io|io |ii|it|_ndS(Ni(sselfsselectedscanvass selectionItemsdeletesNone(sself((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysdeselects cCs:|i odSn|i o|in |idS(s N(sselfs selectablesselectedsselectsdeselect(sselfsevent((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysselectionCallbacks   scCs(ti|}d||i|fGHdS(Ns%s%s:%d(ssyss getrefcountsselfsrefcntsindentsname(sselfsindentsrefcnt((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys printNodes(s__name__s __module__s__doc__sNones__init__s isVisiblesdisplaysupdatesconcealsgetBoundingBoxs getAllItemss getNamePaths getCanvass setParentsselectsdeselectsselectionCallbacks printNode(((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysNode+s  D       sLeafcBs/tZdZdZeddfeedZRS(s+ the leaf cannot contain children. slR0lGODlhDAAMAKEAALLA3AAAAP//8wAAACH5BAEAAAAALAAAAAAMAAwAAAIgRI4Ha+IfWHsOrSASvJTGhnhcV3EJlo3kh53ltF5nAhQAOw==ic Cstiid otidtit_n|tjot dn| o ti}nt i |d|d|d|d|dS(Ns defaultIconsdatasname should be textsparentsnamesanchorsicon(sLeafs__dict__shas_keysTkinters PhotoImagesdefaultIconDatas defaultIconsnamesNones ExceptionsiconsNodes__init__sselfsparentsanchor(sselfsparentsanchorsnamesicon((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys__init__s  (s__name__s __module__s__doc__sdefaultIconDatasNones__init__(((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysLeafs sBranchcBstZdZdZdZeddfedgdZdZdZdZ dZ dd Z d Z d Z d Zd ZdZddZRS(sp the branch contains leafs or branches it can be expanded and collapsed and maintains its children s #define plus_width 13 #define plus_height 13 static unsigned char plus_bits[] = { 0x00, 0x00, 0xfe, 0x0f, 0x02, 0x08, 0x42, 0x08, 0x42, 0x08, 0x42, 0x08, 0xfa, 0x0b, 0x42, 0x08, 0x42, 0x08, 0x42, 0x08, 0x02, 0x08, 0xfe, 0x0f, 0x00, 0x00};s #define minus_width 13 #define minus_height 13 static unsigned char minus_bits[] = { 0x00, 0x00, 0xfe, 0x0f, 0x02, 0x08, 0x02, 0x08, 0x02, 0x08, 0x02, 0x08, 0xfa, 0x0b, 0x02, 0x08, 0x02, 0x08, 0x02, 0x08, 0x02, 0x08, 0xfe, 0x0f, 0x00, 0x00}; ic Cstiid otidtit_ntiid otidtit_n||_ ti}|i o |i}n||_ t i|d|d|d|d|dS( sL initialises a branch: children can be specified... s expandImagesdatas collapseImagesparentsanchorsnamesiconN(sBranchs__dict__shas_keysTkinters BitmapImages expandDatas expandImages collapseDatas collapseImagesexpandedsselfsiconschildrensNodes__init__sparentsanchorsname(sselfsparentsanchorsnamesexpandedschildrensicon((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys__init__s     cCsd|_|idS(s Special feature of a branch: can display all direct children before expanding the childlist is updated iN(sselfsexpandedsupdate(sself((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysexpand)s cCsd|_|idS(s Special feature of a branch: can conceal all children on demand after collapsing, the childlist is cleaned up iN(sselfsexpandedsupdate(sself((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pyscollapse1s cCsdS(s^ called before expanding the branch in order to update all necessary children N((sself((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysupdateChildList9scCsdS(s\ called after collapsed the branch in order to destruct all unused children N((sself((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pyscleanupChildList?sc Cs|ii|_|itjodSn|io|i|_ti ||dt |ii t t|i|ig\}}} }|ii |i\} }}}|ix|iD]F}|d|df|_|i |d|i\}}} }qWnP|i|_ti ||dx"|iD]}|i|dq7W|i|ii |id|i!|djo|ii"|ndS(sP set expand/collapse handle, care about children and return.... Nis i(#sselfsparents getCanvasscanvassNonesexpandeds collapseImagesiconsNodesdisplays recursivesapplysbboxsfiltersnameItemsiconItemsx0sy0sx1sy1six0siy0six1siy1supdateChildListschildrenschildsanchorsgetBoundingBoxs expandImagesconcealscleanupChildListstag_bindstoogleCallbacksmoveAfterChild( sselfs recursivesix1schildsiy1siy0sy1sy0sx0sx1six0((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysdisplayEs0  6!       cCsCx"|iD]}|i|dq W|iti||dS(s/ conceal all children and self iN(sselfschildrenschildsconceals recursivescleanupChildListsNode(sselfs recursiveschild((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysconcealbs   cCs;ti|}x!|iD]}||i7}qW|SdS(sO get all canvas items, that contribute to the displayed branch N(sNodes getAllItemssselfsitemsschildrenschild(sselfsitemsschild((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys getAllItemsks  cCs|i o|ii|dSn|ii|}|t|ijo|ii|dSn|}x1|djo|i|i o|d8}qoW|djo|ii|dSn|i|i \}} }}|d7}g}xT|t|ijo=|i|io||i|i7}n|d7}qWd}} |o|t|ii|\} } }}|d| } | djo |djodSnx(|D]} |ii| || qWn|ii|dS(se recursive move mechanism in order to replace all children beneath the calling child Nii(sselfs isVisiblesparentsmoveAfterChildschildrensindexschildsidxslenslastIdxsgetBoundingBoxsnx1sny1snx2sny2sitemss getAllItemssxoffsetsyoffsetsapplyscanvassbboxsox1soy1sox2soy2sitemsmove(sselfschildslastIdxsnx1sox2sidxsnx2sny2sitemssny1sox1syoffsetsitemsoy1soy2sxoffset((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysmoveAfterChildtsB"   !cCs&|io|in |idS(sL tkinter event callback is called when expander icon is hit N(sselfsexpandedscollapsesexpand(sselfsevent((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pystoogleCallbacks cCs5ti||x|iD]}|i|qWdS(sS sets the parent, assures, that all children have the right parent N(sNodes setParentsselfs newParentschildrenschild(sselfs newParentschild((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys setParents  scCs9ti||x"|iD]}|i|dqWdS(Ns (sNodes printNodesselfsindentschildrenschild(sselfsindentschild((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys printNodes (s__name__s __module__s__doc__s expandDatas collapseDatasNones__init__sexpandscollapsesupdateChildListscleanupChildListsdisplaysconceals getAllItemssmoveAfterChildstoogleCallbacks setParents printNode(((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysBranchs        . s DirBranchcBs;tZdZeddfeddZdZdZRS(s\ a branch that displays a directory it caches all selected or expanded children ic Csuti|d|d|d|d|tti i |i |_ ti i |i  ot d|i ndS(s/ instantiate a directory entry sparentsanchorsnamesexpandedsPath %s does not existN(sBranchs__init__sselfsparentsanchorsnamesexpandedsapplysosspathsjoins getNamePathsexistss Exception(sselfsparentsanchorsnamesexpanded((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys__init__s %cCs |i}g|_g}yti|i}Wntj onX|it d|}x|D]}||jo!|ii ||i |qgtiitii|i|o#|ii td|d|qg|ii td|d|qgWdS(s- create/update child list... cCs|iS(N(scsname(sc((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysssparentsnameN(sselfschildrens oldChildrensentriessosslistdirspathsOSErrorssortsmaps oldEntriessentrysappendsindexsisdirsjoins DirBranchsLeaf(sselfs oldEntriessentriessentrys oldChildren((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysupdateChildLists"    !%#cCs|i}g|_xu|D]m}t|ito6|i|ip|io|ii |qq|i o|ii |qqWdS(sN collapse tree only if there are selections or expanded nodes N( sselfschildrens oldChildrenschilds issubclasss __class__sBranchscleanupChildListsexpandedsappendsselected(sselfs oldChildrenschild((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pyscleanupChildLists    (s__name__s __module__s__doc__sNones__init__supdateChildListscleanupChildList(((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys DirBranchs  s iso-8859-1cCst|dS(Ni(s _isoEncodersx(sx((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysscCst|dS(Ni(s _isoDecodersx(sx((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysssxmlElementBranchcBsGtZdZeddfdeedZdZdZdZRS(s% contains an xml dom element ic CsU||_|tjot|ii}nti|d|d|d|d|dS(Nsparentsanchorsnamesexpanded( selementsselfsnamesNones xmlDecodestagNamesBranchs__init__sparentsanchorsexpanded(sselfsparentsanchorsexpandedsnameselement((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys__init__s   cCs|i}g|_td|}x~|iiD]p}||jo!|ii||i |q1|i t i i ijo#|iitd|d|q1q1WdS(s/ delete all unused child nodes cCs|iS(N(scselement(sc((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys ssparentselementN(sselfschildrens oldChildrensmaps oldElementsselements childNodesschildsappendsindexsnodeTypesxmlsdomsNodes ELEMENT_NODEsxmlElementBranch(sselfschilds oldChildrens oldElements((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysupdateChildLists    !cCs|i}g|_td|GHxu|D]m}t|ito6|i|i p|io|ii |qq*|i o|ii |q*q*Wtd|iGHdS(sP cleanup tree only if there are no selections or expanded nodes cCsd|iti|fS(Ns %s ref=%d(sxsnamessyss getrefcount(sx((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysscCs|iS(N(scsname(sc((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys%sN( sselfschildrens oldChildrensmapschilds issubclasss __class__sBranchscleanupChildListsexpandedsappendsselected(sselfschilds oldChildren((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pyscleanupChildLists    cCsd|iGHdS(NsDOM Element %s deleted(sselfsname(sself((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys__del__'s(s__name__s __module__s__doc__sNones__init__supdateChildListscleanupChildLists__del__(((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysxmlElementBranchs   s xmlFileBranchcBs2tZdZeddfeddZdZRS(s" support for DOM browsing ic Cs|i}|i|ttii||_tii |i ot d|int |_ yti ii|i|_ Wn$ti ij o}t |_ nXti|d|d|d|d|d|i idS(Nsfile %s does not existsparentsanchorsnamesexpandedselement(sparents getNamePathspathListsappendsnamesapplysosspathsjoinsselfsisfiles ExceptionsNonesdomsxmlsminidomsparses DOMExceptionsesxmlElementBranchs__init__sanchorsexpandedsdocumentElement(sselfsparentsanchorsnamesexpandedsespathList((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys__init__.s     cCsd|iGHti|dS(NsDOM of file %s deleted(sselfspathsxmlElementBranchs__del__(sself((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys__del__Ds (s__name__s __module__s__doc__sNones__init__s__del__(((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys xmlFileBranch*s sTreecBs2tZdZdZdZdZdZRS(s1 holds all nodes and manages the display cCstii||dS(s N(sTkintersCanvass__init__sselfsmaster(sselfsmaster((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys__init__LscCsdS(N((sselfschild((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysmoveAfterChildQscCs|SdS(N(sself(sself((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys getCanvasTscCsgSdS(N((sself((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys getNamePathWs(s__name__s __module__s__doc__s__init__smoveAfterChilds getCanvass getNamePath(((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysTreeHs    s scrolledTreecBstZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZRS(sX a tree widget, with scrollbar to the right implemented with a hidden frame cCsti||_ti||itii|dti dti ti |i}|idti dti|id|i|id|idS(sH initialises the tree widget and puts it into the frame ssidesfillscommandsyscrollcommandN(sTkintersFramesmastersselfs hiddenFramesTrees__init__sCanvasspacksLEFTsBOTHs ScrollbarsscrollersRIGHTsYsconfigsyviewsset(sselfsmastersscroller((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys__init__`s"cCs*|i|id|itidS(Ns scrollregion(schilds printNodesselfsconfigsbboxsTkintersALL(sselfschild((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysmoveAfterChildls cOst|ii||dS(N(sapplysselfs hiddenFramespacksargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pyspackqscOst|ii||dS(N(sapplysselfs hiddenFramespack_configuresargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pyspack_configuretscOst|ii||dS(N(sapplysselfs hiddenFrames pack_forgetsargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys pack_forgetwscOst|ii||dS(N(sapplysselfs hiddenFrames pack_infosargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys pack_infozscOst|ii||dS(N(sapplysselfs hiddenFramespack_propagatesargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pyspack_propagate}scOst|ii||dS(N(sapplysselfs hiddenFrames pack_slavessargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys pack_slavesscOst|ii||dS(N(sapplysselfs hiddenFramesplacesargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysplacescOst|ii||dS(N(sapplysselfs hiddenFramesplace_configuresargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysplace_configurescOst|ii||dS(N(sapplysselfs hiddenFrames place_forgetsargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys place_forgetscOst|ii||dS(N(sapplysselfs hiddenFrames place_infosargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys place_infoscOst|ii||dS(N(sapplysselfs hiddenFrames place_slavessargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys place_slavesscOst|ii||dS(N(sapplysselfs hiddenFramesgridsargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysgridscOst|ii||dS(N(sapplysselfs hiddenFramesgrid_configuresargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysgrid_configurescOst|ii||dS(N(sapplysselfs hiddenFrames grid_forgetsargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys grid_forgetscOst|ii||dS(N(sapplysselfs hiddenFrames grid_removesargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys grid_removescOst|ii||dS(N(sapplysselfs hiddenFrames grid_infosargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys grid_infoscOst|ii||dS(N(sapplysselfs hiddenFramesgrid_propagatesargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysgrid_propagatescOst|ii||dS(N(sapplysselfs hiddenFrames grid_slavessargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys grid_slavesscOst|ii||dS(N(sapplysselfs hiddenFramescolumnconfiguresargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pyscolumnconfigurescOst|ii||dS(N(sapplysselfs hiddenFrames rowconfiguresargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys rowconfigurescOst|ii||dS(N(sapplysselfs hiddenFrames grid_locationsargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys grid_locationscOst|ii||dS(N(sapplysselfs hiddenFrames grid_sizesargsskws(sselfsargsskws((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys grid_sizes(s__name__s __module__s__doc__s__init__smoveAfterChildspackspack_configures pack_forgets pack_infospack_propagates pack_slavessplacesplace_configures place_forgets place_infos place_slavessgridsgrid_configures grid_forgets grid_removes grid_infosgrid_propagates grid_slavesscolumnconfigures rowconfigures grid_locations grid_size(((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys scrolledTreeZs2                       sWorkInProgresscBs#tZdZdZdZRS(NcCsti||dS(s) sandbox for development N(s scrolledTrees__init__sselfsmaster(sselfsmaster((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys__init__scCstd|dddddfdtdddtddtddtddtddgtdd tdd tdd tdd tdd tddtddtddtddtddtddtddg }|idS(Nsparentsnamesbla1sanchori schildrensbla2sblubsblub1sblub2sblub3sblub4sblub5sblub6sblub7sblub8sblub9sblub10sblub11sblub12(sBranchsselfsLeafs firstNodesdisplay(sselfs firstNode((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys doSomethingscCs/td|dddddf}|idS(Nsparentsnames/sanchori(s DirBranchsselfs firstNodesdisplay(sselfs firstNode((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys doDirTrees!(s__name__s __module__s__init__s doSomethings doDirTree(((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pysWorkInProgresss  s__main__smastersexpandisfill("sTkinterssyssossos.pathscodecssxml.domsxmlsxml.dom.minidomsNodesLeafsBranchs DirBranchslookups _isoEncoders _isoDecoders_isoStreamReaders_isoStreamWriters xmlDecodes xmlEncodesxmlEncodedStreamsxmlElementBranchs xmlFileBranchsCanvassTrees scrolledTreesWorkInProgresss__name__sTksrootswidgetspacksBOTHs doDirTreesmainloop(sLeafsBranchs _isoDecodersNodesxmlElementBranchsxmlEncodedStreams xmlFileBranchs _isoEncodersxmlswidgets_isoStreamWritersTkinters xmlEncodesTreessyss_isoStreamReaderscodecss DirBranchsroots xmlDecodes scrolledTreesossWorkInProgress((s7/mnt/gmirror/ports/math/py-gato/work/Gato/TreeWidget.pys?#s2       :  1Y