; fBc@sdZdGHdkZdkZdkZdklZdkZdkZdkZdk Z dk Z dk l Z dk lZlZdklZlZdkZdkZeei_e iddd d gd d efd YZdklZdfdYZe iief7_dfdYZ ei!ie f7_dfdYZ"dfdYZ#dei$fdYZ%dS(s A Boa Constructor Plug-in that integrates the Bicycle Repair Man into the IDE. The refactoring actions are published under the Edit menu of Python Source Views, this is also the source's context menu. There is a global refactoring context shared between all open modules. This is exposed as editor.brm_context. Also clearing the current context can be called from the Explorer menu. simporting BicycleRepairManN(sstart_new_thread(s PySourceView(sPythonEditorModelssPythonControllers(s ExplorerNodess FileExplorersBicycleRepairMansbrmProgressLoggers'ProgressStatusLogger's+Destination for progress messages from BRM.s7options: 'ProgressStatusLogger', 'ProgressErrOutLogger'sCancelOperationcBstZRS(N(s__name__s __module__(((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysCancelOperation>s(sCouldntFindDefinitionExceptions BRMViewPlugincBstZdZdZdZdZdZdZdZe dZ dZ d Z d Z e d Zd Zd ZdZdZdZdZdZdZdZRS(sN Plugin class for View classes that exposes the refactoring API. Handles cCs||_||_|idtddfd|iddfd|iddfdtddfd|iddfd|i ddfdtddfd|i ddfd|i ddfdtddfd |i ddff dS( Ns-ssBRM - Find referencessBRM - Find definitions BRM - RenamesBRM - Extract methodsBRM - Extract local variablesBRM - Inline local variablesBRM - Undo last( smodelsselfsviewsactionssextendsNonesOnFindReferencessOnFindDefinitionsOnRenamesOnExtractMethodsOnExtractLocalVarsOnInlineLocalVars OnUndoLast(sselfsmodelsviewsactions((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pys__init__Es  cCs|iii}| o dn|iii}|ii }|ii }|ii |d}|ii|}|||||fSdS(NsNo text selected.i(sselfsviewsGetSelectedTextsstrips selectionsmodelseditors brm_contextsctxscheckLocalFilesfilenamesGetSelectionStartspossLineFromPositionslinenos GetColumnscolumn(sselfs selectionscolumnsctxspossfilenameslineno((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysprepareForSelectOperationWs cCs^|iii}d|_d|_|i}|i |i |}|i |||fSdS(NssInfo(sselfsmodelseditors erroutFrmserrouts runningDirs tracebackTypes errorStackTCstreesDeleteAllItemssAddRootstxtsrootsdisplay(sselfstxtsrootstreeserrout((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysprepareOutputDisplayds     cCsM|ii}|ii}x+|D]#}|idti i |q"WdS(Nsfile://( sselfsmodelseditors brm_contextssaves savedfilessfilenamesexplorerModifyNotifysosspathsabspath(sselfs savedfilesseditorsfilename((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pyssaveAndRefreshps  cCs|i}|ii}x|iiD]}dtii |}||ii joRy$|ii |ii |t dWqtij otidtSqXq"q"Wt SdS(Nsfile://s)Save changes before Refactoring operationsOperation aborted.(sselfsmodelseditors brm_contextsctxsbrmctxspathsspathsossabspathsurismodulessprepareForCloseModulesTruesEditors CancelCloseswxsLogErrorsFalse(sselfsctxsurispathsmodel((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pyscheckUnsavedChangesxs     c Cs|iii}| o tdn|ii}t i d||} | o tdn|ii\} } |ii| }|ii| }|ii| }|ii| }||d||d|| fSdS(Ns;No text selected. Highlight the region you want to extract.s New %s name:sEmpty names are invalid.i(sselfsviewsGetSelectedTextsstrips selectionsCancelOperationsmodelscheckLocalFilesfilenameswxsGetTextFromUsersxtypescaptionsnames GetSelectionsstartpossendpossLineFromPositions startlines GetColumnsstartcolsendlinesendcol( sselfsxtypescaptions selectionsendlinesendcolsfilenamesstartcols startlinesendpossstartpossname((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysgetExtractionInfos  cCsQ|i\}}}}}t|i|||||f|i i i ddS(NsBRM - Finding references...( sselfsprepareForSelectOperationsctxsselsfilenameslinenoscolumnsstart_new_threadsfindReferencesThreadsmodelseditors setStatus(sselfseventscolumnsctxsfilenameslinenossel((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysOnFindReferencess c CsyCgi}|i|||D]} |t| gq ~}Wnt j ot i |in}tj oZ}t i t idititit i |iiidt|dnXt i |i||dS(NssBRM - Error %ssError(sappends_[1]sctxsfindReferencesByCoordinatessfnameslinenoscolumnsrefsReferencesMatchersmatchessCouldntFindDefinitionExceptionswxs CallAftersselfsfindReferencesFindDefinitions ExceptionserrsLogErrorsjoins tracebacksformat_exceptionssyssexc_infosmodelseditors setStatussstrsfindReferencesFinishedssel( sselfsctxsfnameslinenoscolumnsselserrs_[1]smatchessref((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysfindReferencesThreadsC cCsN|iiidtiddtitiBtijo|i ndS(NsBRM - Could not find definitionsPerform Find Definition?sFind References( sselfsmodelseditors setStatusswxs MessageBoxsYES_NOs ICON_WARNINGsYESsOnFindDefinition(sself((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysfindReferencesFindDefinitions cCs|id|\}}}d}x |D]}|i ||}q)W|i |t |i ||o+|i id|iiid|ndS(NsBRM - References for %sisBRM - %s reference(s) found(sselfsprepareOutputDisplaysselserroutstreesrootsxsmatchessentrysaddTracebackNodesSetItemHasChildrensTruesExpandsnotebooks SetSelectionsmodelseditors setStatus(sselfsmatchessselstreeserroutsentrysxsroot((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysfindReferencesFinisheds cCsQ|i\}}}}}t|i|||||f|i i i ddS(NsBRM - Finding definition...( sselfsprepareForSelectOperationsctxsselsfilenameslinenoscolumnsstart_new_threadsfindDefinitionThreadsmodelseditors setStatus(sselfseventscolumnsctxsfilenameslinenossel((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysOnFindDefinitions c Csy|i|||}y|i}WnBtj o6t i t i dt i |i iiddnXt i |i|||Wnftj oZ}t i t i dititit i |i iidt|dnXdS(NsCouldn't find definitionsBRM - Could not find definitionsErrorssBRM - Error %s(sctxsfindDefinitionByCoordinatessfilenameslinenoscolumnsdefssnextsmatchs StopIterationswxs CallAftersLogErrorsselfsmodelseditors setStatussfindDefinitionFinishedssels Exceptionserrsjoins tracebacksformat_exceptionssyssexc_infosstr( sselfsctxsfilenameslinenoscolumnsselsdefsserrsmatch((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysfindDefinitionThreads c Cs|iii|i\} }| i}|i |i d|i |i d|i d|\} }} d} | it|g| } x/|D]'}t|g}| i|| } qW|i| t|i| | o+| iid|iiid| ndS(NisBRM - Definition for %sisBRM - %s matches(s) found(sselfsmodelseditorsopenOrGotoModulesmatchsfilenamesmodsctrs getSourceViewsviewsGotoLineslinenos setLinePtrsprepareOutputDisplaysselserroutstreesrootsxsaddTracebackNodesReferencesMatchersdefssrefsentrysSetItemHasChildrensTruesExpandsnotebooks SetSelections setStatus( sselfsmatchsselsdefssentrysctrsrefsviewstreeserroutsxsrootsmod((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysfindDefinitionFinisheds   cCs|i odSn|i\}}}}}|i|i t i dd|}| odSn|i |||||idS(Ns Rename to:sRename(sselfscheckUnsavedChangessprepareForSelectOperationsctxsselsfilenameslinenoscolumnssetRenameMethodPromptCallbacksrenameCallbackswxsGetTextFromUsersnewnamesrenameByCoordinatesssaveAndRefresh(sselfseventscolumnsctxsfilenamesnewnameslinenossel((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysOnRenamesc Cs|ii} |iii|\}}|i} | i |d}| i ||||tiddtitiBtij}|iii| |SdS(NisPCannot deduce the type of highlighted object reference. Rename this declaration?sRename?(sselfsmodelsfilenamescurrfileseditorsopenOrGotoModulesctrs getSourceViewsviewsPositionFromLineslinenosedges SetSelectionscolbeginscolendswxs MessageBoxsYES_NOs ICON_QUESTIONsYESsres( sselfsfilenameslinenoscolbeginscolendsmodelsctrsressedgescurrfilesview((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysrenameCallbacks   cCs|i odSn|iii}y|i|iddWn(tj o}t i t |n%X|i i|i i|idS(NsMethodsExtract method(sselfscheckUnsavedChangessmodelseditors brm_contextsctxs extractMethodsgetExtractionInfosCancelOperationserrswxsLogErrorsstrsviewsSetSelectionEndsGetSelectionStartssaveAndRefresh(sselfseventserrsctx((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysOnExtractMethodscCsMy|iiiiWn%tij o}ti dn X|i dS(Ns)Nothing to undo, the undo stack is empty.( sselfsmodelseditors brm_contextsundosbikesUndoStackEmptyExceptionsmsgswxs LogWarningssaveAndRefresh(sselfseventsmsg((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pys OnUndoLast"s c Cs|i odSn|iii}y(|idd\}}}} }}Wn(t j o}tit|nAX|i|||| |||ii|ii|idS(NsVariablesExtract variable(sselfscheckUnsavedChangessmodelseditors brm_contextsctxsgetExtractionInfosfilenames startlinesstartcolsendlinesendcols variablenamesCancelOperationserrswxsLogErrorsstrsextractLocalVariablesviewsSetSelectionEndsGetSelectionStartssaveAndRefresh( sselfsevents variablenames startlineserrsctxsendcolsfilenamesstartcolsendline((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysOnExtractLocalVar*s( cCsR|i odSn|i\}}}}}|i||||i dS(N( sselfscheckUnsavedChangessprepareForSelectOperationsctxsselsfilenameslinenoscolumnsinlineLocalVariablessaveAndRefresh(sselfseventscolumnsctxsfilenameslinenossel((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysOnInlineLocalVar:s cCsI|i\}}}}}ti|i ||||t | dS(N( sselfsprepareForSelectOperationsctxsselsfilenameslinenoscolumnswxs LogMessagesgetTypeOfExpressionslen(sselfseventscolumnsctxsfilenameslinenossel((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pys OnGetExprTypeDs(s__name__s __module__s__doc__s__init__sprepareForSelectOperationsprepareOutputDisplayssaveAndRefreshscheckUnsavedChangessgetExtractionInfosNonesOnFindReferencessfindReferencesThreadsfindReferencesFindDefinitionsfindReferencesFinishedsOnFindDefinitionsfindDefinitionThreadsfindDefinitionFinishedsOnRenamesrenameCallbacksOnExtractMethods OnUndoLastsOnExtractLocalVarsOnInlineLocalVars OnGetExprType(((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pys BRMViewPluginAs*                 sBRMModelPlugincBs&tZdZdZdZdZRS(s Plugin class for Model classes that creates the context and performs various ways importing into the refactoring context. sBRMcCsn||_t|id p|iitjo:ti|i_}|i t t i |indS(Ns brm_context( smodelsselfshasattrseditors brm_contextsNonesbikesinitscontextssetProgressLoggersglobalss PreferencessbrmProgressLogger(sselfsmodelscontext((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pys__init__fs 'cCsdS(N((sself((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysupdateos(s__name__s __module__s__doc__snames__init__supdate(((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysBRMModelPluginbs  sProgressErrOutLoggercBs tZdZdZdZRS(sG File like logger that uses the Output tab at the bottom of the Editor cCs|i|_dS(N(seditors erroutFrmsselfserrout(sselfseditor((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pys__init__yscCsti|ii|dS(N(swxs CallAftersselfserroutsappendToOutputstxt(sselfstxt((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pyswrite|s(s__name__s __module__s__doc__s__init__swrite(((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysProgressErrOutLoggerws  sProgressStatusLoggercBs tZdZdZdZRS(s; File like logger that uses the Editor statusbar as output cCs||_d|_dS(Ns(seditorsselfs_buffer(sselfseditor((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pys__init__s cCsO|i|7_|ido,ti|ii|iid|_ndS(Ns s( sselfs_bufferstxtsendswithswxs CallAfterseditors setStatussstrip(sselfstxt((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pyswrites(s__name__s __module__s__doc__s__init__swrite(((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysProgressStatusLoggers  sReferencesMatchercBstZdZdZRS(sD Needed to build "traceback objects" that appear on Find definition cCswxp|iD]e}d|i|i|ifg|_|iit i |i|it i |i|i|iq WdS(Ns%s%% confidence for: %s:%s( sselfslinessrefs confidencesfilenameslinenoserrorsstacksappends ErrorStacks StackEntrys linecachesgetline(sselfsref((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysparses  "(s__name__s __module__s__doc__sparse(((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pysReferencesMatchers (&s__doc__soss linecaches tracebacksthreadsstart_new_threadsbikeswxs PreferencessUtilssPluginssViewss PySourceViewsModelssPythonEditorModelssPythonControllerss Explorerss ExplorerNodess FileExplorers ErrorStacksEditorsNones EditorFrames brm_contextsregisterPreferences ExceptionsCancelOperationsbike.query.findReferencessCouldntFindDefinitionExceptions BRMViewPluginsPythonSourceViewspluginssBRMModelPlugins ModuleModelsProgressErrOutLoggersProgressStatusLoggersStackErrorParsersReferencesMatcher(s Preferencess BRMViewPluginsCancelOperationsstart_new_threadsPythonControllerssEditorsPythonEditorModelss ExplorerNodessProgressStatusLoggersbikesReferencesMatcherswxsPluginssProgressErrOutLoggers PySourceViewsCouldntFindDefinitionExceptionsBRMModelPluginsUtilss tracebacks linecaches FileExplorers ErrorStacksos((sg/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/BicycleRepairMan.plug-in.pys?s2