parameters: (self, shelfid)
docstring: Put an item on the shelf by using its unique shelf id.
          This is only for use with loading items implementing the
          L{ShelfI} interface. See L{AddItem} if you wish to pass
          a panel to the shelf to add.
          @param shelfid: id of the ShelfItem to open
docstring_summary: Put an item on the shelf by using its unique shelf id.
          This is only for use with loading items implementing the
          L{ShelfI} interface. See L{AddItem} if you wish to pass
          a panel to the shelf to add.
          @param shelfid: id of the ShelfItem to open
docstring_tokens: Put an item on the shelf by using its unique shelf id . This is only for use with loading items implementing the L { ShelfI } interface . See L { AddItem } if you wish to pass a panel to the shelf to add . @param shelfid : id of the ShelfItem to open
function: def PutItemOnShelf(self, shelfid):
          """Put an item on the shelf by using its unique shelf id.
          This is only for use with loading items implementing the
          L{ShelfI} interface. See L{AddItem} if you wish to pass
          a panel to the shelf to add.
          @param shelfid: id of the ShelfItem to open
  
          """
          item = None
          for shelfi in self.observers:
              if shelfi.GetId() == shelfid:
                  item = shelfi
                  break
  
          if item is None:
              return
  
          name = item.GetName()
          if self._shelf.ItemIsOnShelf(name) and \
              not item.AllowMultiple() or self._shelf is None:
              return
          else:
              self.EnsureShelfVisible()
              # Guard against crashes in creating plugin derived objects
              # log error to log and continue running.
              window = None
              try:
                  window = item.CreateItem(self._shelf)
              except Exception, msg:
                  self._log("[shelf][err] CreateItem failed: %s" % msg)
                  return
  
              bmp = wx.NullBitmap
              if hasattr(item, 'GetBitmap'):
                  self._shelf.BitmapCallbacks[repr(window.__class__)] = item.GetBitmap
                  bmp = item.GetBitmap()
              else:
                  self._shelf.BitmapCallbacks[repr(window.__class__)] = lambda:wx.NullBitmap
              self.AddItem(window, name, bmp)
function_tokens: def PutItemOnShelf ( self , shelfid ) : item = None for shelfi in self . observers : if shelfi . GetId ( ) == shelfid : item = shelfi break if item is None : return name = item . GetName ( ) if self . _shelf . ItemIsOnShelf ( name ) and not item . AllowMultiple ( ) or self . _shelf is None : return else : self . EnsureShelfVisible ( ) # Guard against crashes in creating plugin derived objects # log error to log and continue running. window = None try : window = item . CreateItem ( self . _shelf ) except Exception , msg : self . _log ( "[shelf][err] CreateItem failed: %s" % msg ) return bmp = wx . NullBitmap if hasattr ( item , 'GetBitmap' ) : self . _shelf . BitmapCallbacks [ repr ( window . __class__ ) ] = item . GetBitmap bmp = item . GetBitmap ( ) else : self . _shelf . BitmapCallbacks [ repr ( window . __class__ ) ] = lambda : wx . NullBitmap self . AddItem ( window , name , bmp )