nodes: 0, module; 1, function_definition; 2, function_name:create_proxy_model; 3, parameters; 4, block; 5, identifier:self; 6, identifier:model; 7, expression_statement; 8, expression_statement; 9, expression_statement; 10, expression_statement; 11, return_statement; 12, comment:"""Create a sort filter proxy model for the given model
  
          :param model: the model to wrap in a proxy
          :type model: :class:`QtGui.QAbstractItemModel`
          :returns: a new proxy model that can be used for sorting and filtering
          :rtype: :class:`QtGui.QAbstractItemModel`
          :raises: None
          """; 13, assignment; 14, call; 15, call; 16, identifier:proxy; 17, identifier:proxy; 18, call; 19, attribute; 20, argument_list; 21, attribute; 22, argument_list; 23, identifier:ReftrackSortFilterModel; 24, argument_list; 25, identifier:proxy; 26, identifier:setSourceModel; 27, identifier:model; 28, attribute; 29, identifier:connect; 30, attribute; 31, identifier:self; 32, identifier:model; 33, identifier:rowsInserted; 34, identifier:self; 35, identifier:sort_model
code: def create_proxy_model(self, model):
          """Create a sort filter proxy model for the given model
  
          :param model: the model to wrap in a proxy
          :type model: :class:`QtGui.QAbstractItemModel`
          :returns: a new proxy model that can be used for sorting and filtering
          :rtype: :class:`QtGui.QAbstractItemModel`
          :raises: None
          """
          proxy = ReftrackSortFilterModel(self)
          proxy.setSourceModel(model)
          model.rowsInserted.connect(self.sort_model)
          return proxy