class_docstr: Base interface for a margin.
class_docstr_tok: ["Base","interface","for","a","margin","."]
docstr: Return the width that this margin is going to consume.
  
  :param get_ui_content: Callable that asks the user control to create
      a :class:`.UIContent` instance. This can be used for instance to
      obtain the number of lines.
docstr_tok: ["Return","the","width","that","this","margin","is","going","to","consume",".",":","param","get_ui_content",":","Callable","that","asks","the","user","control","to","create","a",":","class",":","`",".UIContent","`","instance",".","This","can","be","used","for","instance","to","obtain","the","number","of","lines","."]
code: def get_width(self, get_ui_content: Callable[[], UIContent]) -> int:
      """
      Return the width that this margin is going to consume.
  
      :param get_ui_content: Callable that asks the user control to create
          a :class:`.UIContent` instance. This can be used for instance to
          obtain the number of lines.
      """
      return 0
  
imports: from __future__ import annotations
  from abc import ABCMeta, abstractmethod
  from typing import TYPE_CHECKING, Callable
  from prompt_toolkit.filters import FilterOrBool, to_filter
  from prompt_toolkit.formatted_text import StyleAndTextTuples, fragment_list_to_text, to_formatted_text
  from prompt_toolkit.utils import get_cwidth
  from .controls import UIContent
label_desc: Use image node_id 1 for calling the Margin obj's underlying member method code with example usage: obj.get_width(get_ui_content) and returns: int