#NEWLINE# def set_focus( self , name ) : #NEWLINE# #INDENT# self . logger . debug ( ( "Focusing plugin '%s'" % name ) ) #NEWLINE# lname = name . lower ( ) #NEWLINE# bnch = self . active [ lname ] #NEWLINE# if bnch . exclusive : #NEWLINE# #INDENT# self . logger . debug ( ( 'focus=%s exclusive=%s' % ( self . focus , self . exclusive ) ) ) #NEWLINE# defocus = list ( filter ( ( lambda x : ( x in self . exclusive ) ) , self . focus ) ) #NEWLINE# self . logger . debug ( ( 'defocus: %s' % str ( defocus ) ) ) #NEWLINE# for xname in defocus : #NEWLINE# #INDENT# self . clear_focus ( xname ) #NEWLINE# #UNINDENT# #UNINDENT# pInfo = bnch . pInfo #NEWLINE# if ( pInfo . chinfo is not None ) : #NEWLINE# #INDENT# itab = pInfo . chinfo . name #NEWLINE# self . logger . debug ( ( 'raising channel tab %s' % itab ) ) #NEWLINE# self . ds . raise_tab ( itab ) #NEWLINE# self . logger . debug ( ( 'resuming plugin %s' % name ) ) #NEWLINE# pInfo . obj . resume ( ) #NEWLINE# self . make_callback ( 'focus-plugin' , bnch ) #NEWLINE# #UNINDENT# self . focus . add ( lname ) #NEWLINE# if ( pInfo . widget is not None ) : #NEWLINE# #INDENT# self . logger . debug ( ( 'raising plugin tab %s' % pInfo . tabname ) ) #NEWLINE# if pInfo . is_toplevel : #NEWLINE# #INDENT# pInfo . widget . raise_ ( ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# self . ds . raise_tab ( pInfo . tabname )