# p.g.Container(planes.Plane) : class documentation

Part of planes.gui View In Hierarchy

Known subclasses: planes.gui.FadingContainer, planes.gui.GetStringDialog, planes.gui.OkBox, planes.gui.OptionList, planes.gui.OptionSelector, planes.gui.tmb.TMBContainer

    A Container for Planes.
    If a subplane is added via sub(), the container places it below any existing
    subplanes and resizes itself to fit the width and height of the subplanes.

    Additional attributes:

    Container.padding
        Space between subplanes and border, in pixels

    Container.background_color
        The original background color for this Container

Method | __init__ | `Initialise. Container.image is initialised to a 0x0 px Surface.`
Method | redraw | `Redraw Container.image from the dimensions in Containter.rect. This also creates a new Container.rendersurface.`
Method | sub | `Resize the container, update the position of plane and add it as a subplane.`
Method | remove | `Remove the subplane, then reposition remaining subplanes and resize the container.`
Method | remove_all | `Remove all subplanes and shrink accordingly.`

Inherited from Plane:

Method | __getattr__ | `Access subplanes as attributes.`
Method | render | `Draw a composite surface of this plane and all subplanes, in order of their addition.`
Method | get_plane_at | `Return the (sub)plane and the succeeding parent coordinates at the given coordinates. Subplanes are tested in reverse order of their addition (i.e. latest first).`
Method | update | No summary
Method | clicked | `Called when there is a MOUSEDOWN event on this plane. If click callbacks are set, the appropriate one is called with this Plane as argument.`
Method | dropped_upon | `If a plane is dropped on top of this one, call dropped_upon_callback() and conditionally grab it.`
Method | destroy | `Remove this Plane from the parent plane, remove all subplanes and delete all pygame Surfaces.`
Method | sync | `Save the Plane given as master Plane and the position offset to that Plane for position synchronisation in Plane.update().`
Method | unsync | `Remove the position synchronisation to the sync master Plane.`
Method | mouseover_callback | `Callback function when the mouse cursor moves over this plane. The default implementation sets Plan.mouseover to True when Plane.highlight is set.`
Method | mouseout_callback | `Callback function when the mouse cursor has left this plane. The default implementation sets Plan.mouseover to False.`
Method | __repr__ | `Readable string representation.`

def __init__(self, name, padding=0, background_color=None):
overrides planes.Plane.__init__
overridden in planes.gui.FadingContainer, planes.gui.GetStringDialog, planes.gui.OkBox, planes.gui.OptionList, planes.gui.OptionSelector, planes.gui.tmb.TMBContainer

    Initialise.
    Container.image is initialised to a 0x0 px Surface.

def redraw(self):
overridden in planes.gui.tmb.TMBContainer

    Redraw Container.image from the dimensions in Containter.rect.
    This also creates a new Container.rendersurface.

def sub(self, plane):
overrides planes.Plane.sub
overridden in planes.gui.tmb.TMBContainer

    Resize the container, update the position of plane and add it as a subplane.

def remove(self, plane_identifier):
overrides planes.Plane.remove
overridden in planes.gui.tmb.TMBContainer

    Remove the subplane, then reposition remaining subplanes and resize the container.

def remove_all(self):
overrides planes.Plane.remove_all

    Remove all subplanes and shrink accordingly.