class
 PropertyGrid
    behaviour
                    bindable
                    popupStyleNames:String        
                    behaviour
                    bindable
                    clonable
                    allowAutoScroll:Bool        
                    behaviour
                    bindable
                    clonable
                    autoHideScrolls:Bool        
                    behaviour
                    bindable
                    clonable
                    contentHeight:Null<Float>        
                    behaviour
                    bindable
                    clonable
                    contentLayoutName:String        
                    behaviour
                    bindable
                    clonable
                    contentWidth:Null<Float>        
                    behaviour
                    bindable
                    clonable
                    contents:Component        
                    behaviour
                    bindable
                    clonable
                    horizontalScrollPolicy:ScrollPolicy        
                    behaviour
                    bindable
                    clonable
                    hscrollMax:Float        
                    behaviour
                    bindable
                    clonable
                    hscrollPageSize:Float        
                    behaviour
                    bindable
                    clonable
                    hscrollPos:Float        
                    behaviour
                    bindable
                    clonable
                    hscrollThumbSize:Null<Float>        
                    behaviour
                    bindable
                    clonable
                    percentContentHeight:Null<Float>        
                    behaviour
                    bindable
                    clonable
                    percentContentWidth:Null<Float>        
                    behaviour
                    bindable
                    clonable
                    scrollMode:ScrollMode        
                    behaviour
                    bindable
                    clonable
                    scrollPolicy:ScrollPolicy        
                    behaviour
                    bindable
                    clonable
                    thumbSize:Null<Float>        
                    behaviour
                    bindable
                    clonable
                    verticalScrollPolicy:ScrollPolicy        
                    behaviour
                    bindable
                    clonable
                    virtual:Bool        
                    behaviour
                    bindable
                    clonable
                    vscrollMax:Float        
                    behaviour
                    bindable
                    clonable
                    vscrollPageSize:Float        
                    behaviour
                    bindable
                    clonable
                    vscrollPos:Float        
                    behaviour
                    bindable
                    clonable
                    vscrollThumbSize:Null<Float>        
                            actionRepeatInterval:Int        
                            allowFocus:Bool        
                            Whether this component is allowed to gain focus
            behaviour
                    bindable
                    clonable
                    allowInteraction:Bool        
                            autoFocus:Bool        
                            Whether this component is allowed to gain focus automatically
                    focus:Bool        
                            Whether this component currently has focus
Note*: components that have focus will have an :active css psuedo class automatically added
            Note*: components that have focus will have an :active css psuedo class automatically added
        validators:Array<IValidator>        
                            animatable:Bool        
                            Whether this component is allowed to animate or not.
                    componentAnimation:Animation        
                            The currently running animation.
                    componentTabIndex:Int        
                    read-only
                    cssName:String        
                            dragInitiator:Component        
                            dragOptions:        
                            draggable:Bool        
                            When set to true, this component should be drag&drop-able.
            read-only
                    isComponentSolid:Bool        
                            Whether this component has a non-visible graphic added/drawn onto it or not.
                    native:Null<Bool>        
                            When enabled, HaxeUI will try  to use a native version of this component.
            read-only
                    screen:Screen        
                            The Screen object this component is displayed on.
                    styleSheet:StyleSheet        
                            userData::Dynamic        
                            Can be used to store specific data relating to the component, or other things in your application.
            read-only
                    className:String        
                    read-only
                    actualComponentHeight:Float        
                            The component's true height on screen.
May differ from componentHeight if Toolkit.scaleY != 1
            May differ from componentHeight if Toolkit.scaleY != 1
read-only
                    actualComponentWidth:Float        
                            The component's true width on screen.
May differ from componentWidth if Toolkit.scaleX != 1
            May differ from componentWidth if Toolkit.scaleX != 1
        componentClipRect:Rectangle        
                            When set to a non-null value, restricts the component's "rendering zone"
to only render inside the bounds of the given rectangle, effectively "clipping" the component.
            to only render inside the bounds of the given rectangle, effectively "clipping" the component.
read-only
                    hasScreen:Bool        
                            Whether this component, or one if it's parents, has a screen.
            read-only
                    isComponentClipped:Bool        
                            Whether this component has a non-null clipping rectangle or not.
            read-only
                    isComponentOffscreen:Bool        
                            true if this component's area intersects with the screen, false otherwise.
clipRect is not taken into consideration - that means, if a clipRect turns a component from being
visible on screen to being invisible on screen, isComponentOffScreen should still be false.
            clipRect is not taken into consideration - that means, if a clipRect turns a component from being
visible on screen to being invisible on screen, isComponentOffScreen should still be false.
override
                    cloneComponent():PropertyGrid        
                    override
                    cloneComponent():ScrollView        
                            ensureVisible(component:Component):Void        
                    override
                    cloneComponent():InteractiveComponent        
                    override
                    cloneComponent():Component        
                            Gets a complete copy of this component.
Returns
| A new component, similar to this one. | 
        disposeComponent():Void        
                            Removes this component from memory.
Calling methods/using fields on this component after calling disposeComponent
is undefined behaviour, and could result in a null pointer exception/x is null exceptions.
            Calling methods/using fields on this component after calling disposeComponent
is undefined behaviour, and could result in a null pointer exception/x is null exceptions.
        fadeIn(onEnd:():Void = null, show:Bool = true):Void        
                            Applies a fade effect which turns this component from invisible to visible.
Parameters
onEnd:():Void = null  | A function to dispatch when the fade completes | 
show:Bool = true  | When enabled, ensures that this component is actually visible when the fade completes. | 
        fadeOut(onEnd:():Void = null, hide:Bool = true):Void        
                            Applies a fade effect which turns this component from visible to invisible.
Parameters
onEnd:():Void = null  | A function to dispatch when the fade completes | 
show:Bool = true  | When enabled, ensures that this component is actually invisible when the fade completes. | 
        findComponents<T>(styleName:String = null, type:Class<T> = null, maxDepth:Int = 5):Array<T>        
                            Finds all components with a specific style in this components display tree.
Parameters
styleName:String = null  | The style name to search for | 
type:Class<T> = null  | The component class you wish to cast the result to (defaults to null, which means casting to the default, Component type). | 
maxDepth:Int = 5  | how many children "deep" should the search go to find components. defaults to 5. | 
Returns
| An array of the found components. | 
        findComponentsUnderPoint<T>(screenX:Float, screenY:Float, type:Class<T> = null):Array<Component>        
                            Lists components under a specific point in global, screen coordinates.
Note: this function will return *every single* components at a specific point,
even if they have no backgrounds, or haven't got anything drawn onto them.
Note: this function will return *every single* components at a specific point,
even if they have no backgrounds, or haven't got anything drawn onto them.
Parameters
screenX:Float  | The global, on-screen x position of the point to check for components under | 
screenY:Float  | The global, on-screen y position of the point to check for components under | 
type:Class<T> = null  | Used to filter all components that aren't of a specific type. null by default, which means no filter is applied. | 
Returns
| An array of all components that overlap the "global" position (x, y) | 
        hasComponentUnderPoint<T>(screenX:Float, screenY:Float, type:Class<T> = null):Bool        
                            Finds out if there is a component under a specific point in global coordinates.
Parameters
screenX:Float  | The global, on-screen x position of the point to check for components under | 
screenY:Float  | The global, on-screen y position of the point to check for components under | 
type:Class<T> = null  | Used to filter all components that aren't of a specific type. null by default, which means no filter is applied. | 
Returns
| true if there is a component that overlaps the global position (x, y), false otherwise. | 
        lockLayout(recursive:Bool = false):Void        
                            ready():Void        
                            Tells the framework this component is ready to render
*Note*: this is called internally by the framework
            *Note*: this is called internally by the framework
        unlockLayout(recursive:Bool = false):Void        
                            walkComponents(callback::Component->Bool):Void        
                            Iterates over the children components and calls callback() on each of them, recursively.
The children's children are also included in the walking, and so are those children's children...
The children's children are also included in the walking, and so are those children's children...
Parameters
callback::Component->Bool  | a callback that receives one component, and returns whether the walking should continue or not. | 
        pauseEvent(type:String, recursive:Bool = false):Void        
                            resumeEvent(type:String, recursive:Bool = false):Void        
                    