parameters: (layout, indent=0, indent_size=2)
return_statement: return '\n'.join(script), indent
docstring: Formats a layout list so we can pass the result to ttk::style
      layout and ttk::style settings. Note that the layout doesn't has to
      be a list necessarily.
  
      E.g.:
        [("Menubutton.background", None),
         ("Menubutton.button", {"children":
             [("Menubutton.focus", {"children":
                 [("Menubutton.padding", {"children":
                  [("Menubutton.label", {"side": "left", "expand": 1})]
                 })]
             })]
         }),
         ("Menubutton.indicator", {"side": "right"})
        ]
  
        returns:
  
        Menubutton.background
        Menubutton.button -children {
          Menubutton.focus -children {
            Menubutton.padding -children {
              Menubutton.label -side left -expand 1
            }
          }
        }
        Menubutton.indicator -side right
docstring_summary: Formats a layout list so we can pass the result to ttk::style
      layout and ttk::style settings. Note that the layout doesn't has to
      be a list necessarily.
docstring_tokens: Formats a layout list so we can pass the result to ttk :: style layout and ttk :: style settings . Note that the layout doesn t has to be a list necessarily .
function: def _format_layoutlist(layout, indent=0, indent_size=2):
      """Formats a layout list so we can pass the result to ttk::style
      layout and ttk::style settings. Note that the layout doesn't has to
      be a list necessarily.
  
      E.g.:
        [("Menubutton.background", None),
         ("Menubutton.button", {"children":
             [("Menubutton.focus", {"children":
                 [("Menubutton.padding", {"children":
                  [("Menubutton.label", {"side": "left", "expand": 1})]
                 })]
             })]
         }),
         ("Menubutton.indicator", {"side": "right"})
        ]
  
        returns:
  
        Menubutton.background
        Menubutton.button -children {
          Menubutton.focus -children {
            Menubutton.padding -children {
              Menubutton.label -side left -expand 1
            }
          }
        }
        Menubutton.indicator -side right"""
      script = []
  
      for layout_elem in layout:
          elem, opts = layout_elem
          opts = opts or {}
          fopts = ' '.join(_format_optdict(opts, True, ("children",)))
          head = "%s%s%s" % (' ' * indent, elem, (" %s" % fopts) if fopts else '')
  
          if "children" in opts:
              script.append(head + " -children {")
              indent += indent_size
              newscript, indent = _format_layoutlist(opts['children'], indent,
                  indent_size)
              script.append(newscript)
              indent -= indent_size
              script.append('%s}' % (' ' * indent))
          else:
              script.append(head)
  
      return '\n'.join(script), indent
function_tokens: def _format_layoutlist ( layout , indent = 0 , indent_size = 2 ) : script = [ ] for layout_elem in layout : elem , opts = layout_elem opts = opts or { } fopts = ' ' . join ( _format_optdict ( opts , True , ( "children" , ) ) ) head = "%s%s%s" % ( ' ' * indent , elem , ( " %s" % fopts ) if fopts else '' ) if "children" in opts : script . append ( head + " -children {" ) indent += indent_size newscript , indent = _format_layoutlist ( opts [ 'children' ] , indent , indent_size ) script . append ( newscript ) indent -= indent_size script . append ( '%s}' % ( ' ' * indent ) ) else : script . append ( head ) return '\n' . join ( script ) , indent