; Bc@sdGHdklZdkZdkZdkZdkZdkZdklZdkZdk Z dk Z dk l Z dk l Z dkZdklZlZlZdklZded Zed Zdd Zd Zd ZdZe id\ZZZdeifdYZdZ dfdYZ!defdYZ"dei#e i$fdYZ%de%fdYZ&dei'fdYZ(de(fdYZ)dS(simporting Explorers(spathN(s ClassType(sIS(s EditorHelper(sTransportErrorsTransportLoadErrorsTransportSaveError(sTransportCategoryErrorscCsxtiiD]}t|do |i|joo|i}|o|i ||n|}|o3|i|i |i|i ||in|Sq q Wtd|dS(s s itemProtocols!No category found for protocol %sN(s ExplorerNodessall_transportssentriesscatshasattrs itemProtocolsprotocolsnewItemscatNamesnames renameItemsstructsclearsupdates updateConfigsTransportCategoryError(sprotocolsnamesstructscatscatName((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pysmakeCategoryEx!s    cCsSt|\}}}}|tjotio ti}nt ||||SdS(s, Returns a transport node for the given uri N( ssplitURIsfilenamesprotscategorysrespaths transportssNones ExplorerNodessall_transportss getTransport(sfilenames transportsscategorysprotsrespath((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pysopenEx4s  cCsjgi}t|iD]E}| p#tii |i di |jo||i qq~SdS(s@ Returns a list of transport nodes for given folderish filepath iN( sappends_[1]sopenExsfilepathsopenListsns extfiltersosspathssplitextstreenameslower(sfilepaths extfiltersns_[1]((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pys listdirEx;scCs|id}t|djodd|d|fSnt|}tii|d|fo*ti|d|f|g|dSnj|\}}|i d}|djot d |n|| ||df\}}||||fSdS( Ns://isfilessfile://is/isCategory not found(sfilenamessplits protsplitslensitemLens ExplorerNodess uriSplitRegshas_keysprotsfilepathsfindsidxsTransportCategoryErrorscategorysrespath(sfilenames protsplitscategorysidxsfilepathsprotsrespathsitemLen((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pyssplitURICs *  cCshtii|oti||||Sn7|ot||||Sntd|||fdS(NsUnhandled transport( s ExplorerNodesstransportFindRegshas_keysprotscategorysrespaths transportssfindCatExplorerNodesTransportError(sprotscategorysrespaths transports((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pys getTransportWs cCsx|iD]x}t|do |i|joR|i}xC|D]7}|i |jp |i |jo|i |SqCqCWq q Wtd||fdS(Ns itemProtocols.Catalog transport could not be found: %s || %s(s transportssentriesscatshasattrs itemProtocolsprotsopenListsitmssitmsnamescategorystreenamesgetNodeFromPathsrespathsTransportError(sprotscategorysrespaths transportssitmscatsitms((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pysfindCatExplorerNode`s    isBaseExplorerTreecBsbtZdZdZdZdZdZdZdZdZ d Z d Z RS( NcCstii||tdtitiB|iti |i dt|iti |i dt|iti |idt|i|t|_|idS(Nsstylesid(swxsTreeCtrls__init__sselfsparentswxID_PFTsTR_HAS_BUTTONSs CLIP_CHILDRENsBindsEVT_TREE_ITEM_EXPANDINGsOnOpensEVT_TREE_ITEM_EXPANDEDsOnOpenedsEVT_TREE_ITEM_COLLAPSEDsOnCloses SetImageListsimagessNones itemCaches buildTree(sselfsparentsimages((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pys__init__qs&  cCsdS(N((sself((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pys buildTree{scCsdS(N((sself((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pysdestroy~scCs1|i}|i|t|i||SdS(N(sselfs GetRootItemsrootItemsSetItemHasChildrensTruesExpand(sselfsrootItem((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pysopenDefaultNodess  cCsig}|i}|i|\}}x7|io)|i||i ||\}}q*W|SdS(N( schildrensselfs GetSelections selections GetFirstChildschildscookiesIsOksappends GetNextChild(sselfs selectionscookieschildrenschild((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pys getChildrens   cCs8gi}|iD]}||i|q~SdS(N(sappends_[1]sselfs getChildrensids GetItemText(sselfs_[1]sid((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pysgetChildrenNamesscCs`|i|\}}x@|io|i||jo|i||\}}qW|SdS(N( sselfs GetFirstChildsnodeschildscookiesIsOks GetItemTextsnames GetNextChild(sselfsnodesnamescookieschild((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pys getChildNameds #cCsdS(N((sselfsevent((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pysOnOpenedscCsm|i}|i|odSn|i|}t}|ot i z|i ||i o|i }n |i}t}x|D]}|iot}|i||ip|i|idt i|}|i|t|io|i|tn|io ||_n|io|i||iqBqqWWdt iXn|i|tdS(Ni( seventsGetItemsitemsselfs IsExpandeds GetPyDatasdatasTrues hasFoldersswxsBeginBusyCursorsDeleteChildrens itemCacheslstsopenListsFalsesitms isFolderishs AppendItemstreenamesnamesimgIdxs TreeItemDatasnewsSetItemHasChildrensbolds SetItemBoldsrefTreestreeitemscoloursSetItemTextColours EndBusyCursor(sselfseventsitms hasFolderssdatasitemslstsnew((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pysOnOpens:          #cCs)|i}|i|}|idS(N(seventsGetItemsitemsselfs GetPyDatasdatas closeList(sselfseventsitemsdata((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pysOnCloses ( s__name__s __module__s__init__s buildTreesdestroysopenDefaultNodess getChildrensgetChildrenNamess getChildNamedsOnOpenedsOnOpensOnClose(((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pysBaseExplorerTreeps       cCsyt|tWn`tj oT}tidjontid|t |ft |t i ||fqXnPqWqWWqAWdS(NsExplorersglobals clipboardsBoa Constructorsboa.open-modelss Transportsfilesboa.prefs.groups$File system transport must be loadedsexplorerstransportstreescategoryssconfdefs#Transport category %s not added: %s(?sFalsesselfs_ref_all_transpsUtilsscreateAndReadConfigsconfsimportExplorerss ExplorerNodess GlobalClippers clipboardssexplorerNodeRegsitemssClsssinfosClipstypes ClassTypesprotocolsRootNodesboaRoots nodeRegByProtseditorsopenEditorFiless ContainerNodes EditorHelpers imgFolders transportss entriesByProtsTruesboldsall_transportssNones MRUCatNodes recentFilessBookmarksCatNodes bookmarkssappends_[1]sexplorerRootNodesRegsprots pluginNodess preferencesshas_keysAssertionErrorsentriessevalsgetstransport_ordersnameskeyssCatsclipsconfSectsconfItems has_optionscats itemProtocols Exceptionserrorswxs LogWarningsdefNamesstr(sselfseditorsclipsconfsconfItemsClsssprotsconfSectsCatstransport_ordersinfosnamesClipscats_[1]serror((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pys__init__sb    %    J5)cCshddgt|iddh}t}x|D]}|t|B}q2W|oti dndS(s; Import names defined in the config files to register them sExplorers.PrefsExplorersExplorers.EditorExplorersexplorersinstalledtransportssOne or more transports could not be loaded, if the problem is not rectifiable, consider removing the transport under Preferences->Plug-ins->Transports. Click "Details"N( sevalsconfsgetsinstallTransportssFalseswarneds moduleNamesimportTransportswxs LogWarning(sselfsconfs moduleNameswarnedsinstallTransports((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pysimportExplorerss%c Csh}g}xddgtiD]}xtiiD]\}}|i |jo|do`|d} t | t djo|i |i | fq| |||i|||i \}}}}|i i||i |i ||i"qZW|i#|_$|i%o|i%ndS(s Display ExplorerNode items is..Ni(&sselfsselectedsnodesdestroysexplNodes SetImageListsimagesswxsIMAGE_LIST_SMALLs currImagessDeleteAllItemssitemssInsertImageStringItems GetItemCountsupImgIdxsBeginBusyCursorsopenLists EndBusyCursors orderedListsitmstreenamesnames isFolderishsfnmatchs localFilters PreferencessexCaseInsensitiveSortingslowerssortNamesappendsvetoSortssorts idxOffsetsdummysimgIdxs resourcepathsfilepaths updateNotify( sselfsimagessexplNodesdummyssortNamesnamesitemssitms orderedList((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pys refreshItemssB        # (     cCs|iio|ii||}n|i|}|ot|djo2|\}}|o|o|i |i qndS(Ni( sselfsnodesparentOpensChildrensopensitemseditorsresslensmodsctrlrs recentFilessaddsfilename(sselfsitemseditors recentFilessressctrlrsmod((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pysopenNodeInEditors  cCs|i|_|idS(N(sevents m_itemIndexsselfsselectedsSkip(sselfsevent((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pys OnItemSelects cCs)|i o d|_n|idS(Ni(sselfsGetSelectedItemCountsselectedseventsSkip(sselfsevent((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pysOnItemDeselects (s__name__s __module__swxsDefaultPositions DefaultSizesNones__init__sdestroys getPopupMenusselectItemNamedsselectItemByIdxs hasItemNameds getAllNamess getSelectionsgetMultiSelectionssetLocalFiltersrefreshCurrents refreshItemssopenNodeInEditors OnItemSelectsOnItemDeselect(((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pysBaseExplorerList`s         . s ExplorerListcBstZRS(N(s__name__s __module__(((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pys ExplorerList ssBaseExplorerSplittercBstZeedZdZdZdZdZdZ dZ dZ d Z d Z d Zd Zd ZdZdZdZdZdZdZdZRS(NcCstii||tdtitiB||_||_ |i |d\|_ |_ ||_|i iti|id|i i|i iti|i|i iti|idt|i iti|idt|i||\|_|_|iti|idt |iti!|i"dt |i#|_$|iti%|i&dt|iti'|i(dt|i)|i|i t*i+|i,|i-|i i.dS(Nsstylessid(/swxsSplitterWindows__init__sselfsparentswxID_PFEs CLIP_CHILDRENsSP_LIVE_UPDATEseditorsstores createListsXListslists listContainers modimagessBindsEVT_LIST_ITEM_ACTIVATEDsOnOpensGetIds EVT_LEFT_DOWNs OnListClicksEVT_LIST_ITEM_SELECTEDs OnItemSelectswxID_PFLsEVT_LIST_ITEM_DESELECTEDsOnItemDeselects createTreesXTreestrees treeContainersEVT_TREE_SEL_CHANGINGs OnSelectingswxID_PFTsEVT_TREE_SEL_CHANGEDsOnSelectsinitInstalledControllerss controllerssEVT_LIST_BEGIN_LABEL_EDITsOnBeginLabelEditsEVT_LIST_END_LABEL_EDITsOnEndLabelEditsSplitVerticallys PreferencessexDefaultTreeWidthsSetMinimumPaneSizes GetSashSizesSetFocus(sselfsparents modimagesseditorsstoresXListsXTree((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pys__init__ s(   ( cCs#||||i}||fSdS(N(sXTreesselfs modimagessstorestree(sselfsXTrees modimagesstree((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pys createTree/scCs/|||d|id|i}||fSdS(Ns updateNotifysmenuFunc(sXListsselfsnamesOnUpdateNotifysgetMenuslist(sselfsXListsnameslist((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pys createList3sc Cs |iio|ii|iiio|iii}g}x+|i|iD]}|i t|qOWx|D]\}}}}|djo| o|iqs|djoH|ddjo|d}nti|i|ti|||qsqsWndS(Ns-is+i(sselfslistsnodes controllersshas_keysprotocolsprotstbMenuss toolbarMenussmenuLstsextendswIDsnamesmethsbmpstoolbars AddSeparatorsUtilssAddToolButtonBmpObjectseditorsISsload( sselfstoolbarswIDsmenuLststbMenussprotsbmpsmethsname((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pysaddTools8s) cCsL|iio|ii|iiio|i|iiiiSntSdS(N(sselfslistsnodes controllersshas_keysprotocolsmenusNone(sself((sX/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Explorers/Explorer.pysgetMenuIs)cCs|i odSnt|_|iit|ii|iit|iih}x!|i i D]}t||