docstr: Register a callback to be invoked when the
  :func:`~perspective.Table.delete()` method is called on this
  :class:`~perspective.Table`.
  
  Args:
      callback (:obj:`func`): A callback function to invoke on delete.
  
  Examples:
      >>> def deleter():
      ...     print("Delete called!")
      >>> table.on_delete(deleter)
      >>> table.delete()
      >>> Delete called!
docstr_tok: ["Register","a","callback","to","be","invoked","when","the",":","func",":","`","~perspective.Table.delete","(",")","`","method","is","called","on","this",":","class",":","`","~perspective.Table","`",".","Args",":","callback","(",":","obj",":","`","func","`",")",":","A","callback","function","to","invoke","on","delete",".","Examples",":",">",">",">","def","deleter","(",")",":","...","print","(","``","Delete","called","!","''",")",">",">",">","table.on_delete","(","deleter",")",">",">",">","table.delete","(",")",">",">",">","Delete","called","!"]
code: def on_delete(self, callback):
      """Register a callback to be invoked when the
      :func:`~perspective.Table.delete()` method is called on this
      :class:`~perspective.Table`.
  
      Args:
          callback (:obj:`func`): A callback function to invoke on delete.
  
      Examples:
          >>> def deleter():
          ...     print("Delete called!")
          >>> table.on_delete(deleter)
          >>> table.delete()
          >>> Delete called!
      """
      if not callable(callback):
          raise ValueError(
              "on_delete callback must be a callable function!"
          )
      self._delete_callbacks.add_callback(callback)
  
imports: from datetime import date, datetime
  from ..core.exception import PerspectiveError
  from ._accessor import _PerspectiveAccessor
  from ._callback_cache import _PerspectiveCallBackCache
  from ._date_validator import _PerspectiveDateValidator
  from ._state import _PerspectiveStateManager
  from ._utils import _dtype_to_pythontype, _dtype_to_str, _parse_expression_inputs, _str_to_pythontype
  from .libpsppy import make_table, update_table, str_to_filter_op, t_dtype, t_filter_op, t_op, validate_expressions
  from .view import View
label_desc: Use image node_id 19 for calling the Table obj's underlying member method code with example usage: obj.on_delete(callback) without return types