# -*- coding: utf-8 -*-
#---------------------------------------------------------------------------
# This file is generated by wxPython's PI generator.  Do not edit by hand.
#
# The *.pyi files are used by PyCharm and other development tools to provide
# more information, such as PEP 484 type hints, than it is able to glean from
# introspection of extension types and methods.  They are not intended to be
# imported, executed or used for any other purpose other than providing info
# to the tools. If you don't use use a tool that makes use of .pyi files then
# you can safely ignore this file.
#
# See: https://www.python.org/dev/peps/pep-0484/
#      https://www.jetbrains.com/help/pycharm/2016.1/type-hinting-in-pycharm.html
#
# Copyright: (c) 2020 by Total Control Software
# License:   wxWindows License
#---------------------------------------------------------------------------

#-- begin-_propgrid --#

import wx
#-- end-_propgrid --#
#-- begin-propgriddefs --#

PG_LABEL = "@!"
PG_LABEL_STRING = PG_LABEL
PG_NULL_BITMAP = wx.NullBitmap
PG_COLOUR_BLACK = wx.BLACK
PG_DEFAULT_IMAGE_SIZE = wx.Size(-1, -1)
PG_INVALID_VALUE = 0
PG_BASE_OCT = 0
PG_BASE_DEC = 0
PG_BASE_HEX = 0
PG_BASE_HEXL = 0
PG_PREFIX_NONE = 0
PG_PREFIX_0x = 0
PG_PREFIX_DOLLAR_SIGN = 0
PG_DONT_RECURSE = 0
PG_KEEP_STRUCTURE = 0
PG_RECURSE = 0
PG_INC_ATTRIBUTES = 0
PG_RECURSE_STARTS = 0
PG_FORCE = 0
PG_SORT_TOP_LEVEL_ONLY = 0
PG_FULL_VALUE = 0
PG_REPORT_ERROR = 0
PG_PROPERTY_SPECIFIC = 0
PG_EDITABLE_VALUE = 0
PG_COMPOSITE_FRAGMENT = 0
PG_UNEDITABLE_COMPOSITE_FRAGMENT = 0
PG_VALUE_IS_CURRENT = 0
PG_PROGRAMMATIC_VALUE = 0
PG_SETVAL_REFRESH_EDITOR = 0
PG_SETVAL_AGGREGATED = 0
PG_SETVAL_FROM_PARENT = 0
PG_SETVAL_BY_USER = 0
#-- end-propgriddefs --#
#-- begin-propgridproperty --#
PG_PROP_MAX = 0
PG_PROP_PARENTAL_FLAGS = 0
PG_STRING_STORED_FLAGS = 0
PG_PROP_MODIFIED = 0
PG_PROP_DISABLED = 0
PG_PROP_HIDDEN = 0
PG_PROP_CUSTOMIMAGE = 0
PG_PROP_NOEDITOR = 0
PG_PROP_COLLAPSED = 0
PG_PROP_INVALID_VALUE = 0
PG_PROP_WAS_MODIFIED = 0
PG_PROP_AGGREGATE = 0
PG_PROP_CHILDREN_ARE_COPIES = 0
PG_PROP_PROPERTY = 0
PG_PROP_CATEGORY = 0
PG_PROP_MISC_PARENT = 0
PG_PROP_READONLY = 0
PG_PROP_COMPOSED_VALUE = 0
PG_PROP_USES_COMMON_VALUE = 0
PG_PROP_AUTO_UNSPECIFIED = 0
PG_PROP_CLASS_SPECIFIC_1 = 0
PG_PROP_CLASS_SPECIFIC_2 = 0
PG_PROP_BEING_DELETED = 0

class PGPaintData(object):
    """
    Contains information related to property's OnCustomPaint.
    """
    m_parent = property(None, None)
    m_choiceItem = property(None, None)
    m_drawnWidth = property(None, None)
    m_drawnHeight = property(None, None)
# end of class PGPaintData


class PGCellRenderer(wx.RefCounter):
    """
    PGCellRenderer()
    
    Base class for wxPropertyGrid cell renderers.
    """
    Selected = 0
    ChoicePopup = 0
    Control = 0
    Disabled = 0
    DontUseCellFgCol = 0
    DontUseCellBgCol = 0
    DontUseCellColours = 0

    def __init__(self):
        """
        PGCellRenderer()
        
        Base class for wxPropertyGrid cell renderers.
        """

    def Render(self, dc, rect, propertyGrid, property, column, item, flags):
        """
        Render(dc, rect, propertyGrid, property, column, item, flags) -> bool
        
        Returns true if rendered something in the foreground (text or bitmap).
        """

    def GetImageSize(self, property, column, item):
        """
        GetImageSize(property, column, item) -> wx.Size
        
        Returns size of the image in front of the editable area.
        """

    def DrawCaptionSelectionRect(self, dc, x, y, w, h):
        """
        DrawCaptionSelectionRect(dc, x, y, w, h)
        
        Paints property category selection rectangle.
        """

    def DrawText(self, dc, rect, imageWidth, text):
        """
        DrawText(dc, rect, imageWidth, text)
        
        Utility to draw vertically centered text.
        """

    def DrawEditorValue(self, dc, rect, xOffset, text, property, editor):
        """
        DrawEditorValue(dc, rect, xOffset, text, property, editor)
        
        Utility to draw editor's value, or vertically aligned text if editor
        is NULL.
        """

    def PreDrawCell(self, dc, rect, propGrid, cell, flags):
        """
        PreDrawCell(dc, rect, propGrid, cell, flags) -> int
        
        Utility to render cell bitmap and set text colour plus bg brush
        colour.
        """

    def PostDrawCell(self, dc, propGrid, cell, flags):
        """
        PostDrawCell(dc, propGrid, cell, flags)
        
        Utility to be called after drawing is done, to revert whatever changes
        PreDrawCell() did.
        """
# end of class PGCellRenderer


class PGDefaultRenderer(PGCellRenderer):
    """
    Default cell renderer, that can handles the common scenarios.
    """

    def Render(self, dc, rect, propertyGrid, property, column, item, flags):
        """
        Render(dc, rect, propertyGrid, property, column, item, flags) -> bool
        
        Returns true if rendered something in the foreground (text or bitmap.
        """

    def GetImageSize(self, property, column, item):
        """
        GetImageSize(property, column, item) -> wx.Size
        
        Returns size of the image in front of the editable area.
        """
# end of class PGDefaultRenderer


class PGCellData(wx.RefCounter):
    """
    PGCellData()
    """

    def __init__(self):
        """
        PGCellData()
        """

    def SetText(self, text):
        """
        SetText(text)
        """

    def SetBitmap(self, bitmap):
        """
        SetBitmap(bitmap)
        """

    def SetFgCol(self, col):
        """
        SetFgCol(col)
        """

    def SetBgCol(self, col):
        """
        SetBgCol(col)
        """

    def SetFont(self, font):
        """
        SetFont(font)
        """
# end of class PGCellData


class PGCell(wx.Object):
    """
    PGCell()
    PGCell(other)
    PGCell(text, bitmap=wx.BitmapBundle(), fgCol=wx.NullColour, bgCol=wx.NullColour)
    
    Base class for wxPropertyGrid cell information.
    """

    def __init__(self, *args, **kw):
        """
        PGCell()
        PGCell(other)
        PGCell(text, bitmap=wx.BitmapBundle(), fgCol=wx.NullColour, bgCol=wx.NullColour)
        
        Base class for wxPropertyGrid cell information.
        """

    def GetData(self):
        """
        GetData() -> PGCellData
        """

    def HasText(self):
        """
        HasText() -> bool
        
        Returns true if this cell has custom text stored within.
        """

    def SetEmptyData(self):
        """
        SetEmptyData()
        
        Sets empty but valid data to this cell object.
        """

    def MergeFrom(self, srcCell):
        """
        MergeFrom(srcCell)
        
        Merges valid data from srcCell into this.
        """

    def SetText(self, text):
        """
        SetText(text)
        """

    def SetBitmap(self, bitmap):
        """
        SetBitmap(bitmap)
        """

    def SetFgCol(self, col):
        """
        SetFgCol(col)
        """

    def SetFont(self, font):
        """
        SetFont(font)
        
        Sets font of the cell.
        """

    def SetBgCol(self, col):
        """
        SetBgCol(col)
        """

    def GetText(self):
        """
        GetText() -> String
        """

    def GetBitmap(self):
        """
        GetBitmap() -> wx.BitmapBundle
        """

    def GetFgCol(self):
        """
        GetFgCol() -> wx.Colour
        """

    def GetFont(self):
        """
        GetFont() -> wx.Font
        
        Returns font of the cell.
        """

    def GetBgCol(self):
        """
        GetBgCol() -> wx.Colour
        """
    BgCol = property(None, None)
    Bitmap = property(None, None)
    Data = property(None, None)
    FgCol = property(None, None)
    Font = property(None, None)
    Text = property(None, None)
# end of class PGCell


class PGAttributeStorage(object):
    """
    PGAttributeStorage()
    
    wxPGAttributeStorage is somewhat optimized storage for key=variant
    pairs (i.e.
    """

    def __init__(self):
        """
        PGAttributeStorage()
        
        wxPGAttributeStorage is somewhat optimized storage for key=variant
        pairs (i.e.
        """

    def Set(self, name, value):
        """
        Set(name, value)
        """

    def GetCount(self):
        """
        GetCount() -> unsignedint
        """

    def FindValue(self, name):
        """
        FindValue(name) -> PGVariant
        """
    Count = property(None, None)
# end of class PGAttributeStorage


class PGProperty(wx.Object):
    """
    PGProperty()
    PGProperty(label, name)
    
    wxPGProperty is base class for all wxPropertyGrid properties and as
    such it is not intended to be instantiated directly.
    """
    m_clientData = property(None, None)

    def OnSetValue(self):
        """
        OnSetValue()
        
        This virtual function is called after m_value has been set.
        """

    def DoGetValue(self):
        """
        DoGetValue() -> PGVariant
        
        Override this to return something else than m_value as the value.
        """

    def ValidateValue(self, value, validationInfo):
        """
        ValidateValue(value, validationInfo) -> bool
        
        Implement this function in derived class to check the value.
        """

    def StringToValue(self, text, argFlags=0):
        """
        StringToValue(text, argFlags=0) -> (bool, variant)
        
        Converts text into wxVariant value appropriate for this property.
        """

    def IntToValue(self, number, argFlags=0):
        """
        IntToValue(number, argFlags=0) -> (bool, variant)
        
        Converts integer (possibly a choice selection) into wxVariant value
        appropriate for this property.
        """

    def ValueToString(self, value, argFlags=0):
        """
        ValueToString(value, argFlags=0) -> String
        
        Converts property value into a text representation.
        """

    def SetValueFromString(self, text, flags=PG_PROGRAMMATIC_VALUE):
        """
        SetValueFromString(text, flags=PG_PROGRAMMATIC_VALUE) -> bool
        
        Converts string to a value, and if successful, calls SetValue() on it.
        """

    def SetValueFromInt(self, value, flags=0):
        """
        SetValueFromInt(value, flags=0) -> bool
        
        Converts integer to a value, and if successful, calls SetValue() on
        it.
        """

    def OnMeasureImage(self, item=-1):
        """
        OnMeasureImage(item=-1) -> wx.Size
        
        Returns size of the custom painted image in front of property.
        """

    def OnEvent(self, propgrid, wnd_primary, event):
        """
        OnEvent(propgrid, wnd_primary, event) -> bool
        
        Events received by editor widgets are processed here.
        """

    def ChildChanged(self, thisValue, childIndex, childValue):
        """
        ChildChanged(thisValue, childIndex, childValue) -> PGVariant
        
        Called after value of a child property has been altered.
        """

    def DoGetEditorClass(self):
        """
        DoGetEditorClass() -> PGEditor
        
        Returns pointer to an instance of used editor.
        """

    def DoGetValidator(self):
        """
        DoGetValidator() -> wx.Validator
        
        Returns pointer to the wxValidator that should be used with the editor
        of this property (NULL for no validator).
        """

    def OnCustomPaint(self, dc, rect, paintdata):
        """
        OnCustomPaint(dc, rect, paintdata)
        
        Override to paint an image in front of the property value text or
        drop-down list item (but only if wxPGProperty::OnMeasureImage is
        overridden as well).
        """

    def GetCellRenderer(self, column):
        """
        GetCellRenderer(column) -> PGCellRenderer
        
        Returns used wxPGCellRenderer instance for given property column
        (label=0, value=1).
        """

    def GetChoiceSelection(self):
        """
        GetChoiceSelection() -> int
        
        Returns which choice is currently selected.
        """

    def RefreshChildren(self):
        """
        RefreshChildren()
        
        Refresh values of child properties.
        """

    def DoSetAttribute(self, name, value):
        """
        DoSetAttribute(name, value) -> bool
        
        Reimplement this member function to add special handling for
        attributes of this property.
        """

    def DoGetAttribute(self, name):
        """
        DoGetAttribute(name) -> PGVariant
        
        Returns value of an attribute.
        """

    def GetEditorDialog(self):
        """
        GetEditorDialog() -> PGEditorDialogAdapter
        
        Returns instance of a new wxPGEditorDialogAdapter instance, which is
        used when user presses the (optional) button next to the editor
        control;.
        """

    def OnValidationFailure(self, pendingValue):
        """
        OnValidationFailure(pendingValue)
        
        Called whenever validation has failed with given pending value.
        """

    def AddChoice(self, label, value=PG_INVALID_VALUE):
        """
        AddChoice(label, value=PG_INVALID_VALUE) -> int
        
        Append a new choice to property's list of choices.
        """

    def AddPrivateChild(self, prop):
        """
        AddPrivateChild(prop)
        
        Adds a private child property.
        """

    def AdaptListToValue(self, list, value):
        """
        AdaptListToValue(list, value)
        
        Adapts list variant into proper value using consecutive ChildChanged()
        calls.
        """

    def AppendChild(self, childProperty):
        """
        AppendChild(childProperty) -> PGProperty
        
        Use this member function to add independent (i.e.
        """

    def AreAllChildrenSpecified(self, pendingList=None):
        """
        AreAllChildrenSpecified(pendingList=None) -> bool
        
        Determines, recursively, if all children are not unspecified.
        """

    def AreChildrenComponents(self):
        """
        AreChildrenComponents() -> bool
        
        Returns true if children of this property are component values (for
        instance, points size, face name, and is_underlined are component
        values of a font).
        """

    def ChangeFlag(self, flag, set):
        """
        ChangeFlag(flag, set)
        
        Sets or clears given property flag.
        """

    def DeleteChildren(self):
        """
        DeleteChildren()
        
        Deletes children of the property.
        """

    def DeleteChoice(self, index):
        """
        DeleteChoice(index)
        
        Removes entry from property's wxPGChoices and editor control (if it is
        active).
        """

    def Enable(self, enable=True):
        """
        Enable(enable=True)
        
        Enables or disables the property.
        """

    def EnableCommonValue(self, enable=True):
        """
        EnableCommonValue(enable=True)
        
        Call to enable or disable usage of common value (integer value that
        can be selected for properties instead of their normal values) for
        this property.
        """

    def GenerateComposedValue(self):
        """
        GenerateComposedValue() -> String
        
        Composes text from values of child properties.
        """

    def GetLabel(self):
        """
        GetLabel() -> String
        
        Returns property's label.
        """

    def GetAttribute(self, *args, **kw):
        """
        GetAttribute(name) -> PGVariant
        GetAttribute(name, defVal) -> String
        
        Returns property attribute value, null variant if not found.
        """

    def GetAttributeAsLong(self, name, defVal):
        """
        GetAttributeAsLong(name, defVal) -> long
        
        Returns named attribute, as long, if found.
        """

    def GetAttributeAsDouble(self, name, defVal):
        """
        GetAttributeAsDouble(name, defVal) -> double
        
        Returns named attribute, as double, if found.
        """

    def GetAttributes(self):
        """
        GetAttributes() -> PyObject
        
        Returns map-like storage of property's attributes.
        """

    def GetAttributesAsList(self):
        """
        GetAttributesAsList() -> PGVariant
        
        Returns attributes as list wxVariant.
        """

    def GetColumnEditor(self, column):
        """
        GetColumnEditor(column) -> PGEditor
        
        Returns editor used for given column.
        """

    def GetBaseName(self):
        """
        GetBaseName() -> String
        
        Returns property's base name (i.e.
        """

    def GetCell(self, column):
        """
        GetCell(column) -> PGCell
        
        Returns wxPGCell of given column, creating one if necessary.
        """

    def GetOrCreateCell(self, column):
        """
        GetOrCreateCell(column) -> PGCell
        
        Returns wxPGCell of given column, creating one if necessary.
        """

    def GetChildCount(self):
        """
        GetChildCount() -> unsignedint
        
        Returns number of child properties.
        """

    def GetChildrenHeight(self, lh, iMax=-1):
        """
        GetChildrenHeight(lh, iMax=-1) -> int
        
        Returns height of children, recursively, and by taking
        expanded/collapsed status into account.
        """

    def GetChoices(self):
        """
        GetChoices() -> PGChoices
        
        Returns read-only reference to property's list of choices.
        """

    def GetClientData(self):
        """
        GetClientData() -> ClientData
        
        Gets managed client object of a property.
        """

    def GetDefaultValue(self):
        """
        GetDefaultValue() -> PGVariant
        
        Returns property's default value.
        """

    def GetCommonValue(self):
        """
        GetCommonValue() -> int
        
        Returns common value selected for this property.
        """

    def GetDepth(self):
        """
        GetDepth() -> unsignedint
        """

    def GetDisplayedCommonValueCount(self):
        """
        GetDisplayedCommonValueCount() -> int
        
        Return number of displayed common values for this property.
        """

    def GetDisplayedString(self):
        """
        GetDisplayedString() -> String
        
        Returns property's displayed text.
        """

    def GetEditorClass(self):
        """
        GetEditorClass() -> PGEditor
        
        Returns wxPGEditor that will be used and created when property becomes
        selected.
        """

    def GetHintText(self):
        """
        GetHintText() -> String
        
        Returns property's hint text (shown in empty value cell).
        """

    def GetGrid(self):
        """
        GetGrid() -> PropertyGrid
        
        Returns property grid where property lies.
        """

    def GetGridIfDisplayed(self):
        """
        GetGridIfDisplayed() -> PropertyGrid
        
        Returns owner wxPropertyGrid, but only if one is currently on a page
        displaying this property.
        """

    def GetHelpString(self):
        """
        GetHelpString() -> String
        
        Returns property's help or description text.
        """

    def GetFlagsAsString(self, flagsMask):
        """
        GetFlagsAsString(flagsMask) -> String
        
        Gets flags as a'|' delimited string.
        """

    def GetIndexInParent(self):
        """
        GetIndexInParent() -> unsignedint
        
        Returns position in parent's array.
        """

    def GetLastVisibleSubItem(self):
        """
        GetLastVisibleSubItem() -> PGProperty
        
        Returns last visible child property, recursively.
        """

    def GetMainParent(self):
        """
        GetMainParent() -> PGProperty
        
        Returns highest level non-category, non-root parent.
        """

    def GetMaxLength(self):
        """
        GetMaxLength() -> int
        
        Returns maximum allowed length of the text the user can enter in the
        property text editor.
        """

    def GetName(self):
        """
        GetName() -> String
        
        Returns property's name with all (non-category, non-root) parents.
        """

    def GetParent(self):
        """
        GetParent() -> PGProperty
        
        Return parent of property.
        """

    def GetPropertyByName(self, name):
        """
        GetPropertyByName(name) -> PGProperty
        
        Returns (direct) child property with given name (or NULL if not
        found).
        """

    def GetValidator(self):
        """
        GetValidator() -> wx.Validator
        
        Gets assignable version of property's validator.
        """

    def GetValue(self):
        """
        GetValue() -> PGVariant
        
        Returns property's value.
        """

    def GetValueImage(self):
        """
        GetValueImage() -> wx.Bitmap
        
        Returns bitmap that appears next to value text.
        """

    def GetValueAsString(self, argFlags=0):
        """
        GetValueAsString(argFlags=0) -> String
        
        Returns text representation of property's value.
        """

    def GetValueType(self):
        """
        GetValueType() -> String
        
        Returns value type used by this property.
        """

    def GetY(self):
        """
        GetY() -> int
        
        Returns coordinate to the top y of the property.
        """

    def GetImageOffset(self, imageWidth):
        """
        GetImageOffset(imageWidth) -> int
        
        Converts image width into full image offset, with margins.
        """

    def GetItemAtY(self, y):
        """
        GetItemAtY(y) -> PGProperty
        
        Returns property at given virtual y coordinate.
        """

    def HasFlag(self, flag):
        """
        HasFlag(flag) -> bool
        
        Returns true if property has given flag set.
        """

    def HasFlagsExact(self, flags):
        """
        HasFlagsExact(flags) -> bool
        
        Returns true if property has all given flags set.
        """

    def HasVisibleChildren(self):
        """
        HasVisibleChildren() -> bool
        
        Returns true if property has even one visible child.
        """

    def Hide(self, hide, flags=PG_RECURSE):
        """
        Hide(hide, flags=PG_RECURSE) -> bool
        
        Hides or reveals the property.
        """

    def Index(self, p):
        """
        Index(p) -> int
        
        Returns index of given child property.
        """

    def InsertChild(self, index, childProperty):
        """
        InsertChild(index, childProperty) -> PGProperty
        
        Use this member function to add independent (i.e.
        """

    def InsertChoice(self, label, index, value=PG_INVALID_VALUE):
        """
        InsertChoice(label, index, value=PG_INVALID_VALUE) -> int
        
        Inserts a new choice to property's list of choices.
        """

    def IsCategory(self):
        """
        IsCategory() -> bool
        
        Returns true if this property is actually a wxPropertyCategory.
        """

    def IsEnabled(self):
        """
        IsEnabled() -> bool
        
        Returns true if property is enabled.
        """

    def IsExpanded(self):
        """
        IsExpanded() -> bool
        
        Returns true if property has visible children.
        """

    def IsRoot(self):
        """
        IsRoot() -> bool
        
        Returns true if this property is actually a wxRootProperty.
        """

    def IsSubProperty(self):
        """
        IsSubProperty() -> bool
        
        Returns true if this is a sub-property.
        """

    def IsSomeParent(self, candidateParent):
        """
        IsSomeParent(candidateParent) -> bool
        
        Returns true if candidateParent is some parent of this property.
        """

    def IsTextEditable(self):
        """
        IsTextEditable() -> bool
        
        Returns true if property has editable wxTextCtrl when selected.
        """

    def IsValueUnspecified(self):
        """
        IsValueUnspecified() -> bool
        
        Returns true if property's value is considered unspecified.
        """

    def IsVisible(self):
        """
        IsVisible() -> bool
        
        Returns true if all parents expanded.
        """

    def Item(self, i):
        """
        Item(i) -> PGProperty
        
        Returns child property at index i.
        """

    def Last(self):
        """
        Last() -> PGProperty
        
        Returns last sub-property.
        """

    def RecreateEditor(self):
        """
        RecreateEditor() -> bool
        
        If property's editor is created this forces its recreation.
        """

    def RefreshEditor(self):
        """
        RefreshEditor()
        
        If property's editor is active, then update it's value.
        """

    def SetAttribute(self, name, value):
        """
        SetAttribute(name, value)
        
        Sets an attribute for this property.
        """

    def SetAutoUnspecified(self, enable=True):
        """
        SetAutoUnspecified(enable=True)
        
        Set if user can change the property's value to unspecified by
        modifying the value of the editor control (usually by clearing it).
        """

    def SetBackgroundColour(self, colour, flags=PG_RECURSE):
        """
        SetBackgroundColour(colour, flags=PG_RECURSE)
        
        Sets property's background colour.
        """

    def SetEditor(self, *args, **kw):
        """
        SetEditor(editor)
        SetEditor(editorName)
        
        Sets editor for a property.
        """

    def SetCell(self, column, cell):
        """
        SetCell(column, cell)
        
        Sets cell information for given column.
        """

    def SetCommonValue(self, commonValue):
        """
        SetCommonValue(commonValue)
        
        Sets common value selected for this property.
        """

    def SetChoices(self, choices):
        """
        SetChoices(choices) -> bool
        
        Sets new set of choices for the property.
        """

    def SetClientData(self, data):
        """
        SetClientData(data)
        
        Sets client object of a property.
        """

    def SetChoiceSelection(self, newValue):
        """
        SetChoiceSelection(newValue)
        
        Sets selected choice and changes property value.
        """

    def SetDefaultValue(self, value):
        """
        SetDefaultValue(value)
        
        Set default value of a property.
        """

    def SetExpanded(self, expanded):
        """
        SetExpanded(expanded)
        """

    def SetFlagsFromString(self, str):
        """
        SetFlagsFromString(str)
        
        Sets flags from a '|' delimited string.
        """

    def SetFlagRecursively(self, flag, set):
        """
        SetFlagRecursively(flag, set)
        
        Sets or clears given property flag, recursively.
        """

    def SetHelpString(self, helpString):
        """
        SetHelpString(helpString)
        
        Sets property's help string, which is shown, for example, in
        wxPropertyGridManager's description text box.
        """

    def SetLabel(self, label):
        """
        SetLabel(label)
        
        Sets property's label.
        """

    def SetMaxLength(self, maxLen):
        """
        SetMaxLength(maxLen) -> bool
        
        Set maximum length of the text the user can enter in the text editor.
        """

    def SetModifiedStatus(self, modified):
        """
        SetModifiedStatus(modified)
        
        Sets property's "is it modified?" flag.
        """

    def SetName(self, newName):
        """
        SetName(newName)
        
        Sets new (base) name for property.
        """

    def SetParentalType(self, flag):
        """
        SetParentalType(flag)
        
        Changes what sort of parent this property is for its children.
        """

    def SetTextColour(self, colour, flags=PG_RECURSE):
        """
        SetTextColour(colour, flags=PG_RECURSE)
        
        Sets property's text colour.
        """

    def SetDefaultColours(self, flags=PG_RECURSE):
        """
        SetDefaultColours(flags=PG_RECURSE)
        
        Sets property's default text and background colours.
        """

    def SetValidator(self, validator):
        """
        SetValidator(validator)
        
        Sets wxValidator for a property.
        """

    def SetValue(self, value, pList=None, flags=PG_SETVAL_REFRESH_EDITOR):
        """
        SetValue(value, pList=None, flags=PG_SETVAL_REFRESH_EDITOR)
        
        Call this to set value of the property.
        """

    def SetValueImage(self, bmp):
        """
        SetValueImage(bmp)
        
        Set wxBitmap taken from wxBitmapBundle in front of the value.
        """

    def SetValueInEvent(self, value):
        """
        SetValueInEvent(value)
        
        Call this function in OnEvent(), OnButtonClick() etc.
        """

    def SetValueToUnspecified(self):
        """
        SetValueToUnspecified()
        
        Sets property's value to unspecified (i.e.
        """

    def SetWasModified(self, set=True):
        """
        SetWasModified(set=True)
        
        Call with false in OnSetValue() to cancel value changes after all
        (i.e.
        """

    def UpdateParentValues(self):
        """
        UpdateParentValues() -> PGProperty
        
        Updates composed values of parent non-category properties,
        recursively.
        """

    def UsesAutoUnspecified(self):
        """
        UsesAutoUnspecified() -> bool
        
        Returns true if containing grid uses wxPG_EX_AUTO_UNSPECIFIED_VALUES.
        """
    m_value = property(None, None)

    def SetAttributes(self, attributes):
        """
        Set the property's attributes from a Python dictionary.
        """

    def GetClientObject(self, n):
        """
        Alias for :meth:`GetClientData`
        """

    def SetClientObject(self, n, data):
        """
        Alias for :meth:`SetClientData`
        """

    def wxPGProperty(self, *args, **kw):
        """
        """
# end of class PGProperty


class PropertyCategory(PGProperty):
    """
    PropertyCategory()
    PropertyCategory(label, name=PG_LABEL)
    
    Category (caption) property.
    """

    def __init__(self, *args, **kw):
        """
        PropertyCategory()
        PropertyCategory(label, name=PG_LABEL)
        
        Category (caption) property.
        """

    def GetTextExtent(self, wnd, font):
        """
        GetTextExtent(wnd, font) -> int
        """

    def ValueToString(self, value, argFlags):
        """
        ValueToString(value, argFlags) -> String
        
        Converts property value into a text representation.
        """

    def GetValueAsString(self, argFlags=0):
        """
        GetValueAsString(argFlags=0) -> String
        
        Returns text representation of property's value.
        """
    ValueAsString = property(None, None)
# end of class PropertyCategory


class PGChoiceEntry(PGCell):
    """
    PGChoiceEntry()
    PGChoiceEntry(other)
    PGChoiceEntry(label, value=PG_INVALID_VALUE)
    
    Data of a single wxPGChoices choice.
    """

    def __init__(self, *args, **kw):
        """
        PGChoiceEntry()
        PGChoiceEntry(other)
        PGChoiceEntry(label, value=PG_INVALID_VALUE)
        
        Data of a single wxPGChoices choice.
        """

    def SetValue(self, value):
        """
        SetValue(value)
        """

    def GetValue(self):
        """
        GetValue() -> int
        """
    Value = property(None, None)
# end of class PGChoiceEntry


class PGChoicesData(wx.RefCounter):
    """
    PGChoicesData()
    """

    def __init__(self):
        """
        PGChoicesData()
        """

    def CopyDataFrom(self, data):
        """
        CopyDataFrom(data)
        """

    def Insert(self, index, item):
        """
        Insert(index, item) -> PGChoiceEntry
        """

    def Clear(self):
        """
        Clear()
        """

    def GetCount(self):
        """
        GetCount() -> unsignedint
        """

    def Item(self, i):
        """
        Item(i) -> PGChoiceEntry
        """
    Count = property(None, None)
# end of class PGChoicesData


class PGChoices(object):
    """
    PGChoices()
    PGChoices(a)
    PGChoices(labels, values=[])
    PGChoices(data)
    
    Helper class for managing choices of wxPropertyGrid properties.
    """

    def __init__(self, *args, **kw):
        """
        PGChoices()
        PGChoices(a)
        PGChoices(labels, values=[])
        PGChoices(data)
        
        Helper class for managing choices of wxPropertyGrid properties.
        """

    def Add(self, *args, **kw):
        """
        Add(arr, arrint)
        Add(label, value=PG_INVALID_VALUE) -> PGChoiceEntry
        Add(label, bitmap, value=PG_INVALID_VALUE) -> PGChoiceEntry
        Add(entry) -> PGChoiceEntry
        
        This is an overloaded member function, provided for convenience. It
        differs from the above function only in what argument(s) it accepts.
        """

    def AddAsSorted(self, label, value=PG_INVALID_VALUE):
        """
        AddAsSorted(label, value=PG_INVALID_VALUE) -> PGChoiceEntry
        
        Adds a single item, sorted.
        """

    def Assign(self, a):
        """
        Assign(a)
        
        Assigns choices data, using reference counting.
        """

    def AssignData(self, data):
        """
        AssignData(data)
        
        Assigns data from another set of choices.
        """

    def Clear(self):
        """
        Clear()
        
        Deletes all items.
        """

    def Copy(self):
        """
        Copy() -> PGChoices
        
        Returns a real copy of the choices.
        """

    def EnsureData(self):
        """
        EnsureData()
        """

    def GetId(self):
        """
        GetId() -> IntPtr
        
        Gets an unsigned number identifying this list.
        """

    def GetLabel(self, ind):
        """
        GetLabel(ind) -> String
        
        Returns label of item.
        """

    def GetCount(self):
        """
        GetCount() -> unsignedint
        
        Returns number of items.
        """

    def GetValue(self, ind):
        """
        GetValue(ind) -> int
        
        Returns value of item.
        """

    def GetValuesForStrings(self, strings):
        """
        GetValuesForStrings(strings) -> ArrayInt
        
        Returns array of values matching the given strings.
        """

    def GetIndicesForStrings(self, strings, unmatched=None):
        """
        GetIndicesForStrings(strings, unmatched=None) -> ArrayInt
        
        Returns array of indices matching given strings.
        """

    def Index(self, *args, **kw):
        """
        Index(label) -> int
        Index(val) -> int
        
        Returns index of item with given label.
        """

    def Insert(self, *args, **kw):
        """
        Insert(label, index, value=PG_INVALID_VALUE) -> PGChoiceEntry
        Insert(entry, index) -> PGChoiceEntry
        
        Inserts a single item.
        """

    def IsOk(self):
        """
        IsOk() -> bool
        
        Returns false if this is a constant empty set of choices, which should
        not be modified.
        """

    def Item(self, i):
        """
        Item(i) -> PGChoiceEntry
        
        Returns item at given index.
        """

    def RemoveAt(self, nIndex, count=1):
        """
        RemoveAt(nIndex, count=1)
        
        Removes count items starting at position nIndex.
        """

    def Set(self, labels, values=[]):
        """
        Set(labels, values=[])
        
        This is an overloaded member function, provided for convenience. It
        differs from the above function only in what argument(s) it accepts.
        """

    def AllocExclusive(self):
        """
        AllocExclusive()
        
        Creates exclusive copy of current choices.
        """

    def GetData(self):
        """
        GetData() -> PGChoicesData
        
        Returns data, increases refcount.
        """

    def GetDataPtr(self):
        """
        GetDataPtr() -> PGChoicesData
        
        Returns plain data ptr - no refcounting stuff is done.
        """

    def ExtractData(self):
        """
        ExtractData() -> PGChoicesData
        
        Changes ownership of data to you.
        """

    def GetLabels(self):
        """
        GetLabels() -> ArrayString
        
        Returns array of choice labels.
        """

    def __getitem__(self, index):
        """
        Returns a reference to a :class:PGChoiceEntry using Python list syntax.
        """

    def __len__(self):
        """
        
        """
    Count = property(None, None)
    Data = property(None, None)
    DataPtr = property(None, None)
    Id = property(None, None)
    Labels = property(None, None)
# end of class PGChoices


PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None

PG_ATTR_DEFAULT_VALUE             = u"DefaultValue"
PG_ATTR_MIN                       = u"Min"
PG_ATTR_MAX                       = u"Max"
PG_ATTR_UNITS                     = u"Units"
PG_ATTR_HINT                      = u"Hint"
PG_ATTR_INLINE_HELP               = PG_ATTR_HINT
PG_ATTR_AUTOCOMPLETE              = u"AutoComplete"
PG_BOOL_USE_CHECKBOX              = u"UseCheckbox"
PG_BOOL_USE_DOUBLE_CLICK_CYCLING  = u"UseDClickCycling"
PG_FLOAT_PRECISION                = u"Precision"
PG_STRING_PASSWORD                = u"Password"
PG_UINT_BASE                      = u"Base"
PG_UINT_PREFIX                    = u"Prefix"
PG_FILE_WILDCARD                  = u"Wildcard"
PG_FILE_SHOW_FULL_PATH            = u"ShowFullPath"
PG_FILE_SHOW_RELATIVE_PATH        = u"ShowRelativePath"
PG_FILE_INITIAL_PATH              = u"InitialPath"
PG_FILE_DIALOG_TITLE              = u"DialogTitle"
PG_DIALOG_TITLE                   = u"DialogTitle"
PG_FILE_DIALOG_STYLE              = u"DialogStyle"
PG_DIR_DIALOG_MESSAGE             = u"DialogMessage"
PG_ARRAY_DELIMITER                = u"Delimiter"
PG_DATE_FORMAT                    = u"DateFormat"
PG_DATE_PICKER_STYLE              = u"PickerStyle"
PG_ATTR_SPINCTRL_STEP             = u"Step"
PG_ATTR_SPINCTRL_WRAP             = u"Wrap"
PG_ATTR_SPINCTRL_MOTION           = u"MotionSpin"
PG_ATTR_SPINCTRL_MOTIONSPIN       = PG_ATTR_SPINCTRL_MOTION
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
PG_COLOUR_ALLOW_CUSTOM            = u"AllowCustom"
PG_COLOUR_HAS_ALPHA               = u"HasAlpha"

NullProperty                      = None
PGChoicesEmptyData                = None
#-- end-propgridproperty --#
#-- begin-propgrideditors --#

class PGWindowList(object):
    """
    PGWindowList(primary, secondary=None)
    
    Contains a list of editor windows returned by CreateControls.
    """

    def __init__(self, primary, secondary=None):
        """
        PGWindowList(primary, secondary=None)
        
        Contains a list of editor windows returned by CreateControls.
        """

    def SetSecondary(self, secondary):
        """
        SetSecondary(secondary)
        """

    def GetPrimary(self):
        """
        GetPrimary() -> wx.Window
        
        Gets window of primary editor.
        """

    def GetSecondary(self):
        """
        GetSecondary() -> wx.Window
        
        Gets window of secondary editor.
        """
    Primary = property(None, None)
    Secondary = property(None, None)
# end of class PGWindowList


class PGEditor(wx.Object):
    """
    PGEditor()
    
    Base class for custom wxPropertyGrid editors.
    """

    def __init__(self):
        """
        PGEditor()
        
        Base class for custom wxPropertyGrid editors.
        """
    m_clientData = property(None, None)

    def GetName(self):
        """
        GetName() -> String
        
        Returns pointer to the name of the editor.
        """

    def CreateControls(self, propgrid, property, pos, size):
        """
        CreateControls(propgrid, property, pos, size) -> PGWindowList
        
        Instantiates editor controls.
        """

    def UpdateControl(self, property, ctrl):
        """
        UpdateControl(property, ctrl)
        
        Loads value from property to the control.
        """

    def DrawValue(self, dc, rect, property, text):
        """
        DrawValue(dc, rect, property, text)
        
        Draws value for given property.
        """

    def OnEvent(self, propgrid, property, wnd_primary, event):
        """
        OnEvent(propgrid, property, wnd_primary, event) -> bool
        
        Handles events.
        """

    def GetValueFromControl(self, property, ctrl):
        """
        GetValueFromControl(property, ctrl) -> (bool, variant)
        
        Returns value from control, via parameter variant.
        """

    def SetValueToUnspecified(self, property, ctrl):
        """
        SetValueToUnspecified(property, ctrl)
        
        Sets value in control to unspecified.
        """

    def SetControlAppearance(self, pg, property, ctrl, appearance, oldAppearance, unspecified):
        """
        SetControlAppearance(pg, property, ctrl, appearance, oldAppearance, unspecified)
        
        Called by property grid to set new appearance for the control.
        """

    def SetControlStringValue(self, property, ctrl, txt):
        """
        SetControlStringValue(property, ctrl, txt)
        
        Sets control's value specifically from string.
        """

    def SetControlIntValue(self, property, ctrl, value):
        """
        SetControlIntValue(property, ctrl, value)
        
        Sets control's value specifically from int (applies to choice etc.).
        """

    def InsertItem(self, ctrl, label, index):
        """
        InsertItem(ctrl, label, index) -> int
        
        Inserts item to existing control.
        """

    def DeleteItem(self, ctrl, index):
        """
        DeleteItem(ctrl, index)
        
        Deletes item from existing control.
        """

    def OnFocus(self, property, wnd):
        """
        OnFocus(property, wnd)
        
        Extra processing when control gains focus.
        """

    def CanContainCustomImage(self):
        """
        CanContainCustomImage() -> bool
        
        Returns true if control itself can contain the custom image.
        """
    Name = property(None, None)
# end of class PGEditor


class PGTextCtrlEditor(PGEditor):
    """
    PGTextCtrlEditor()
    """

    def __init__(self):
        """
        PGTextCtrlEditor()
        """

    def CreateControls(self, propgrid, property, pos, size):
        """
        CreateControls(propgrid, property, pos, size) -> PGWindowList
        
        Instantiates editor controls.
        """

    def UpdateControl(self, property, ctrl):
        """
        UpdateControl(property, ctrl)
        
        Loads value from property to the control.
        """

    def OnEvent(self, propgrid, property, wnd_primary, event):
        """
        OnEvent(propgrid, property, wnd_primary, event) -> bool
        
        Handles events.
        """

    def GetValueFromControl(self, variant, property, ctrl):
        """
        GetValueFromControl(variant, property, ctrl) -> bool
        
        Returns value from control, via parameter variant.
        """

    def GetName(self):
        """
        GetName() -> String
        
        Returns pointer to the name of the editor.
        """

    def SetControlStringValue(self, property, ctrl, txt):
        """
        SetControlStringValue(property, ctrl, txt)
        
        Sets control's value specifically from string.
        """

    def OnFocus(self, property, wnd):
        """
        OnFocus(property, wnd)
        
        Extra processing when control gains focus.
        """

    @staticmethod
    def OnTextCtrlEvent(propgrid, property, ctrl, event):
        """
        OnTextCtrlEvent(propgrid, property, ctrl, event) -> bool
        """

    @staticmethod
    def GetTextCtrlValueFromControl(variant, property, ctrl):
        """
        GetTextCtrlValueFromControl(variant, property, ctrl) -> bool
        """
    Name = property(None, None)
# end of class PGTextCtrlEditor


class PGChoiceEditor(PGEditor):
    """
    PGChoiceEditor()
    """

    def __init__(self):
        """
        PGChoiceEditor()
        """

    def CreateControls(self, propgrid, property, pos, size):
        """
        CreateControls(propgrid, property, pos, size) -> PGWindowList
        
        Instantiates editor controls.
        """

    def UpdateControl(self, property, ctrl):
        """
        UpdateControl(property, ctrl)
        
        Loads value from property to the control.
        """

    def OnEvent(self, propgrid, property, wnd_primary, event):
        """
        OnEvent(propgrid, property, wnd_primary, event) -> bool
        
        Handles events.
        """

    def GetValueFromControl(self, variant, property, ctrl):
        """
        GetValueFromControl(variant, property, ctrl) -> bool
        
        Returns value from control, via parameter variant.
        """

    def SetValueToUnspecified(self, property, ctrl):
        """
        SetValueToUnspecified(property, ctrl)
        
        Sets value in control to unspecified.
        """

    def GetName(self):
        """
        GetName() -> String
        
        Returns pointer to the name of the editor.
        """

    def SetControlIntValue(self, property, ctrl, value):
        """
        SetControlIntValue(property, ctrl, value)
        
        Sets control's value specifically from int (applies to choice etc.).
        """

    def SetControlStringValue(self, property, ctrl, txt):
        """
        SetControlStringValue(property, ctrl, txt)
        
        Sets control's value specifically from string.
        """

    def InsertItem(self, ctrl, label, index):
        """
        InsertItem(ctrl, label, index) -> int
        
        Inserts item to existing control.
        """

    def DeleteItem(self, ctrl, index):
        """
        DeleteItem(ctrl, index)
        
        Deletes item from existing control.
        """

    def CanContainCustomImage(self):
        """
        CanContainCustomImage() -> bool
        
        Returns true if control itself can contain the custom image.
        """

    def CreateControlsBase(self, propgrid, property, pos, sz, extraStyle):
        """
        CreateControlsBase(propgrid, property, pos, sz, extraStyle) -> wx.Window
        """
    Name = property(None, None)
# end of class PGChoiceEditor


class PGComboBoxEditor(PGChoiceEditor):
    """
    PGComboBoxEditor()
    """

    def __init__(self):
        """
        PGComboBoxEditor()
        """

    def CreateControls(self, propgrid, property, pos, size):
        """
        CreateControls(propgrid, property, pos, size) -> PGWindowList
        
        Instantiates editor controls.
        """

    def GetName(self):
        """
        GetName() -> String
        
        Returns pointer to the name of the editor.
        """

    def UpdateControl(self, property, ctrl):
        """
        UpdateControl(property, ctrl)
        
        Loads value from property to the control.
        """

    def OnEvent(self, propgrid, property, wnd_primary, event):
        """
        OnEvent(propgrid, property, wnd_primary, event) -> bool
        
        Handles events.
        """

    def GetValueFromControl(self, variant, property, ctrl):
        """
        GetValueFromControl(variant, property, ctrl) -> bool
        
        Returns value from control, via parameter variant.
        """

    def OnFocus(self, property, wnd):
        """
        OnFocus(property, wnd)
        
        Extra processing when control gains focus.
        """
    Name = property(None, None)
# end of class PGComboBoxEditor


class PGChoiceAndButtonEditor(PGChoiceEditor):
    """
    PGChoiceAndButtonEditor()
    """

    def __init__(self):
        """
        PGChoiceAndButtonEditor()
        """

    def GetName(self):
        """
        GetName() -> String
        
        Returns pointer to the name of the editor.
        """

    def CreateControls(self, propgrid, property, pos, size):
        """
        CreateControls(propgrid, property, pos, size) -> PGWindowList
        
        Instantiates editor controls.
        """
    Name = property(None, None)
# end of class PGChoiceAndButtonEditor


class PGTextCtrlAndButtonEditor(PGTextCtrlEditor):
    """
    PGTextCtrlAndButtonEditor()
    """

    def __init__(self):
        """
        PGTextCtrlAndButtonEditor()
        """

    def GetName(self):
        """
        GetName() -> String
        
        Returns pointer to the name of the editor.
        """

    def CreateControls(self, propgrid, property, pos, size):
        """
        CreateControls(propgrid, property, pos, size) -> PGWindowList
        
        Instantiates editor controls.
        """
    Name = property(None, None)
# end of class PGTextCtrlAndButtonEditor


class PGCheckBoxEditor(PGEditor):
    """
    PGCheckBoxEditor()
    """

    def __init__(self):
        """
        PGCheckBoxEditor()
        """

    def GetName(self):
        """
        GetName() -> String
        
        Returns pointer to the name of the editor.
        """

    def CreateControls(self, propgrid, property, pos, size):
        """
        CreateControls(propgrid, property, pos, size) -> PGWindowList
        
        Instantiates editor controls.
        """

    def UpdateControl(self, property, ctrl):
        """
        UpdateControl(property, ctrl)
        
        Loads value from property to the control.
        """

    def OnEvent(self, propgrid, property, wnd_primary, event):
        """
        OnEvent(propgrid, property, wnd_primary, event) -> bool
        
        Handles events.
        """

    def GetValueFromControl(self, variant, property, ctrl):
        """
        GetValueFromControl(variant, property, ctrl) -> bool
        
        Returns value from control, via parameter variant.
        """

    def SetValueToUnspecified(self, property, ctrl):
        """
        SetValueToUnspecified(property, ctrl)
        
        Sets value in control to unspecified.
        """

    def DrawValue(self, dc, rect, property, text):
        """
        DrawValue(dc, rect, property, text)
        
        Draws value for given property.
        """

    def SetControlIntValue(self, property, ctrl, value):
        """
        SetControlIntValue(property, ctrl, value)
        
        Sets control's value specifically from int (applies to choice etc.).
        """
    Name = property(None, None)
# end of class PGCheckBoxEditor


class PGEditorDialogAdapter(wx.Object):
    """
    PGEditorDialogAdapter()
    
    Derive a class from this to adapt an existing editor dialog or
    function to be used when editor button of a property is pushed.
    """

    def __init__(self):
        """
        PGEditorDialogAdapter()
        
        Derive a class from this to adapt an existing editor dialog or
        function to be used when editor button of a property is pushed.
        """
    m_clientData = property(None, None)

    def ShowDialog(self, propGrid, property):
        """
        ShowDialog(propGrid, property) -> bool
        """

    def DoShowDialog(self, propGrid, property):
        """
        DoShowDialog(propGrid, property) -> bool
        """

    def SetValue(self, value):
        """
        SetValue(value)
        """

    def GetValue(self):
        """
        GetValue() -> PGVariant
        
        This method is typically only used if deriving class from existing
        adapter with value conversion purposes.
        """
    Value = property(None, None)
# end of class PGEditorDialogAdapter


class PGMultiButton(wx.Window):
    """
    PGMultiButton(pg, sz)
    
    This class can be used to have multiple buttons in a property editor.
    """

    def __init__(self, pg, sz):
        """
        PGMultiButton(pg, sz)
        
        This class can be used to have multiple buttons in a property editor.
        """

    def Add(self, *args, **kw):
        """
        Add(label, id=-2)
        Add(bitmap, id=-2)
        
        Adds new button, with given label.
        """

    def Finalize(self, propGrid, pos):
        """
        Finalize(propGrid, pos)
        
        Call this in CreateControls() of your custom editor class after all
        buttons have been added.
        """

    def GetButton(self, i):
        """
        GetButton(i) -> wx.Window
        
        Returns pointer to one of the buttons.
        """

    def GetButtonId(self, i):
        """
        GetButtonId(i) -> int
        
        Returns Id of one of the buttons.
        """

    def GetCount(self):
        """
        GetCount() -> unsignedint
        
        Returns number of buttons.
        """

    def GetPrimarySize(self):
        """
        GetPrimarySize() -> wx.Size
        
        Returns size of primary editor control, as appropriately reduced by
        number of buttons present.
        """

    @staticmethod
    def GetClassDefaultAttributes(variant=wx.WINDOW_VARIANT_NORMAL):
        """
        GetClassDefaultAttributes(variant=wx.WINDOW_VARIANT_NORMAL) -> wx.VisualAttributes
        """

    def AddButton(self, label, id=-2):
        """
        A simple wrapper around the PGMultiButton.Add method, for backwards compatibility.
        """

    def AddBitmapButton(self, bitmap, id=-2):
        """
        A simple wrapper around the PGMultiButton.Add method, for backwards compatibility.
        """
    Count = property(None, None)
    PrimarySize = property(None, None)
# end of class PGMultiButton

PGEditor_TextCtrl = PGEditor()
PGEditor_Choice = PGEditor()
PGEditor_ComboBox = PGEditor()
PGEditor_TextCtrlAndButton = PGEditor()
PGEditor_CheckBox = PGEditor()
PGEditor_ChoiceAndButton = PGEditor()
#-- end-propgrideditors --#
#-- begin-propgridpagestate --#
PG_ITERATE_PROPERTIES = 0
PG_ITERATE_HIDDEN = 0
PG_ITERATE_FIXED_CHILDREN = 0
PG_ITERATE_CATEGORIES = 0
PG_ITERATE_ALL_PARENTS = 0
PG_ITERATE_ALL_PARENTS_RECURSIVELY = 0
PG_ITERATOR_FLAGS_ALL = 0
PG_ITERATOR_MASK_OP_ITEM = 0
PG_ITERATOR_MASK_OP_PARENT = 0
PG_ITERATE_VISIBLE = 0
PG_ITERATE_ALL = 0
PG_ITERATE_NORMAL = 0
PG_ITERATE_DEFAULT = 0

class PropertyGridHitTestResult(object):
    """
    PropertyGridHitTestResult()
    """

    def __init__(self):
        """
        PropertyGridHitTestResult()
        """

    def GetColumn(self):
        """
        GetColumn() -> int
        
        Returns column hit.
        """

    def GetProperty(self):
        """
        GetProperty() -> PGProperty
        
        Returns property hit.
        """

    def GetSplitter(self):
        """
        GetSplitter() -> int
        
        Returns index of splitter hit, -1 for none.
        """

    def GetSplitterHitOffset(self):
        """
        GetSplitterHitOffset() -> int
        
        If splitter hit, then this member function returns offset to the exact
        splitter position.
        """
    Column = property(None, None)
    Property = property(None, None)
    Splitter = property(None, None)
    SplitterHitOffset = property(None, None)
# end of class PropertyGridHitTestResult


class PropertyGridIteratorBase(object):
    """
    PropertyGridIteratorBase()
    
    Base for wxPropertyGridIterator classes.
    """

    def __init__(self):
        """
        PropertyGridIteratorBase()
        
        Base for wxPropertyGridIterator classes.
        """

    def Assign(self, it):
        """
        Assign(it)
        """

    def AtEnd(self):
        """
        AtEnd() -> bool
        """

    def GetProperty(self):
        """
        GetProperty() -> PGProperty
        
        Get current property.
        """

    def Init(self, *args, **kw):
        """
        Init(state, flags, property, dir=1)
        Init(state, flags, startPos=wx.TOP, dir=0)
        """

    def Next(self, iterateChildren=True):
        """
        Next(iterateChildren=True)
        
        Iterate to the next property.
        """

    def Prev(self):
        """
        Prev()
        
        Iterate to the previous property.
        """

    def SetBaseParent(self, baseParent):
        """
        SetBaseParent(baseParent)
        
        Set base parent, i.e.
        """
    Property = property(None, None)
# end of class PropertyGridIteratorBase


class PropertyGridIterator(PropertyGridIteratorBase):
    """
    PropertyGridIterator()
    PropertyGridIterator(state, flags=PG_ITERATE_DEFAULT, property=None, dir=1)
    PropertyGridIterator(state, flags, startPos, dir=0)
    PropertyGridIterator(it)
    """

    def __init__(self, *args, **kw):
        """
        PropertyGridIterator()
        PropertyGridIterator(state, flags=PG_ITERATE_DEFAULT, property=None, dir=1)
        PropertyGridIterator(state, flags, startPos, dir=0)
        PropertyGridIterator(it)
        """
# end of class PropertyGridIterator


class PGVIterator(object):
    """
    PGVIterator()
    PGVIterator(it)
    """

    def __init__(self, *args, **kw):
        """
        PGVIterator()
        PGVIterator(it)
        """

    def UnRef(self):
        """
        UnRef()
        """

    def Next(self):
        """
        Next()
        """

    def AtEnd(self):
        """
        AtEnd() -> bool
        """

    def GetProperty(self):
        """
        GetProperty() -> PGProperty
        """
    Property = property(None, None)
# end of class PGVIterator


class PropertyGridPageState(object):
    """
    PropertyGridPageState()
    
    Contains low-level property page information (properties, column
    widths, etc.) of a single wxPropertyGrid or single wxPropertyGridPage.
    """

    def __init__(self):
        """
        PropertyGridPageState()
        
        Contains low-level property page information (properties, column
        widths, etc.) of a single wxPropertyGrid or single wxPropertyGridPage.
        """

    def CheckColumnWidths(self, widthChange=0):
        """
        CheckColumnWidths(widthChange=0)
        
        Makes sure all columns have minimum width.
        """

    def DoDelete(self, item, doDelete=True):
        """
        DoDelete(item, doDelete=True)
        
        Override this member function to add custom behaviour on property
        deletion.
        """

    def DoInsert(self, parent, index, property):
        """
        DoInsert(parent, index, property) -> PGProperty
        
        Override this member function to add custom behaviour on property
        insertion.
        """

    def DoSetSplitterPosition(self, pos, splitterColumn=0, flags=0):
        """
        DoSetSplitterPosition(pos, splitterColumn=0, flags=0)
        
        This needs to be overridden in grid used the manager so that splitter
        changes can be propagated to other pages.
        """

    def EnableCategories(self, enable):
        """
        EnableCategories(enable) -> bool
        """

    def EnsureVirtualHeight(self):
        """
        EnsureVirtualHeight()
        
        Make sure virtual height is up-to-date.
        """

    def GetVirtualHeight(self):
        """
        GetVirtualHeight() -> unsignedint
        
        Returns (precalculated) height of contained visible properties.
        """

    def GetActualVirtualHeight(self):
        """
        GetActualVirtualHeight() -> unsignedint
        
        Returns actual height of contained visible properties.
        """

    def GetColumnCount(self):
        """
        GetColumnCount() -> unsignedint
        """

    def GetColumnMinWidth(self, column):
        """
        GetColumnMinWidth(column) -> int
        """

    def GetColumnWidth(self, column):
        """
        GetColumnWidth(column) -> int
        """

    def GetGrid(self):
        """
        GetGrid() -> PropertyGrid
        """

    def GetLastItem(self, flags=PG_ITERATE_DEFAULT):
        """
        GetLastItem(flags=PG_ITERATE_DEFAULT) -> PGProperty
        
        Returns last item which could be iterated using given flags.
        """

    def GetSelection(self):
        """
        GetSelection() -> PGProperty
        
        Returns currently selected property.
        """

    def GetPropertyCategory(self, p):
        """
        GetPropertyCategory(p) -> PropertyCategory
        """

    def GetVirtualWidth(self):
        """
        GetVirtualWidth() -> int
        
        Returns combined width of margin and all the columns.
        """

    def GetColumnFullWidth(self, p, col):
        """
        GetColumnFullWidth(p, col) -> int
        """

    def HitTest(self, pt):
        """
        HitTest(pt) -> PropertyGridHitTestResult
        
        Returns information about arbitrary position in the grid.
        """

    def IsDisplayed(self):
        """
        IsDisplayed() -> bool
        
        Returns true if page is visibly displayed.
        """

    def IsInNonCatMode(self):
        """
        IsInNonCatMode() -> bool
        """

    def VirtualHeightChanged(self):
        """
        VirtualHeightChanged()
        
        Called after virtual height needs to be recalculated.
        """
    ActualVirtualHeight = property(None, None)
    ColumnCount = property(None, None)
    Grid = property(None, None)
    LastItem = property(None, None)
    Selection = property(None, None)
    VirtualHeight = property(None, None)
    VirtualWidth = property(None, None)
# end of class PropertyGridPageState

#-- end-propgridpagestate --#
#-- begin-propgridiface --#

class PGPropArgCls(object):
    """
    PGPropArgCls(property)
    PGPropArgCls(str)
    PGPropArgCls(id)
    """

    def __init__(self, *args, **kw):
        """
        PGPropArgCls(property)
        PGPropArgCls(str)
        PGPropArgCls(id)
        """

    def GetPtr(self, *args, **kw):
        """
        GetPtr() -> PGProperty
        GetPtr(iface) -> PGProperty
        """

    def GetPtr0(self):
        """
        GetPtr0() -> PGProperty
        """

    def HasName(self):
        """
        HasName() -> bool
        """

    def GetName(self):
        """
        GetName() -> String
        """
    Name = property(None, None)
    Ptr = property(None, None)
    Ptr0 = property(None, None)
# end of class PGPropArgCls


class PropertyGridInterface(object):
    """
    Most of the shared property manipulation interface shared by
    wxPropertyGrid, wxPropertyGridPage, and wxPropertyGridManager is
    defined in this class.
    """
    SelectionState = 0
    ExpandedState = 0
    ScrollPosState = 0
    PageState = 0
    SplitterPosState = 0
    DescBoxState = 0
    AllStates = 0

    def GetIterator(self, *args, **kw):
        """
        GetIterator(flags=PG_ITERATE_DEFAULT, firstProp=None) -> PropertyGridIterator
        GetIterator(flags, startPos) -> PropertyGridIterator
        
        Returns iterator class instance.
        """

    def GetFirst(self, flags=PG_ITERATE_ALL):
        """
        GetFirst(flags=PG_ITERATE_ALL) -> PGProperty
        
        Returns id of first item that matches given criteria.
        """

    def Append(self, property):
        """
        Append(property) -> PGProperty
        
        Appends property to the list.
        """

    def AppendIn(self, id, newProperty):
        """
        AppendIn(id, newProperty) -> PGProperty
        
        Same as Append(), but appends under given parent property.
        """

    def BeginAddChildren(self, id):
        """
        BeginAddChildren(id)
        
        In order to add new items into a property with private children (for
        instance, wxFlagsProperty), you need to call this method.
        """

    def Clear(self):
        """
        Clear()
        
        Deletes all properties.
        """

    def ClearSelection(self, validation=False):
        """
        ClearSelection(validation=False) -> bool
        
        Clears current selection, if any.
        """

    def ClearModifiedStatus(self):
        """
        ClearModifiedStatus()
        
        Resets modified status of all properties.
        """

    def Collapse(self, id):
        """
        Collapse(id) -> bool
        
        Collapses given category or property with children.
        """

    def CollapseAll(self):
        """
        CollapseAll() -> bool
        
        Collapses all items that can be collapsed.
        """

    def ChangePropertyValue(self, id, newValue):
        """
        ChangePropertyValue(id, newValue) -> bool
        
        Changes value of a property, as if by user.
        """

    def DeleteProperty(self, id):
        """
        DeleteProperty(id)
        
        Removes and deletes a property and any children.
        """

    def DisableProperty(self, id):
        """
        DisableProperty(id) -> bool
        
        Disables a property.
        """

    def EditorValidate(self):
        """
        EditorValidate() -> bool
        
        Returns true if all property grid data changes have been committed.
        """

    def EnableProperty(self, id, enable=True):
        """
        EnableProperty(id, enable=True) -> bool
        
        Enables or disables property.
        """

    def EndAddChildren(self, id):
        """
        EndAddChildren(id)
        
        Called after population of property with fixed children has finished.
        """

    def Expand(self, id):
        """
        Expand(id) -> bool
        
        Expands given category or property with children.
        """

    def ExpandAll(self, expand=True):
        """
        ExpandAll(expand=True) -> bool
        
        Expands all items that can be expanded.
        """

    def GetColumnProportion(self, column):
        """
        GetColumnProportion(column) -> int
        
        Returns auto-resize proportion of the given column.
        """

    def GetFirstChild(self, id):
        """
        GetFirstChild(id) -> PGProperty
        
        Returns id of first child of given property.
        """

    def GetProperty(self, name):
        """
        GetProperty(name) -> PGProperty
        
        Returns pointer to a property with given name (case-sensitive).
        """

    def GetPropertiesWithFlag(self, targetArr, flags, inverse=False, iterFlags=PG_ITERATE_PROPERTIES|PG_ITERATE_HIDDEN|PG_ITERATE_CATEGORIES):
        """
        GetPropertiesWithFlag(targetArr, flags, inverse=False, iterFlags=PG_ITERATE_PROPERTIES|PG_ITERATE_HIDDEN|PG_ITERATE_CATEGORIES)
        
        Adds to targetArr pointers to properties that have given flags set.
        """

    def GetPropertyAttribute(self, id, attrName):
        """
        GetPropertyAttribute(id, attrName) -> PGVariant
        
        Returns value of given attribute.
        """

    def GetPropertyAttributes(self, id):
        """
        GetPropertyAttributes(id) -> PGAttributeStorage
        
        Returns map-like storage of property's attributes.
        """

    def GetPropertyBackgroundColour(self, id):
        """
        GetPropertyBackgroundColour(id) -> wx.Colour
        
        Returns background colour of first cell of a property.
        """

    def GetPropertyCategory(self, id):
        """
        GetPropertyCategory(id) -> PropertyCategory
        
        Returns pointer of property's nearest parent category.
        """

    def GetPropertyByLabel(self, label):
        """
        GetPropertyByLabel(label) -> PGProperty
        
        Returns first property which label matches given string.
        """

    def GetPropertyByName(self, *args, **kw):
        """
        GetPropertyByName(name) -> PGProperty
        GetPropertyByName(name, subname) -> PGProperty
        
        Returns pointer to a property with given name (case-sensitive).
        """

    def GetPropertyEditor(self, id):
        """
        GetPropertyEditor(id) -> PGEditor
        
        Returns property's editor.
        """

    def GetPropertyHelpString(self, id):
        """
        GetPropertyHelpString(id) -> String
        
        Returns help string associated with a property.
        """

    def GetPropertyImage(self, id):
        """
        GetPropertyImage(id) -> wx.Bitmap
        
        Returns property's custom value image (NULL of none).
        """

    def GetPropertyLabel(self, id):
        """
        GetPropertyLabel(id) -> String
        
        Returns label of a property.
        """

    def GetPropertyName(self, property):
        """
        GetPropertyName(property) -> String
        
        Returns property's name, by which it is globally accessible.
        """

    def GetPropertyParent(self, id):
        """
        GetPropertyParent(id) -> PGProperty
        
        Returns parent item of a property.
        """

    def GetPropertyTextColour(self, id):
        """
        GetPropertyTextColour(id) -> wx.Colour
        
        Returns text colour of first cell of a property.
        """

    def GetPropertyValidator(self, id):
        """
        GetPropertyValidator(id) -> wx.Validator
        
        Returns validator of a property as a reference, which you can pass to
        any number of SetPropertyValidator.
        """

    def GetPropertyValue(self, id):
        """
        GetPropertyValue(id) -> PGVariant
        
        Returns property's value as wxVariant.
        """

    def GetPropertyValueAsArrayInt(self, id):
        """
        GetPropertyValueAsArrayInt(id) -> ArrayInt
        
        Return's property's value as wxArrayInt.
        """

    def GetPropertyValueAsArrayString(self, id):
        """
        GetPropertyValueAsArrayString(id) -> ArrayString
        
        Returns property's value as wxArrayString.
        """

    def GetPropertyValueAsBool(self, id):
        """
        GetPropertyValueAsBool(id) -> bool
        
        Returns property's value as bool.
        """

    def GetPropertyValueAsDateTime(self, id):
        """
        GetPropertyValueAsDateTime(id) -> wx.DateTime
        
        Return's property's value as wxDateTime.
        """

    def GetPropertyValueAsDouble(self, id):
        """
        GetPropertyValueAsDouble(id) -> double
        
        Returns property's value as double-precision floating point number.
        """

    def GetPropertyValueAsInt(self, id):
        """
        GetPropertyValueAsInt(id) -> int
        
        Returns property's value as integer.
        """

    def GetPropertyValueAsLong(self, id):
        """
        GetPropertyValueAsLong(id) -> long
        
        Returns property's value as integer.
        """

    def GetPropertyValueAsLongLong(self, id):
        """
        GetPropertyValueAsLongLong(id) -> LongLong_t
        
        Returns property's value as native signed 64-bit integer.
        """

    def GetPropertyValueAsString(self, id):
        """
        GetPropertyValueAsString(id) -> String
        
        Returns property's value as wxString.
        """

    def GetPropertyValueAsULong(self, id):
        """
        GetPropertyValueAsULong(id) -> unsignedlong
        
        Returns property's value as unsigned integer.
        """

    def GetPropertyValueAsULongLong(self, id):
        """
        GetPropertyValueAsULongLong(id) -> ULongLong_t
        
        Returns property's value as native unsigned 64-bit integer.
        """

    def GetSelectedProperties(self):
        """
        GetSelectedProperties() -> ArrayPGProperty
        
        Returns list of currently selected properties.
        """

    def GetSelection(self):
        """
        GetSelection() -> PGProperty
        
        Returns currently selected property.
        """

    def GetVIterator(self, flags):
        """
        GetVIterator(flags) -> PGVIterator
        
        Similar to GetIterator(), but instead returns wxPGVIterator instance,
        which can be useful for forward-iterating through arbitrary property
        containers.
        """

    def HideProperty(self, id, hide=True, flags=PG_RECURSE):
        """
        HideProperty(id, hide=True, flags=PG_RECURSE) -> bool
        
        Hides or reveals a property.
        """

    def Insert(self, *args, **kw):
        """
        Insert(priorThis, newProperty) -> PGProperty
        Insert(parent, index, newProperty) -> PGProperty
        
        Inserts property to the property container.
        """

    def IsPropertyCategory(self, id):
        """
        IsPropertyCategory(id) -> bool
        
        Returns true if property is a category.
        """

    def IsPropertyEnabled(self, id):
        """
        IsPropertyEnabled(id) -> bool
        
        Returns true if property is enabled.
        """

    def IsPropertyExpanded(self, id):
        """
        IsPropertyExpanded(id) -> bool
        
        Returns true if given property is expanded.
        """

    def IsPropertyModified(self, id):
        """
        IsPropertyModified(id) -> bool
        
        Returns true if property has been modified after value set or modify
        flag clear by software.
        """

    def IsPropertySelected(self, id):
        """
        IsPropertySelected(id) -> bool
        
        Returns true if property is selected.
        """

    def IsPropertyShown(self, id):
        """
        IsPropertyShown(id) -> bool
        
        Returns true if property is shown (i.e.
        """

    def IsPropertyValueUnspecified(self, id):
        """
        IsPropertyValueUnspecified(id) -> bool
        
        Returns true if property value is set to unspecified.
        """

    def LimitPropertyEditing(self, id, limit=True):
        """
        LimitPropertyEditing(id, limit=True)
        
        Disables (limit = true) or enables (limit = false) wxTextCtrl editor
        of a property, if it is not the sole mean to edit the value.
        """

    def RefreshGrid(self, state=None):
        """
        RefreshGrid(state=None)
        
        If state is shown in its grid, refresh it now.
        """

    def RemoveProperty(self, id):
        """
        RemoveProperty(id) -> PGProperty
        
        Removes a property.
        """

    def ReplaceProperty(self, id, property):
        """
        ReplaceProperty(id, property) -> PGProperty
        
        Replaces property with id with newly created one.
        """

    def RestoreEditableState(self, src, restoreStates=AllStates):
        """
        RestoreEditableState(src, restoreStates=AllStates) -> bool
        
        Restores user-editable state.
        """

    def SaveEditableState(self, includedStates=AllStates):
        """
        SaveEditableState(includedStates=AllStates) -> String
        
        Used to acquire user-editable state (selected property, expanded
        properties, scrolled position, splitter positions).
        """

    def SetColumnProportion(self, column, proportion):
        """
        SetColumnProportion(column, proportion) -> bool
        
        Set proportion of an auto-stretchable column.
        """

    def SetPropertyAttribute(self, id, attrName, value, argFlags=0):
        """
        SetPropertyAttribute(id, attrName, value, argFlags=0)
        
        Sets an attribute for this property.
        """

    def SetPropertyAttributeAll(self, attrName, value):
        """
        SetPropertyAttributeAll(attrName, value)
        
        Sets property attribute for all applicable properties.
        """

    def SetPropertyBackgroundColour(self, id, colour, flags=PG_RECURSE):
        """
        SetPropertyBackgroundColour(id, colour, flags=PG_RECURSE)
        
        Sets background colour of given property.
        """

    def SetPropertyCell(self, id, column, text=wx.EmptyString, bitmap=wx.BitmapBundle(), fgCol=wx.NullColour, bgCol=wx.NullColour):
        """
        SetPropertyCell(id, column, text=wx.EmptyString, bitmap=wx.BitmapBundle(), fgCol=wx.NullColour, bgCol=wx.NullColour)
        
        Sets text, bitmap, and colours for given column's cell.
        """

    def SetPropertyColoursToDefault(self, id, flags=PG_DONT_RECURSE):
        """
        SetPropertyColoursToDefault(id, flags=PG_DONT_RECURSE)
        
        Resets text and background colours of given property.
        """

    def SetPropertyEditor(self, *args, **kw):
        """
        SetPropertyEditor(id, editor)
        SetPropertyEditor(id, editorName)
        
        Sets editor for a property.
        """

    def SetPropertyLabel(self, id, newproplabel):
        """
        SetPropertyLabel(id, newproplabel)
        
        Sets label of a property.
        """

    def SetPropertyName(self, id, newName):
        """
        SetPropertyName(id, newName)
        
        Sets name of a property.
        """

    def SetPropertyReadOnly(self, id, set=True, flags=PG_RECURSE):
        """
        SetPropertyReadOnly(id, set=True, flags=PG_RECURSE)
        
        Sets property (and, recursively, its children) to have read-only
        value.
        """

    def SetPropertyValueUnspecified(self, id):
        """
        SetPropertyValueUnspecified(id)
        
        Sets property's value to unspecified.
        """

    def SetPropertyHelpString(self, id, helpString):
        """
        SetPropertyHelpString(id, helpString)
        
        Associates the help string with property.
        """

    def SetPropertyImage(self, id, bmp):
        """
        SetPropertyImage(id, bmp)
        
        Set wxBitmap taken from wxBitmapBundle in front of the value.
        """

    def SetPropertyMaxLength(self, id, maxLen):
        """
        SetPropertyMaxLength(id, maxLen) -> bool
        
        Sets maximum length of text in property text editor.
        """

    def SetPropertyTextColour(self, id, colour, flags=PG_RECURSE):
        """
        SetPropertyTextColour(id, colour, flags=PG_RECURSE)
        
        Sets text colour of given property.
        """

    def SetPropertyValidator(self, id, validator):
        """
        SetPropertyValidator(id, validator)
        
        Sets validator of a property.
        """

    def SetPropertyValue(self, *args, **kw):
        """
        SetPropertyValue(id, value)
        SetPropertyValue(id, value)
        SetPropertyValue(id, value)
        SetPropertyValue(id, value)
        SetPropertyValue(id, value)
        SetPropertyValue(id, value)
        SetPropertyValue(id, value)
        SetPropertyValue(id, value)
        SetPropertyValue(id, value)
        
        Sets value (floating point) of a property.
        """

    def SetPropertyValueString(self, id, value):
        """
        SetPropertyValueString(id, value)
        
        Sets value (wxString) of a property.
        """

    def SetPropVal(self, id, value):
        """
        SetPropVal(id, value)
        
        Sets value (wxVariant&) of a property.
        """

    def SetValidationFailureBehavior(self, vfbFlags):
        """
        SetValidationFailureBehavior(vfbFlags)
        
        Adjusts how wxPropertyGrid behaves when invalid value is entered in a
        property.
        """

    def Sort(self, flags=0):
        """
        Sort(flags=0)
        
        Sorts all properties recursively.
        """

    def SortChildren(self, id, flags=0):
        """
        SortChildren(id, flags=0)
        
        Sorts children of a property.
        """

    def GetPropertyByNameA(self, name):
        """
        GetPropertyByNameA(name) -> PGProperty
        
        GetPropertyByName() with assertion error message.
        """

    def RefreshProperty(self, p):
        """
        RefreshProperty(p)
        """

    @staticmethod
    def InitAllTypeHandlers():
        """
        InitAllTypeHandlers()
        
        Initializes all property types.
        """

    @staticmethod
    def RegisterAdditionalEditors():
        """
        RegisterAdditionalEditors()
        
        Initializes additional property editors (SpinCtrl etc.).
        """

    @staticmethod
    def SetBoolChoices(trueChoice, falseChoice):
        """
        SetBoolChoices(trueChoice, falseChoice)
        
        Sets strings listed in the choice dropdown of a wxBoolProperty.
        """

    @staticmethod
    def GetEditorByName(editorName):
        """
        GetEditorByName(editorName) -> PGEditor
        
        Returns editor pointer of editor with given name.
        """

    def MapType(self, class_, factory):
        """
        Registers Python type/class to property mapping.
        
        :param `factory`: Property builder function/class.
        """

    def DoDefaultTypeMappings(self):
        """
        Add built-in properties to the map.
        """

    def DoDefaultValueTypeMappings(self):
        """
        Map pg value type ids to getter methods.
        """

    def GetPropertyValues(self, dict_=None, as_strings=False, inc_attributes=False, flags=PG_ITERATE_PROPERTIES):
        """
        Returns all property values in the grid.
        
        :param `dict_`: A diftionary to fill with the property values.
            If not given, then a new one is created. The dict_ can be an
            object as well, in which case it's __dict__ is used.
        :param `as_strings`: if True, then string representations of values
            are fetched instead of native types. Useful for config and such.
        :param `inc_attributes`: if True, then property attributes are added
            in the form of ``"@<propname>@<attr>"``.
        :param `flags`: Flags to pass to the iterator. See :ref:`wx.propgrid.PG_ITERATOR_FLAGS`.
        :returns: A dictionary with values. It is always a dictionary,
            so if dict_ was an object with __dict__ attribute, then that
            attribute is returned.
        """

    def SetPropertyValues(self, dict_, autofill=False):
        """
        Sets property values from a dictionary.
        
        :param `dict_`: the source of the property values to set, which can be
            either a dictionary or an object with a __dict__ attribute.
        :param `autofill`: If true, keys with not relevant properties are
            auto-created. For more info, see :method:`AutoFill`.
        
        :note:
          * Keys starting with underscore are ignored.
          * Attributes can be set with entries named like "@<propname>@<attr>".
        """

    def _AutoFillMany(self,cat,dict_):
        """
        
        """

    def _AutoFillOne(self,cat,k,v):
        """
        
        """

    def AutoFill(self, obj, parent=None):
        """
        "Clears properties and re-fills to match members and values of
        the given object or dictionary obj.
        """

    def RegisterEditor(self, editor, editorName=None):
        """
        Register a new editor, either an instance or a class.
        """

    def GetPropertyClientData(self, p):
        """
        
        """

    def SetPropertyClientData(self, p, data):
        """
        
        """

    def GetPyIterator(self, flags=PG_ITERATE_DEFAULT, firstProperty=None):
        """
        Returns a pythonic property iterator for a single :ref:`PropertyGrid`
        or page in :ref:`PropertyGridManager`. Arguments are same as for
        :ref:`GetIterator`.
        
        The following example demonstrates iterating absolutely all items in
        a single grid::
        
            iterator = propGrid.GetPyIterator(wx.propgrid.PG_ITERATE_ALL)
            for prop in iterator:
                print(prop)
        
        :see: `wx.propgrid.PropertyGridInterface.Properties`
              `wx.propgrid.PropertyGridInterface.Items`
        """

    def GetPyVIterator(self, flags=PG_ITERATE_DEFAULT):
        """
        Similar to :ref:`GetVIterator` but returns a pythonic iterator.
        """

    def _Properties(self):
        """
        This attribute is a pythonic iterator over all properties in
        this `PropertyGrid` property container. It will only skip
        categories and private child properties. Usage is simple::
        
            for prop in propGrid.Properties:
                print(prop)
        
        :see: `wx.propgrid.PropertyGridInterface.Items`
              `wx.propgrid.PropertyGridInterface.GetPyIterator`
        """
    Properties = property(None, None)

    def _Items(self):
        """
        This attribute is a pythonic iterator over all items in this
        `PropertyGrid` property container, excluding only private child
        properties. Usage is simple::
        
            for prop in propGrid.Items:
                print(prop)
        
        :see: `wx.propgrid.PropertyGridInterface.Properties`
              `wx.propgrid.PropertyGridInterface.GetPyVIterator`
        """
    Items = property(None, None)
# end of class PropertyGridInterface


_type2property = None
_vt2getter = None

PropertyGridInterface.GetValues = PropertyGridInterface.GetPropertyValues
PropertyGridInterface.SetValues = PropertyGridInterface.SetPropertyValues
#-- end-propgridiface --#
#-- begin-propgrid --#
PG_DEFAULT_STYLE = 0
PGMAN_DEFAULT_STYLE = 0
PG_AUTO_SORT = 0
PG_HIDE_CATEGORIES = 0
PG_ALPHABETIC_MODE = 0
PG_BOLD_MODIFIED = 0
PG_SPLITTER_AUTO_CENTER = 0
PG_TOOLTIPS = 0
PG_HIDE_MARGIN = 0
PG_STATIC_SPLITTER = 0
PG_STATIC_LAYOUT = 0
PG_LIMITED_EDITING = 0
PG_TOOLBAR = 0
PG_DESCRIPTION = 0
PG_NO_INTERNAL_BORDER = 0
PG_WINDOW_STYLE_MASK = 0
PG_EX_INIT_NOCAT = 0
PG_EX_NO_FLAT_TOOLBAR = 0
PG_EX_MODE_BUTTONS = 0
PG_EX_HELP_AS_TOOLTIPS = 0
PG_EX_NATIVE_DOUBLE_BUFFERING = 0
PG_EX_AUTO_UNSPECIFIED_VALUES = 0
PG_EX_WRITEONLY_BUILTIN_ATTRIBUTES = 0
PG_EX_HIDE_PAGE_BUTTONS = 0
PG_EX_MULTIPLE_SELECTION = 0
PG_EX_ENABLE_TLP_TRACKING = 0
PG_EX_NO_TOOLBAR_DIVIDER = 0
PG_EX_TOOLBAR_SEPARATOR = 0
PG_EX_ALWAYS_ALLOW_FOCUS = 0
PG_EX_WINDOW_PG_STYLE_MASK = 0
PG_EX_WINDOW_PGMAN_STYLE_MASK = 0
PG_EX_WINDOW_STYLE_MASK = 0
PG_VFB_STAY_IN_PROPERTY = 0
PG_VFB_BEEP = 0
PG_VFB_MARK_CELL = 0
PG_VFB_SHOW_MESSAGE = 0
PG_VFB_SHOW_MESSAGEBOX = 0
PG_VFB_SHOW_MESSAGE_ON_STATUSBAR = 0
PG_VFB_DEFAULT = 0
PG_ACTION_INVALID = 0
PG_ACTION_NEXT_PROPERTY = 0
PG_ACTION_PREV_PROPERTY = 0
PG_ACTION_EXPAND_PROPERTY = 0
PG_ACTION_COLLAPSE_PROPERTY = 0
PG_ACTION_CANCEL_EDIT = 0
PG_ACTION_EDIT = 0
PG_ACTION_PRESS_BUTTON = 0
PG_ACTION_MAX = 0
wxEVT_PG_SELECTED = 0
wxEVT_PG_CHANGING = 0
wxEVT_PG_CHANGED = 0
wxEVT_PG_HIGHLIGHTED = 0
wxEVT_PG_RIGHT_CLICK = 0
wxEVT_PG_PAGE_CHANGED = 0
wxEVT_PG_ITEM_COLLAPSED = 0
wxEVT_PG_ITEM_EXPANDED = 0
wxEVT_PG_DOUBLE_CLICK = 0
wxEVT_PG_LABEL_EDIT_BEGIN = 0
wxEVT_PG_LABEL_EDIT_ENDING = 0
wxEVT_PG_COL_BEGIN_DRAG = 0
wxEVT_PG_COL_DRAGGING = 0
wxEVT_PG_COL_END_DRAG = 0

class PGValidationInfo(object):
    """
    Used to convey validation information to and from functions that
    actually perform validation.
    """

    def GetFailureBehavior(self):
        """
        GetFailureBehavior() -> byte
        """

    def GetFailureMessage(self):
        """
        GetFailureMessage() -> String
        
        Returns current failure message.
        """

    def GetValue(self):
        """
        GetValue() -> PGVariant
        
        Returns reference to pending value.
        """

    def SetFailureBehavior(self, failureBehavior):
        """
        SetFailureBehavior(failureBehavior)
        
        Set validation failure behaviour.
        """

    def SetFailureMessage(self, message):
        """
        SetFailureMessage(message)
        
        Set current failure message.
        """
    FailureBehavior = property(None, None)
    FailureMessage = property(None, None)
    Value = property(None, None)
# end of class PGValidationInfo

PropertyGridNameStr = ""

class PropertyGrid(wx.Control, PropertyGridInterface):
    """
    PropertyGrid()
    PropertyGrid(parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=PG_DEFAULT_STYLE, name=PropertyGridNameStr)
    
    wxPropertyGrid is a specialized grid for editing properties - in other
    words name = value pairs.
    """

    def __init__(self, *args, **kw):
        """
        PropertyGrid()
        PropertyGrid(parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=PG_DEFAULT_STYLE, name=PropertyGridNameStr)
        
        wxPropertyGrid is a specialized grid for editing properties - in other
        words name = value pairs.
        """

    def DoShowPropertyError(self, property, msg):
        """
        DoShowPropertyError(property, msg)
        
        Override in derived class to display error messages in custom manner
        (these message usually only result from validation failure).
        """

    def DoHidePropertyError(self, property):
        """
        DoHidePropertyError(property)
        
        Override in derived class to hide an error displayed by
        DoShowPropertyError().
        """

    def GetStatusBar(self):
        """
        GetStatusBar() -> wx.StatusBar
        
        Return wxStatusBar that is used by this wxPropertyGrid.
        """

    def DoOnValidationFailure(self, property, invalidValue):
        """
        DoOnValidationFailure(property, invalidValue) -> bool
        
        Override to customize property validation failure behaviour.
        """

    def DoOnValidationFailureReset(self, property):
        """
        DoOnValidationFailureReset(property)
        
        Override to customize resetting of property validation failure status.
        """

    def EditorsValueWasModified(self):
        """
        EditorsValueWasModified()
        
        Call when editor widget's contents is modified.
        """

    def EditorsValueWasNotModified(self):
        """
        EditorsValueWasNotModified()
        
        Reverse of EditorsValueWasModified().
        """

    def GetUncommittedPropertyValue(self):
        """
        GetUncommittedPropertyValue() -> PGVariant
        
        Returns most up-to-date value of selected property.
        """

    def IsEditorsValueModified(self):
        """
        IsEditorsValueModified() -> bool
        
        Returns true if editor's value was marked modified.
        """

    def ShowPropertyError(self, id, msg):
        """
        ShowPropertyError(id, msg)
        
        Shows a brief error message that is related to a property.
        """

    def ValueChangeInEvent(self, variant):
        """
        ValueChangeInEvent(variant)
        
        Call this from wxPGProperty::OnEvent() to cause property value to be
        changed after the function returns (with true as return value).
        """

    def WasValueChangedInEvent(self):
        """
        WasValueChangedInEvent() -> bool
        
        You can use this member function, for instance, to detect in
        wxPGProperty::OnEvent() if wxPGProperty::SetValueInEvent() was already
        called in wxPGEditor::OnEvent().
        """

    def AddActionTrigger(self, action, keycode, modifiers=0):
        """
        AddActionTrigger(action, keycode, modifiers=0)
        
        Adds given key combination to trigger given action.
        """

    def AddToSelection(self, id):
        """
        AddToSelection(id) -> bool
        
        Adds given property into selection.
        """

    def BeginLabelEdit(self, colIndex=0):
        """
        BeginLabelEdit(colIndex=0)
        
        Creates label editor wxTextCtrl for given column, for property that is
        currently selected.
        """

    def ChangePropertyValue(self, id, newValue):
        """
        ChangePropertyValue(id, newValue) -> bool
        
        Changes value of a property, as if from an editor.
        """

    def CenterSplitter(self, enableAutoResizing=False):
        """
        CenterSplitter(enableAutoResizing=False)
        
        Centers the splitter.
        """

    def Clear(self):
        """
        Clear()
        
        Deletes all properties.
        """

    def ClearActionTriggers(self, action):
        """
        ClearActionTriggers(action)
        
        Clears action triggers for given action.
        """

    def CommitChangesFromEditor(self, flags=0):
        """
        CommitChangesFromEditor(flags=0) -> bool
        
        Forces updating the value of property from the editor control.
        """

    def Create(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=PG_DEFAULT_STYLE, name=PropertyGridNameStr):
        """
        Create(parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=PG_DEFAULT_STYLE, name=PropertyGridNameStr) -> bool
        
        Two step creation.
        """

    def DedicateKey(self, keycode):
        """
        DedicateKey(keycode)
        
        Dedicates a specific keycode to wxPropertyGrid.
        """

    def EnableCategories(self, enable):
        """
        EnableCategories(enable) -> bool
        
        Enables or disables (shows/hides) categories according to parameter
        enable.
        """

    def EndLabelEdit(self, commit=True):
        """
        EndLabelEdit(commit=True)
        
        Destroys label editor wxTextCtrl, if any.
        """

    def EnsureVisible(self, id):
        """
        EnsureVisible(id) -> bool
        
        Scrolls and/or expands items to ensure that the given item is visible.
        """

    def FitColumns(self):
        """
        FitColumns() -> wx.Size
        
        Reduces column sizes to minimum possible, while still retaining fully
        visible grid contents (labels, images).
        """

    def GetLabelEditor(self):
        """
        GetLabelEditor() -> wx.TextCtrl
        
        Returns currently active label editor, NULL if none.
        """

    def GetPanel(self):
        """
        GetPanel() -> wx.Window
        
        Returns wxWindow that the properties are painted on, and which should
        be used as the parent for editor controls.
        """

    def GetCaptionBackgroundColour(self):
        """
        GetCaptionBackgroundColour() -> wx.Colour
        
        Returns current category caption background colour.
        """

    def GetCaptionFont(self):
        """
        GetCaptionFont() -> wx.Font
        
        Returns current category caption font.
        """

    def GetCaptionForegroundColour(self):
        """
        GetCaptionForegroundColour() -> wx.Colour
        
        Returns current category caption text colour.
        """

    def GetCellBackgroundColour(self):
        """
        GetCellBackgroundColour() -> wx.Colour
        
        Returns current cell background colour.
        """

    def GetCellDisabledTextColour(self):
        """
        GetCellDisabledTextColour() -> wx.Colour
        
        Returns current cell text colour when disabled.
        """

    def GetCellTextColour(self):
        """
        GetCellTextColour() -> wx.Colour
        
        Returns current cell text colour.
        """

    def GetColumnCount(self):
        """
        GetColumnCount() -> unsignedint
        
        Returns number of columns currently on grid.
        """

    def GetEmptySpaceColour(self):
        """
        GetEmptySpaceColour() -> wx.Colour
        
        Returns colour of empty space below properties.
        """

    def GetFontHeight(self):
        """
        GetFontHeight() -> int
        
        Returns height of highest characters of used font.
        """

    def GetGrid(self):
        """
        GetGrid() -> PropertyGrid
        
        Returns pointer to itself.
        """

    def GetImageRect(self, property, item):
        """
        GetImageRect(property, item) -> wx.Rect
        
        Returns rectangle of custom paint image.
        """

    def GetImageSize(self, property=None, item=-1):
        """
        GetImageSize(property=None, item=-1) -> wx.Size
        
        Returns size of the custom paint image in front of property.
        """

    def GetLastItem(self, flags=PG_ITERATE_DEFAULT):
        """
        GetLastItem(flags=PG_ITERATE_DEFAULT) -> PGProperty
        
        Returns last item which could be iterated using given flags.
        """

    def GetLineColour(self):
        """
        GetLineColour() -> wx.Colour
        
        Returns colour of lines between cells.
        """

    def GetMarginColour(self):
        """
        GetMarginColour() -> wx.Colour
        
        Returns background colour of margin.
        """

    def GetMarginWidth(self):
        """
        GetMarginWidth() -> int
        
        Returns margin width.
        """

    def GetRoot(self):
        """
        GetRoot() -> PGProperty
        
        Returns "root property".
        """

    def GetRowHeight(self):
        """
        GetRowHeight() -> int
        
        Returns height of a single grid row (in pixels).
        """

    def GetSelectedProperty(self):
        """
        GetSelectedProperty() -> PGProperty
        
        Returns currently selected property.
        """

    def GetSelection(self):
        """
        GetSelection() -> PGProperty
        
        Returns currently selected property.
        """

    def GetSelectionBackgroundColour(self):
        """
        GetSelectionBackgroundColour() -> wx.Colour
        
        Returns current selection background colour.
        """

    def GetSelectionForegroundColour(self):
        """
        GetSelectionForegroundColour() -> wx.Colour
        
        Returns current selection text colour.
        """

    def GetSplitterPosition(self, splitterIndex=0):
        """
        GetSplitterPosition(splitterIndex=0) -> int
        
        Returns current splitter x position.
        """

    def GetEditorTextCtrl(self):
        """
        GetEditorTextCtrl() -> wx.TextCtrl
        
        Returns wxTextCtrl active in currently selected property, if any.
        """

    def GetUnspecifiedValueAppearance(self):
        """
        GetUnspecifiedValueAppearance() -> PGCell
        
        Returns current appearance of unspecified value cells.
        """

    def GetUnspecifiedValueText(self, argFlags=0):
        """
        GetUnspecifiedValueText(argFlags=0) -> String
        
        Returns (visual) text representation of the unspecified property
        value.
        """

    def GetVerticalSpacing(self):
        """
        GetVerticalSpacing() -> int
        
        Returns current vertical spacing.
        """

    def HitTest(self, pt):
        """
        HitTest(pt) -> PropertyGridHitTestResult
        
        Returns information about arbitrary position in the grid.
        """

    def IsAnyModified(self):
        """
        IsAnyModified() -> bool
        
        Returns true if any property has been modified by the user.
        """

    def IsEditorFocused(self):
        """
        IsEditorFocused() -> bool
        
        Returns true if a property editor control has focus.
        """

    def IsFrozen(self):
        """
        IsFrozen() -> bool
        
        Returns true if updating is frozen (i.e.
        """

    def MakeColumnEditable(self, column, editable=True):
        """
        MakeColumnEditable(column, editable=True)
        
        Makes given column editable by user.
        """

    def OnTLPChanging(self, newTLP):
        """
        OnTLPChanging(newTLP)
        
        It is recommended that you call this function any time your code
        causes wxPropertyGrid's top-level parent to change.
        """

    def RefreshEditor(self):
        """
        RefreshEditor()
        
        Refreshes any active editor control.
        """

    def RefreshProperty(self, p):
        """
        RefreshProperty(p)
        
        Redraws given property.
        """

    def ResetColours(self):
        """
        ResetColours()
        
        Resets all colours to the original system values.
        """

    def ResetColumnSizes(self, enableAutoResizing=False):
        """
        ResetColumnSizes(enableAutoResizing=False)
        
        Resets column sizes and splitter positions, based on proportions.
        """

    def RemoveFromSelection(self, id):
        """
        RemoveFromSelection(id) -> bool
        
        Removes given property from selection.
        """

    def SelectProperty(self, id, focus=False):
        """
        SelectProperty(id, focus=False) -> bool
        
        Selects a property.
        """

    def SetCaptionBackgroundColour(self, col):
        """
        SetCaptionBackgroundColour(col)
        
        Sets category caption background colour.
        """

    def SetCaptionTextColour(self, col):
        """
        SetCaptionTextColour(col)
        
        Sets category caption text colour.
        """

    def SetCellBackgroundColour(self, col):
        """
        SetCellBackgroundColour(col)
        
        Sets default cell background colour - applies to property cells.
        """

    def SetCellDisabledTextColour(self, col):
        """
        SetCellDisabledTextColour(col)
        
        Sets cell text colour for disabled properties.
        """

    def SetCellTextColour(self, col):
        """
        SetCellTextColour(col)
        
        Sets default cell text colour - applies to property name and value
        text.
        """

    def SetColumnCount(self, colCount):
        """
        SetColumnCount(colCount)
        
        Set number of columns (2 or more).
        """

    def SetCurrentCategory(self, id):
        """
        SetCurrentCategory(id)
        
        Sets the 'current' category - Append will add non-category properties
        under it.
        """

    def SetEmptySpaceColour(self, col):
        """
        SetEmptySpaceColour(col)
        
        Sets colour of empty space below properties.
        """

    def SetLineColour(self, col):
        """
        SetLineColour(col)
        
        Sets colour of lines between cells.
        """

    def SetMarginColour(self, col):
        """
        SetMarginColour(col)
        
        Sets background colour of margin.
        """

    def SetSelection(self, newSelection):
        """
        SetSelection(newSelection)
        
        Set entire new selection from given list of properties.
        """

    def SetSelectionBackgroundColour(self, col):
        """
        SetSelectionBackgroundColour(col)
        
        Sets selection background colour - applies to selected property name
        background.
        """

    def SetSelectionTextColour(self, col):
        """
        SetSelectionTextColour(col)
        
        Sets selection foreground colour - applies to selected property name
        text.
        """

    def SetSplitterPosition(self, newxpos, col=0):
        """
        SetSplitterPosition(newxpos, col=0)
        
        Sets x coordinate of the splitter.
        """

    def SetSplitterLeft(self, privateChildrenToo=False):
        """
        SetSplitterLeft(privateChildrenToo=False)
        
        Moves splitter as left as possible, while still allowing all labels to
        be shown in full.
        """

    def SetUnspecifiedValueAppearance(self, cell):
        """
        SetUnspecifiedValueAppearance(cell)
        
        Sets appearance of value cells representing an unspecified property
        value.
        """

    def SetVerticalSpacing(self, vspacing):
        """
        SetVerticalSpacing(vspacing)
        
        Sets vertical spacing.
        """

    def SetVirtualWidth(self, width):
        """
        SetVirtualWidth(width)
        
        Set virtual width for this particular page.
        """

    def SetupTextCtrlValue(self, text):
        """
        SetupTextCtrlValue(text)
        
        Must be called in wxPGEditor::CreateControls() if primary editor
        window is wxTextCtrl, just before textctrl is created.
        """

    def UnfocusEditor(self):
        """
        UnfocusEditor() -> bool
        
        Unfocuses or closes editor if one was open, but does not deselect
        property.
        """

    def DrawItemAndValueRelated(self, p):
        """
        DrawItemAndValueRelated(p)
        
        Draws item, children, and consecutive parents as long as category is
        not met.
        """

    @staticmethod
    def AutoGetTranslation(enable):
        """
        AutoGetTranslation(enable)
        
        This static function enables or disables automatic use of
        wxGetTranslation() for following strings: wxEnumProperty list labels,
        wxFlagsProperty child property labels.
        """

    @staticmethod
    def RegisterEditorClass(editor, noDefCheck=False):
        """
        RegisterEditorClass(editor, noDefCheck=False) -> PGEditor
        
        Forwards to DoRegisterEditorClass with empty name.
        """

    @staticmethod
    def DoRegisterEditorClass(editor, name, noDefCheck=False):
        """
        DoRegisterEditorClass(editor, name, noDefCheck=False) -> PGEditor
        
        Registers a new editor class.
        """

    @staticmethod
    def GetClassDefaultAttributes(variant=wx.WINDOW_VARIANT_NORMAL):
        """
        GetClassDefaultAttributes(variant=wx.WINDOW_VARIANT_NORMAL) -> wx.VisualAttributes
        """

    _PropertyGrid__init__orig = __init__
    def _PropertyGrid__init__(self, *args, **kw):
        _PropertyGrid__init__orig(self, *args, **kw)
        self.DoDefaultTypeMappings()
        self.edited_objects = {}
        self.DoDefaultValueTypeMappings()
        if not hasattr(self.__class__, '_vt2setter'):
            self.__class__._vt2setter = {}
    __init__ = _PropertyGrid__init__

    def CalcScrolledPosition(self, *args, **kw):
        """
        CalcScrolledPosition(x, y) -> (xx, yy)
        CalcScrolledPosition(pt) -> Point
        
        Translates the logical coordinates to the device ones.
        """

    def CalcUnscrolledPosition(self, *args, **kw):
        """
        CalcUnscrolledPosition(x, y) -> (xx, yy)
        CalcUnscrolledPosition(pt) -> Point
        
        Translates the device coordinates to the logical ones.
        """

    def DisableKeyboardScrolling(self):
        """
        DisableKeyboardScrolling()
        
        Disable use of keyboard keys for scrolling.
        """

    def DoPrepareDC(self, dc):
        """
        DoPrepareDC(dc)
        
        Call this function to prepare the device context for drawing a
        scrolled image.
        """

    def EnableScrolling(self, xScrolling, yScrolling):
        """
        EnableScrolling(xScrolling, yScrolling)
        
        Enable or disable use of wxWindow::ScrollWindow() for scrolling.
        """

    def ShowScrollbars(self, horz, vert):
        """
        ShowScrollbars(horz, vert)
        
        Set the scrollbar visibility.
        """

    def GetScrollPixelsPerUnit(self):
        """
        GetScrollPixelsPerUnit() -> (xUnit, yUnit)
        
        Get the number of pixels per scroll unit (line), in each direction, as
        set by SetScrollbars().
        """

    def GetViewStart(self):
        """
        GetViewStart() -> (x, y)
        
        Get the position at which the visible portion of the window starts.
        """

    def IsRetained(self):
        """
        IsRetained() -> bool
        
        Motif only: true if the window has a backing bitmap.
        """

    def OnDraw(self, dc):
        """
        OnDraw(dc)
        
        Called by the default paint event handler to allow the application to
        define painting behaviour without having to worry about calling
        DoPrepareDC().
        """

    def PrepareDC(self, dc):
        """
        PrepareDC(dc)
        
        This function is for backwards compatibility only and simply calls
        DoPrepareDC() now.
        """

    def Scroll(self, *args, **kw):
        """
        Scroll(x, y)
        Scroll(pt)
        
        Scrolls a window so the view start is at the given point.
        """

    def SetScrollRate(self, xstep, ystep):
        """
        SetScrollRate(xstep, ystep)
        
        Set the horizontal and vertical scrolling increment only.
        """

    def SetScrollbars(self, pixelsPerUnitX, pixelsPerUnitY, noUnitsX, noUnitsY, xPos=0, yPos=0, noRefresh=False):
        """
        SetScrollbars(pixelsPerUnitX, pixelsPerUnitY, noUnitsX, noUnitsY, xPos=0, yPos=0, noRefresh=False)
        
        Sets up vertical and/or horizontal scrollbars.
        """

    def SetTargetWindow(self, window):
        """
        SetTargetWindow(window)
        
        Call this function to tell wxScrolled to perform the actual scrolling
        on a different window (and not on itself).
        """

    def GetTargetWindow(self):
        """
        GetTargetWindow() -> Window
        """

    def SetTargetRect(self, rect):
        """
        SetTargetRect(rect)
        """

    def GetTargetRect(self):
        """
        GetTargetRect() -> Rect
        """

    def GetScrollPageSize(self, orient):
        """
        GetScrollPageSize(orient) -> int
        """

    def SetScrollPageSize(self, orient, pageSize):
        """
        SetScrollPageSize(orient, pageSize)
        """

    def GetScrollLines(self, orient):
        """
        GetScrollLines(orient) -> int
        """

    def SetScale(self, xs, ys):
        """
        SetScale(xs, ys)
        """

    def GetScaleX(self):
        """
        GetScaleX() -> double
        """

    def GetScaleY(self):
        """
        GetScaleY() -> double
        """

    def AdjustScrollbars(self):
        """
        AdjustScrollbars()
        """

    def IsAutoScrolling(self):
        """
        IsAutoScrolling() -> bool
        
        Are we generating the autoscroll events?
        """

    def StopAutoScrolling(self):
        """
        StopAutoScrolling()
        
        Stop generating the scroll events when mouse is held outside the
        window.
        """

    def SendAutoScrollEvents(self, event):
        """
        SendAutoScrollEvents(event) -> bool
        
        This method can be overridden in a derived class to forbid sending the
        auto scroll events - note that unlike StopAutoScrolling() it doesn't
        stop the timer, so it will be called repeatedly and will typically
        return different values depending on the current mouse position.
        """
    CaptionBackgroundColour = property(None, None)
    CaptionFont = property(None, None)
    CaptionForegroundColour = property(None, None)
    CellBackgroundColour = property(None, None)
    CellDisabledTextColour = property(None, None)
    CellTextColour = property(None, None)
    ColumnCount = property(None, None)
    EditorTextCtrl = property(None, None)
    EmptySpaceColour = property(None, None)
    FontHeight = property(None, None)
    Grid = property(None, None)
    ImageSize = property(None, None)
    LabelEditor = property(None, None)
    LastItem = property(None, None)
    LineColour = property(None, None)
    MarginColour = property(None, None)
    MarginWidth = property(None, None)
    Panel = property(None, None)
    Root = property(None, None)
    RowHeight = property(None, None)
    ScaleX = property(None, None)
    ScaleY = property(None, None)
    SelectedProperty = property(None, None)
    Selection = property(None, None)
    SelectionBackgroundColour = property(None, None)
    SelectionForegroundColour = property(None, None)
    SplitterPosition = property(None, None)
    StatusBar = property(None, None)
    TargetRect = property(None, None)
    TargetWindow = property(None, None)
    UncommittedPropertyValue = property(None, None)
    UnspecifiedValueAppearance = property(None, None)
    UnspecifiedValueText = property(None, None)
    VerticalSpacing = property(None, None)

    def ShouldScrollToChildOnFocus(self, child):
        """
        ShouldScrollToChildOnFocus(child) -> bool
        
        This method can be overridden in a derived class to prevent scrolling
        the child window into view automatically when it gets focus.
        """

    def GetSizeAvailableForScrollTarget(self, size):
        """
        GetSizeAvailableForScrollTarget(size) -> Size
        
        Function which must be overridden to implement the size available for
        the scroll target for the given size of the main window.
        """
# end of class PropertyGrid


class PropertyGridEvent(wx.CommandEvent):
    """
    PropertyGridEvent(commandType=0, id=0)
    PropertyGridEvent(event)
    
    A property grid event holds information about events associated with
    wxPropertyGrid objects.
    """

    def __init__(self, *args, **kw):
        """
        PropertyGridEvent(commandType=0, id=0)
        PropertyGridEvent(event)
        
        A property grid event holds information about events associated with
        wxPropertyGrid objects.
        """

    def CanVeto(self):
        """
        CanVeto() -> bool
        
        Returns true if you can veto the action that the event is signaling.
        """

    def GetColumn(self):
        """
        GetColumn() -> unsignedint
        
        Returns the column index associated with this event.
        """

    def GetMainParent(self):
        """
        GetMainParent() -> PGProperty
        
        Returns highest level non-category, non-root parent of property for
        which event occurred.
        """

    def GetProperty(self):
        """
        GetProperty() -> PGProperty
        
        Returns property associated with this event.
        """

    def GetValidationFailureBehavior(self):
        """
        GetValidationFailureBehavior() -> byte
        
        Returns current validation failure flags.
        """

    def GetPropertyName(self):
        """
        GetPropertyName() -> String
        
        Returns name of the associated property.
        """

    def GetPropertyValue(self):
        """
        GetPropertyValue() -> PGVariant
        
        Returns value of the associated property.
        """

    def GetValue(self):
        """
        GetValue() -> PGVariant
        
        Returns value of the associated property.
        """

    def SetCanVeto(self, canVeto):
        """
        SetCanVeto(canVeto)
        
        Set if event can be vetoed.
        """

    def SetProperty(self, p):
        """
        SetProperty(p)
        
        Changes the property associated with this event.
        """

    def SetValidationFailureBehavior(self, flags):
        """
        SetValidationFailureBehavior(flags)
        
        Set override validation failure behaviour.
        """

    def SetValidationFailureMessage(self, message):
        """
        SetValidationFailureMessage(message)
        
        Sets custom failure message for this time only.
        """

    def Veto(self, veto=True):
        """
        Veto(veto=True)
        
        Call this from your event handler to veto action that the event is
        signaling.
        """

    def WasVetoed(self):
        """
        WasVetoed() -> bool
        
        Returns true if event was vetoed.
        """
    Column = property(None, None)
    MainParent = property(None, None)
    Property = property(None, None)
    PropertyName = property(None, None)
    PropertyValue = property(None, None)
    ValidationFailureBehavior = property(None, None)
    Value = property(None, None)
# end of class PropertyGridEvent


class PropertyGridPopulator(object):
    """
    PropertyGridPopulator()
    
    Allows populating wxPropertyGrid from arbitrary text source.
    """

    def __init__(self):
        """
        PropertyGridPopulator()
        
        Allows populating wxPropertyGrid from arbitrary text source.
        """

    def SetState(self, state):
        """
        SetState(state)
        """

    def SetGrid(self, pg):
        """
        SetGrid(pg)
        """

    def Add(self, propClass, propLabel, propName, propValue, pChoices=None):
        """
        Add(propClass, propLabel, propName, propValue, pChoices=None) -> PGProperty
        
        Appends a new property under bottommost parent.
        """

    def AddChildren(self, property):
        """
        AddChildren(property)
        
        Pushes property to the back of parent array (ie it becomes bottommost
        parent), and starts scanning/adding children for it.
        """

    def AddAttribute(self, name, type, value):
        """
        AddAttribute(name, type, value) -> bool
        
        Adds attribute to the bottommost property.
        """

    def DoScanForChildren(self):
        """
        DoScanForChildren()
        
        Called once in AddChildren.
        """

    def GetCurParent(self):
        """
        GetCurParent() -> PGProperty
        
        Returns id of parent property for which children can currently be
        added.
        """

    def GetState(self):
        """
        GetState() -> PropertyGridPageState
        """

    def ParseChoices(self, choicesString, idString):
        """
        ParseChoices(choicesString, idString) -> PGChoices
        
        Parses strings of format "choice1"[=value1] ...
        """

    def ProcessError(self, msg):
        """
        ProcessError(msg)
        
        Implement in derived class to do custom process when an error occurs.
        """

    @staticmethod
    def ToLongPCT(s, pval, max):
        """
        ToLongPCT(s, pval, max) -> bool
        
        Like wxString::ToLong, except allows N% in addition of N.
        """
    CurParent = property(None, None)
    State = property(None, None)
# end of class PropertyGridPopulator


EVT_PG_CHANGED = wx.PyEventBinder( wxEVT_PG_CHANGED, 1 )
EVT_PG_CHANGING = wx.PyEventBinder( wxEVT_PG_CHANGING, 1 )
EVT_PG_SELECTED = wx.PyEventBinder( wxEVT_PG_SELECTED, 1 )
EVT_PG_HIGHLIGHTED = wx.PyEventBinder( wxEVT_PG_HIGHLIGHTED, 1 )
EVT_PG_RIGHT_CLICK = wx.PyEventBinder( wxEVT_PG_RIGHT_CLICK, 1 )
EVT_PG_PAGE_CHANGED = wx.PyEventBinder( wxEVT_PG_PAGE_CHANGED, 1 )
EVT_PG_ITEM_COLLAPSED = wx.PyEventBinder( wxEVT_PG_ITEM_COLLAPSED, 1 )
EVT_PG_ITEM_EXPANDED = wx.PyEventBinder( wxEVT_PG_ITEM_EXPANDED, 1 )
EVT_PG_DOUBLE_CLICK = wx.PyEventBinder( wxEVT_PG_DOUBLE_CLICK, 1 )
EVT_PG_LABEL_EDIT_BEGIN = wx.PyEventBinder( wxEVT_PG_LABEL_EDIT_BEGIN, 1 )
EVT_PG_LABEL_EDIT_ENDING = wx.PyEventBinder( wxEVT_PG_LABEL_EDIT_ENDING, 1 )
EVT_PG_COL_BEGIN_DRAG = wx.PyEventBinder( wxEVT_PG_COL_BEGIN_DRAG, 1 )
EVT_PG_COL_DRAGGING = wx.PyEventBinder( wxEVT_PG_COL_DRAGGING, 1 )
EVT_PG_COL_END_DRAG = wx.PyEventBinder( wxEVT_PG_COL_END_DRAG, 1 )
#-- end-propgrid --#
#-- begin-propgridprops --#
PG_PROP_PASSWORD = 0
PG_PROP_STATIC_CHOICES = 0
PG_PROP_SHOW_FULL_FILENAME = 0
PG_PROP_ACTIVE_BTN = 0
PG_PROP_USE_CHECKBOX = 0
PG_PROP_USE_DCC = 0
AEDIALOG_STYLE = 0
PG_PROPERTY_VALIDATION_ERROR_MESSAGE = 0
PG_PROPERTY_VALIDATION_SATURATE = 0
PG_PROPERTY_VALIDATION_WRAP = 0

class PGInDialogValidator(object):
    """
    PGInDialogValidator()
    
    Creates and manages a temporary wxTextCtrl for validation purposes.
    """

    def __init__(self):
        """
        PGInDialogValidator()
        
        Creates and manages a temporary wxTextCtrl for validation purposes.
        """

    def DoValidate(self, propGrid, validator, value):
        """
        DoValidate(propGrid, validator, value) -> bool
        """
# end of class PGInDialogValidator


class StringProperty(PGProperty):
    """
    StringProperty(label=PG_LABEL, name=PG_LABEL, value=wx.EmptyString)
    
    Basic property with string value.
    """

    def __init__(self, label=PG_LABEL, name=PG_LABEL, value=wx.EmptyString):
        """
        StringProperty(label=PG_LABEL, name=PG_LABEL, value=wx.EmptyString)
        
        Basic property with string value.
        """

    def ValueToString(self, value, argFlags=0):
        """
        ValueToString(value, argFlags=0) -> String
        
        Converts property value into a text representation.
        """

    def StringToValue(self, text, argFlags=0):
        """
        StringToValue(text, argFlags=0) -> (bool, variant)
        
        Converts text into wxVariant value appropriate for this property.
        """

    def DoSetAttribute(self, name, value):
        """
        DoSetAttribute(name, value) -> bool
        
        Reimplement this member function to add special handling for
        attributes of this property.
        """

    def OnSetValue(self):
        """
        OnSetValue()
        
        This is updated so "<composed>" special value can be handled.
        """
# end of class StringProperty


class NumericProperty(PGProperty):
    """
    NumericProperty(label, name)
    
    This is an abstract class which serves as a base class for numeric
    properties, like wxIntProperty, wxUIntProperty, wxFloatProperty.
    """

    def DoSetAttribute(self, name, value):
        """
        DoSetAttribute(name, value) -> bool
        
        Reimplement this member function to add special handling for
        attributes of this property.
        """

    def AddSpinStepValue(self, stepScale):
        """
        AddSpinStepValue(stepScale) -> PGVariant
        
        Returns what would be the new value of the property after adding
        SpinCtrl editor step to the current value.
        """

    def UseSpinMotion(self):
        """
        UseSpinMotion() -> bool
        
        Return true if value can be changed with SpinCtrl editor by moving the
        mouse.
        """

    def wxNumericProperty(self, label, name):
        """
        """
# end of class NumericProperty


class NumericPropertyValidator(wx.Validator):
    """
    NumericPropertyValidator(numericType, base=10)
    
    A more comprehensive numeric validator class.
    """
    Signed = 0
    Unsigned = 0
    Float = 0

    def __init__(self, numericType, base=10):
        """
        NumericPropertyValidator(numericType, base=10)
        
        A more comprehensive numeric validator class.
        """

    def Validate(self, parent):
        """
        Validate(parent) -> bool
        
        Validates the window contents against the include or exclude lists,
        depending on the validator style.
        """
# end of class NumericPropertyValidator


class IntProperty(NumericProperty):
    """
    IntProperty(label=PG_LABEL, name=PG_LABEL, value=0)
    IntProperty(label, name, value)
    
    Basic property with integer value.
    """

    def __init__(self, *args, **kw):
        """
        IntProperty(label=PG_LABEL, name=PG_LABEL, value=0)
        IntProperty(label, name, value)
        
        Basic property with integer value.
        """

    def ValueToString(self, value, argFlags=0):
        """
        ValueToString(value, argFlags=0) -> String
        
        Converts property value into a text representation.
        """

    def StringToValue(self, text, argFlags=0):
        """
        StringToValue(text, argFlags=0) -> (bool, variant)
        
        Converts text into wxVariant value appropriate for this property.
        """

    def ValidateValue(self, value, validationInfo):
        """
        ValidateValue(value, validationInfo) -> bool
        
        Implement this function in derived class to check the value.
        """

    def IntToValue(self, number, argFlags=0):
        """
        IntToValue(number, argFlags=0) -> (bool, variant)
        
        Converts integer (possibly a choice selection) into wxVariant value
        appropriate for this property.
        """

    def DoGetValidator(self):
        """
        DoGetValidator() -> wx.Validator
        
        Returns pointer to the wxValidator that should be used with the editor
        of this property (NULL for no validator).
        """

    def AddSpinStepValue(self, stepScale):
        """
        AddSpinStepValue(stepScale) -> PGVariant
        
        Returns what would be the new value of the property after adding
        SpinCtrl editor step to the current value.
        """

    @staticmethod
    def GetClassValidator():
        """
        GetClassValidator() -> wx.Validator
        """
# end of class IntProperty


class UIntProperty(NumericProperty):
    """
    UIntProperty(label=PG_LABEL, name=PG_LABEL, value=0)
    UIntProperty(label, name, value)
    
    Basic property with unsigned integer value.
    """

    def __init__(self, *args, **kw):
        """
        UIntProperty(label=PG_LABEL, name=PG_LABEL, value=0)
        UIntProperty(label, name, value)
        
        Basic property with unsigned integer value.
        """

    def ValueToString(self, value, argFlags=0):
        """
        ValueToString(value, argFlags=0) -> String
        
        Converts property value into a text representation.
        """

    def StringToValue(self, text, argFlags=0):
        """
        StringToValue(text, argFlags=0) -> (bool, variant)
        
        Converts text into wxVariant value appropriate for this property.
        """

    def DoSetAttribute(self, name, value):
        """
        DoSetAttribute(name, value) -> bool
        
        Reimplement this member function to add special handling for
        attributes of this property.
        """

    def ValidateValue(self, value, validationInfo):
        """
        ValidateValue(value, validationInfo) -> bool
        
        Implement this function in derived class to check the value.
        """

    def DoGetValidator(self):
        """
        DoGetValidator() -> wx.Validator
        
        Returns pointer to the wxValidator that should be used with the editor
        of this property (NULL for no validator).
        """

    def IntToValue(self, number, argFlags=0):
        """
        IntToValue(number, argFlags=0) -> (bool, variant)
        
        Converts integer (possibly a choice selection) into wxVariant value
        appropriate for this property.
        """

    def AddSpinStepValue(self, stepScale):
        """
        AddSpinStepValue(stepScale) -> PGVariant
        
        Returns what would be the new value of the property after adding
        SpinCtrl editor step to the current value.
        """
# end of class UIntProperty


class FloatProperty(NumericProperty):
    """
    FloatProperty(label=PG_LABEL, name=PG_LABEL, value=0.0)
    
    Basic property with double-precision floating point value.
    """

    def __init__(self, label=PG_LABEL, name=PG_LABEL, value=0.0):
        """
        FloatProperty(label=PG_LABEL, name=PG_LABEL, value=0.0)
        
        Basic property with double-precision floating point value.
        """

    def ValueToString(self, value, argFlags=0):
        """
        ValueToString(value, argFlags=0) -> String
        
        Converts property value into a text representation.
        """

    def StringToValue(self, text, argFlags=0):
        """
        StringToValue(text, argFlags=0) -> (bool, variant)
        
        Converts text into wxVariant value appropriate for this property.
        """

    def DoSetAttribute(self, name, value):
        """
        DoSetAttribute(name, value) -> bool
        
        Reimplement this member function to add special handling for
        attributes of this property.
        """

    def ValidateValue(self, value, validationInfo):
        """
        ValidateValue(value, validationInfo) -> bool
        
        Implement this function in derived class to check the value.
        """

    def DoGetValidator(self):
        """
        DoGetValidator() -> wx.Validator
        
        Returns pointer to the wxValidator that should be used with the editor
        of this property (NULL for no validator).
        """

    def AddSpinStepValue(self, stepScale):
        """
        AddSpinStepValue(stepScale) -> PGVariant
        
        Returns what would be the new value of the property after adding
        SpinCtrl editor step to the current value.
        """

    @staticmethod
    def GetClassValidator():
        """
        GetClassValidator() -> wx.Validator
        """
# end of class FloatProperty


class BoolProperty(PGProperty):
    """
    BoolProperty(label=PG_LABEL, name=PG_LABEL, value=False)
    
    Basic property with boolean value.
    """

    def __init__(self, label=PG_LABEL, name=PG_LABEL, value=False):
        """
        BoolProperty(label=PG_LABEL, name=PG_LABEL, value=False)
        
        Basic property with boolean value.
        """

    def ValueToString(self, value, argFlags=0):
        """
        ValueToString(value, argFlags=0) -> String
        
        Converts property value into a text representation.
        """

    def StringToValue(self, text, argFlags=0):
        """
        StringToValue(text, argFlags=0) -> (bool, variant)
        
        Converts text into wxVariant value appropriate for this property.
        """

    def IntToValue(self, number, argFlags=0):
        """
        IntToValue(number, argFlags=0) -> (bool, variant)
        
        Converts integer (possibly a choice selection) into wxVariant value
        appropriate for this property.
        """

    def DoSetAttribute(self, name, value):
        """
        DoSetAttribute(name, value) -> bool
        
        Reimplement this member function to add special handling for
        attributes of this property.
        """
# end of class BoolProperty


class EnumProperty(PGProperty):
    """
    EnumProperty(label, name, choices, value=0)
    EnumProperty(label=PG_LABEL, name=PG_LABEL, labels=[], values=[], value=0)
    
    You can derive custom properties with choices from this class.
    """

    def __init__(self, *args, **kw):
        """
        EnumProperty(label, name, choices, value=0)
        EnumProperty(label=PG_LABEL, name=PG_LABEL, labels=[], values=[], value=0)
        
        You can derive custom properties with choices from this class.
        """

    def GetItemCount(self):
        """
        GetItemCount() -> size_t
        """

    def OnSetValue(self):
        """
        OnSetValue()
        
        This virtual function is called after m_value has been set.
        """

    def ValueToString(self, value, argFlags=0):
        """
        ValueToString(value, argFlags=0) -> String
        
        Converts property value into a text representation.
        """

    def StringToValue(self, text, argFlags=0):
        """
        StringToValue(text, argFlags=0) -> (bool, variant)
        
        Converts text into wxVariant value appropriate for this property.
        """

    def ValidateValue(self, value, validationInfo):
        """
        ValidateValue(value, validationInfo) -> bool
        
        Implement this function in derived class to check the value.
        """

    def IntToValue(self, number, argFlags=0):
        """
        IntToValue(number, argFlags=0) -> (bool, variant)
        
        Converts integer (possibly a choice selection) into wxVariant value
        appropriate for this property.
        """

    def GetIndexForValue(self, value):
        """
        GetIndexForValue(value) -> int
        """

    def GetChoiceSelection(self):
        """
        GetChoiceSelection() -> int
        
        Returns which choice is currently selected.
        """
    ChoiceSelection = property(None, None)
    ItemCount = property(None, None)
# end of class EnumProperty


class EditEnumProperty(EnumProperty):
    """
    EditEnumProperty(label=PG_LABEL, name=PG_LABEL, labels=[], values=[], value=wx.EmptyString)
    EditEnumProperty(label, name, choices, value=wx.EmptyString)
    
    wxEnumProperty with wxString value and writable combo box editor.
    """

    def __init__(self, *args, **kw):
        """
        EditEnumProperty(label=PG_LABEL, name=PG_LABEL, labels=[], values=[], value=wx.EmptyString)
        EditEnumProperty(label, name, choices, value=wx.EmptyString)
        
        wxEnumProperty with wxString value and writable combo box editor.
        """
# end of class EditEnumProperty


class FlagsProperty(PGProperty):
    """
    FlagsProperty(label, name, choices, value=0)
    FlagsProperty(label=PG_LABEL, name=PG_LABEL, labels=[], values=[], value=0)
    
    Represents a bit set that fits in a long integer.
    """

    def __init__(self, *args, **kw):
        """
        FlagsProperty(label, name, choices, value=0)
        FlagsProperty(label=PG_LABEL, name=PG_LABEL, labels=[], values=[], value=0)
        
        Represents a bit set that fits in a long integer.
        """

    def OnSetValue(self):
        """
        OnSetValue()
        
        This virtual function is called after m_value has been set.
        """

    def ValueToString(self, value, argFlags=0):
        """
        ValueToString(value, argFlags=0) -> String
        
        Converts property value into a text representation.
        """

    def StringToValue(self, text, argFlags):
        """
        StringToValue(text, argFlags) -> (bool, variant)
        
        Converts text into wxVariant value appropriate for this property.
        """

    def ChildChanged(self, thisValue, childIndex, childValue):
        """
        ChildChanged(thisValue, childIndex, childValue) -> PGVariant
        
        Called after value of a child property has been altered.
        """

    def RefreshChildren(self):
        """
        RefreshChildren()
        
        Refresh values of child properties.
        """

    def DoSetAttribute(self, name, value):
        """
        DoSetAttribute(name, value) -> bool
        
        Reimplement this member function to add special handling for
        attributes of this property.
        """

    def GetChoiceSelection(self):
        """
        GetChoiceSelection() -> int
        
        Returns which choice is currently selected.
        """

    def GetItemCount(self):
        """
        GetItemCount() -> size_t
        """

    def GetLabel(self, ind):
        """
        GetLabel(ind) -> String
        """
    ChoiceSelection = property(None, None)
    ItemCount = property(None, None)
# end of class FlagsProperty


class EditorDialogProperty(PGProperty):
    """
    EditorDialogProperty(label, name)
    
    This is an abstract class which serves as a base class for the
    properties having a button triggering an editor dialog, like e.g.
    """

    def GetEditorDialog(self):
        """
        GetEditorDialog() -> PGEditorDialogAdapter
        
        Returns instance of a new wxPGEditorDialogAdapter instance, which is
        used when user presses the (optional) button next to the editor
        control;.
        """

    def DoSetAttribute(self, name, value):
        """
        DoSetAttribute(name, value) -> bool
        
        Reimplement this member function to add special handling for
        attributes of this property.
        """
    EditorDialog = property(None, None)

    def wxEditorDialogProperty(self, label, name):
        """
        """

    def DisplayEditorDialog(self, pg, value):
        """
        DisplayEditorDialog(pg, value) -> bool
        
        Shows editor dialog.
        """
# end of class EditorDialogProperty


class FileProperty(EditorDialogProperty):
    """
    FileProperty(label=PG_LABEL, name=PG_LABEL, value=wx.EmptyString)
    
    Like wxLongStringProperty, but the button triggers file selector
    instead.
    """

    def __init__(self, label=PG_LABEL, name=PG_LABEL, value=wx.EmptyString):
        """
        FileProperty(label=PG_LABEL, name=PG_LABEL, value=wx.EmptyString)
        
        Like wxLongStringProperty, but the button triggers file selector
        instead.
        """

    def OnSetValue(self):
        """
        OnSetValue()
        
        This virtual function is called after m_value has been set.
        """

    def ValueToString(self, value, argFlags=0):
        """
        ValueToString(value, argFlags=0) -> String
        
        Converts property value into a text representation.
        """

    def StringToValue(self, text, argFlags=0):
        """
        StringToValue(text, argFlags=0) -> (bool, variant)
        
        Converts text into wxVariant value appropriate for this property.
        """

    def DoSetAttribute(self, name, value):
        """
        DoSetAttribute(name, value) -> bool
        
        Reimplement this member function to add special handling for
        attributes of this property.
        """

    def DoGetValidator(self):
        """
        DoGetValidator() -> wx.Validator
        
        Returns pointer to the wxValidator that should be used with the editor
        of this property (NULL for no validator).
        """

    def GetFileName(self):
        """
        GetFileName() -> FileName
        
        Returns filename to file represented by current value.
        """

    @staticmethod
    def GetClassValidator():
        """
        GetClassValidator() -> wx.Validator
        """
    FileName = property(None, None)

    def DisplayEditorDialog(self, pg, value):
        """
        DisplayEditorDialog(pg, value) -> (bool, value)
        
        Shows editor dialog.
        """
# end of class FileProperty


class LongStringProperty(EditorDialogProperty):
    """
    LongStringProperty(label=PG_LABEL, name=PG_LABEL, value=wx.EmptyString)
    
    Like wxStringProperty, but has a button that triggers a small text
    editor dialog.
    """

    def __init__(self, label=PG_LABEL, name=PG_LABEL, value=wx.EmptyString):
        """
        LongStringProperty(label=PG_LABEL, name=PG_LABEL, value=wx.EmptyString)
        
        Like wxStringProperty, but has a button that triggers a small text
        editor dialog.
        """

    def ValueToString(self, value, argFlags=0):
        """
        ValueToString(value, argFlags=0) -> String
        
        Converts property value into a text representation.
        """

    def StringToValue(self, text, argFlags=0):
        """
        StringToValue(text, argFlags=0) -> (bool, variant)
        
        Converts text into wxVariant value appropriate for this property.
        """

    def DisplayEditorDialog(self, pg, value):
        """
        DisplayEditorDialog(pg, value) -> (bool, value)
        
        Shows editor dialog.
        """
# end of class LongStringProperty


class DirProperty(EditorDialogProperty):
    """
    DirProperty(label=PG_LABEL, name=PG_LABEL, value=wx.EmptyString)
    
    Like wxLongStringProperty, but the button triggers directory selector
    instead.
    """

    def __init__(self, label=PG_LABEL, name=PG_LABEL, value=wx.EmptyString):
        """
        DirProperty(label=PG_LABEL, name=PG_LABEL, value=wx.EmptyString)
        
        Like wxLongStringProperty, but the button triggers directory selector
        instead.
        """

    def ValueToString(self, value, argFlags=0):
        """
        ValueToString(value, argFlags=0) -> String
        
        Converts property value into a text representation.
        """

    def StringToValue(self, text, argFlags=0):
        """
        StringToValue(text, argFlags=0) -> (bool, variant)
        
        Converts text into wxVariant value appropriate for this property.
        """

    def DoGetValidator(self):
        """
        DoGetValidator() -> wx.Validator
        
        Returns pointer to the wxValidator that should be used with the editor
        of this property (NULL for no validator).
        """

    def DisplayEditorDialog(self, pg, value):
        """
        DisplayEditorDialog(pg, value) -> (bool, value)
        
        Shows editor dialog.
        """
# end of class DirProperty


class ArrayStringProperty(EditorDialogProperty):
    """
    ArrayStringProperty(label=PG_LABEL, name=PG_LABEL, value=[])
    
    Property that manages a list of strings.
    """
    Escape = 0
    QuoteStrings = 0

    def __init__(self, label=PG_LABEL, name=PG_LABEL, value=[]):
        """
        ArrayStringProperty(label=PG_LABEL, name=PG_LABEL, value=[])
        
        Property that manages a list of strings.
        """

    def OnSetValue(self):
        """
        OnSetValue()
        
        This virtual function is called after m_value has been set.
        """

    def ValueToString(self, value, argFlags=0):
        """
        ValueToString(value, argFlags=0) -> String
        
        Converts property value into a text representation.
        """

    def StringToValue(self, text, argFlags=0):
        """
        StringToValue(text, argFlags=0) -> (bool, variant)
        
        Converts text into wxVariant value appropriate for this property.
        """

    def DoSetAttribute(self, name, value):
        """
        DoSetAttribute(name, value) -> bool
        
        Reimplement this member function to add special handling for
        attributes of this property.
        """

    def ConvertArrayToString(self, arr, delimiter):
        """
        ConvertArrayToString(arr, delimiter) -> String
        
        Implement in derived class for custom array-to-string conversion.
        """

    def OnCustomStringEdit(self, parent, value):
        """
        OnCustomStringEdit(parent, value) -> bool
        
        Shows string editor dialog to edit the individual item.
        """

    def CreateEditorDialog(self):
        """
        CreateEditorDialog() -> PGArrayEditorDialog
        
        Creates wxPGArrayEditorDialog for string editing.
        """

    @staticmethod
    def ArrayStringToString(src, delimiter, flags):
        """
        ArrayStringToString(src, delimiter, flags) -> String
        
        Generates string based on the contents of wxArrayString src.
        """

    def DisplayEditorDialog(self, pg, value):
        """
        DisplayEditorDialog(pg, value) -> (bool, value)
        
        Shows editor dialog.
        """

    def GenerateValueAsString(self):
        """
        GenerateValueAsString()
        
        Previously this was to be implemented in derived class for array-to-
        string conversion.
        """
# end of class ArrayStringProperty


class PGArrayEditorDialog(wx.Dialog):
    """
    PGArrayEditorDialog()
    """

    def __init__(self):
        """
        PGArrayEditorDialog()
        """

    def Init(self):
        """
        Init()
        """

    def Create(self, parent, message, caption, style=AEDIALOG_STYLE, pos=wx.DefaultPosition, sz=wx.DefaultSize):
        """
        Create(parent, message, caption, style=AEDIALOG_STYLE, pos=wx.DefaultPosition, sz=wx.DefaultSize) -> bool
        """

    def EnableCustomNewAction(self):
        """
        EnableCustomNewAction()
        """

    def SetNewButtonText(self, text):
        """
        SetNewButtonText(text)
        
        Sets tooltip text for button allowing the user to enter new string.
        """

    def SetDialogValue(self, value):
        """
        SetDialogValue(value)
        
        Set value modified by dialog.
        """

    def GetDialogValue(self):
        """
        GetDialogValue() -> PGVariant
        
        Return value modified by dialog.
        """

    def GetTextCtrlValidator(self):
        """
        GetTextCtrlValidator() -> wx.Validator
        
        Override to return wxValidator to be used with the wxTextCtrl in
        dialog.
        """

    def IsModified(self):
        """
        IsModified() -> bool
        
        Returns true if array was actually modified.
        """

    def GetSelection(self):
        """
        GetSelection() -> int
        """

    @staticmethod
    def GetClassDefaultAttributes(variant=wx.WINDOW_VARIANT_NORMAL):
        """
        GetClassDefaultAttributes(variant=wx.WINDOW_VARIANT_NORMAL) -> wx.VisualAttributes
        """
    DialogValue = property(None, None)
    Selection = property(None, None)
    TextCtrlValidator = property(None, None)

    def ArrayGet(self, index):
        """
        ArrayGet(index) -> String
        """

    def ArrayGetCount(self):
        """
        ArrayGetCount() -> size_t
        """

    def ArrayInsert(self, str, index):
        """
        ArrayInsert(str, index) -> bool
        """

    def ArraySet(self, index, str):
        """
        ArraySet(index, str) -> bool
        """

    def ArrayRemoveAt(self, index):
        """
        ArrayRemoveAt(index)
        """

    def ArraySwap(self, first, second):
        """
        ArraySwap(first, second)
        """

    def OnCustomNewAction(self, resString):
        """
        OnCustomNewAction(resString) -> bool
        """
# end of class PGArrayEditorDialog


class PGArrayStringEditorDialog(PGArrayEditorDialog):
    """
    PGArrayStringEditorDialog()
    """

    def __init__(self):
        """
        PGArrayStringEditorDialog()
        """

    def Init(self):
        """
        Init()
        """

    def SetDialogValue(self, value):
        """
        SetDialogValue(value)
        
        Set value modified by dialog.
        """

    def GetDialogValue(self):
        """
        GetDialogValue() -> PGVariant
        
        Return value modified by dialog.
        """

    def SetCustomButton(self, custBtText, pcc):
        """
        SetCustomButton(custBtText, pcc)
        """

    def OnCustomNewAction(self, resString):
        """
        OnCustomNewAction(resString) -> bool
        """

    @staticmethod
    def GetClassDefaultAttributes(variant=wx.WINDOW_VARIANT_NORMAL):
        """
        GetClassDefaultAttributes(variant=wx.WINDOW_VARIANT_NORMAL) -> wx.VisualAttributes
        """
    DialogValue = property(None, None)

    def ArrayGet(self, index):
        """
        ArrayGet(index) -> String
        """

    def ArrayGetCount(self):
        """
        ArrayGetCount() -> size_t
        """

    def ArrayInsert(self, str, index):
        """
        ArrayInsert(str, index) -> bool
        """

    def ArraySet(self, index, str):
        """
        ArraySet(index, str) -> bool
        """

    def ArrayRemoveAt(self, index):
        """
        ArrayRemoveAt(index)
        """

    def ArraySwap(self, first, second):
        """
        ArraySwap(first, second)
        """
# end of class PGArrayStringEditorDialog

#-- end-propgridprops --#
#-- begin-propgridadvprops --#
PG_COLOUR_WEB_BASE = 0
PG_COLOUR_CUSTOM = 0
PG_COLOUR_UNSPECIFIED = 0
PG_PROP_TRANSLATE_CUSTOM = 0

class ColourPropertyValue(wx.Object):
    """
    ColourPropertyValue()
    ColourPropertyValue(v)
    ColourPropertyValue(colour)
    ColourPropertyValue(type)
    ColourPropertyValue(type, colour)
    
    Because text, background and other colours tend to differ between
    platforms, wxSystemColourProperty must be able to select between
    system colour and, when necessary, to pick a custom one.
    """

    def __init__(self, *args, **kw):
        """
        ColourPropertyValue()
        ColourPropertyValue(v)
        ColourPropertyValue(colour)
        ColourPropertyValue(type)
        ColourPropertyValue(type, colour)
        
        Because text, background and other colours tend to differ between
        platforms, wxSystemColourProperty must be able to select between
        system colour and, when necessary, to pick a custom one.
        """
    m_type = property(None, None)
    m_colour = property(None, None)

    def Init(self, type, colour):
        """
        Init(type, colour)
        """
# end of class ColourPropertyValue


class FontProperty(EditorDialogProperty):
    """
    FontProperty(label=PG_LABEL, name=PG_LABEL, value=wx.Font())
    
    Property representing wxFont.
    """

    def __init__(self, label=PG_LABEL, name=PG_LABEL, value=wx.Font()):
        """
        FontProperty(label=PG_LABEL, name=PG_LABEL, value=wx.Font())
        
        Property representing wxFont.
        """

    def OnSetValue(self):
        """
        OnSetValue()
        
        This virtual function is called after m_value has been set.
        """

    def ValueToString(self, value, argFlags=0):
        """
        ValueToString(value, argFlags=0) -> String
        
        Converts property value into a text representation.
        """

    def ChildChanged(self, thisValue, childIndex, childValue):
        """
        ChildChanged(thisValue, childIndex, childValue) -> PGVariant
        
        Called after value of a child property has been altered.
        """

    def RefreshChildren(self):
        """
        RefreshChildren()
        
        Refresh values of child properties.
        """

    def DisplayEditorDialog(self, pg, value):
        """
        DisplayEditorDialog(pg, value) -> (bool, value)
        
        Shows editor dialog.
        """
# end of class FontProperty


class SystemColourProperty(EnumProperty):
    """
    SystemColourProperty(label=PG_LABEL, name=PG_LABEL, value=ColourPropertyValue())
    
    Has dropdown list of wxWidgets system colours.
    """

    def __init__(self, label=PG_LABEL, name=PG_LABEL, value=ColourPropertyValue()):
        """
        SystemColourProperty(label=PG_LABEL, name=PG_LABEL, value=ColourPropertyValue())
        
        Has dropdown list of wxWidgets system colours.
        """

    def OnSetValue(self):
        """
        OnSetValue()
        
        This virtual function is called after m_value has been set.
        """

    def IntToValue(self, number, argFlags=0):
        """
        IntToValue(number, argFlags=0) -> (bool, variant)
        
        Converts integer (possibly a choice selection) into wxVariant value
        appropriate for this property.
        """

    def ColourToString(self, col, index, argFlags=0):
        """
        ColourToString(col, index, argFlags=0) -> String
        
        Override in derived class to customize how colours are printed as
        strings.
        """

    def GetCustomColourIndex(self):
        """
        GetCustomColourIndex() -> int
        
        Returns index of entry that triggers colour picker dialog (default is
        last).
        """

    def ValueToString(self, value, argFlags=0):
        """
        ValueToString(value, argFlags=0) -> String
        
        Converts property value into a text representation.
        """

    def StringToValue(self, text, argFlags=0):
        """
        StringToValue(text, argFlags=0) -> (bool, variant)
        
        Converts text into wxVariant value appropriate for this property.
        """

    def OnEvent(self, propgrid, wnd_primary, event):
        """
        OnEvent(propgrid, wnd_primary, event) -> bool
        
        Events received by editor widgets are processed here.
        """

    def DoSetAttribute(self, name, value):
        """
        DoSetAttribute(name, value) -> bool
        
        Reimplement this member function to add special handling for
        attributes of this property.
        """

    def OnMeasureImage(self, item):
        """
        OnMeasureImage(item) -> wx.Size
        
        Returns size of the custom painted image in front of property.
        """

    def OnCustomPaint(self, dc, rect, paintdata):
        """
        OnCustomPaint(dc, rect, paintdata)
        
        Override to paint an image in front of the property value text or
        drop-down list item (but only if wxPGProperty::OnMeasureImage is
        overridden as well).
        """

    def QueryColourFromUser(self, variant):
        """
        QueryColourFromUser(variant) -> bool
        """

    def GetColour(self, index):
        """
        GetColour(index) -> wx.Colour
        
        Default is to use wxSystemSettings::GetColour(index).
        """

    def GetVal(self, pVariant=None):
        """
        GetVal(pVariant=None) -> ColourPropertyValue
        """
    CustomColourIndex = property(None, None)
    Val = property(None, None)
# end of class SystemColourProperty


class ColourProperty(SystemColourProperty):
    """
    ColourProperty(label=PG_LABEL, name=PG_LABEL, value=wx.WHITE)
    
    Allows to select a colour from the list or with colour dialog.
    """

    def __init__(self, label=PG_LABEL, name=PG_LABEL, value=wx.WHITE):
        """
        ColourProperty(label=PG_LABEL, name=PG_LABEL, value=wx.WHITE)
        
        Allows to select a colour from the list or with colour dialog.
        """

    def ValueToString(self, value, argFlags=0):
        """
        ValueToString(value, argFlags=0) -> String
        
        Converts property value into a text representation.
        """

    def GetColour(self, index):
        """
        GetColour(index) -> wx.Colour
        
        Default is to use wxSystemSettings::GetColour(index).
        """
# end of class ColourProperty


class CursorProperty(EnumProperty):
    """
    CursorProperty(label=PG_LABEL, name=PG_LABEL, value=0)
    
    Property representing wxCursor.
    """

    def __init__(self, label=PG_LABEL, name=PG_LABEL, value=0):
        """
        CursorProperty(label=PG_LABEL, name=PG_LABEL, value=0)
        
        Property representing wxCursor.
        """

    def OnMeasureImage(self, item):
        """
        OnMeasureImage(item) -> wx.Size
        
        Returns size of the custom painted image in front of property.
        """

    def OnCustomPaint(self, dc, rect, paintdata):
        """
        OnCustomPaint(dc, rect, paintdata)
        
        Override to paint an image in front of the property value text or
        drop-down list item (but only if wxPGProperty::OnMeasureImage is
        overridden as well).
        """
# end of class CursorProperty


class ImageFileProperty(FileProperty):
    """
    ImageFileProperty(label=PG_LABEL, name=PG_LABEL, value=wx.EmptyString)
    
    Property representing image file(name).
    """

    def __init__(self, label=PG_LABEL, name=PG_LABEL, value=wx.EmptyString):
        """
        ImageFileProperty(label=PG_LABEL, name=PG_LABEL, value=wx.EmptyString)
        
        Property representing image file(name).
        """

    def OnSetValue(self):
        """
        OnSetValue()
        
        This virtual function is called after m_value has been set.
        """

    def OnMeasureImage(self, item):
        """
        OnMeasureImage(item) -> wx.Size
        
        Returns size of the custom painted image in front of property.
        """

    def OnCustomPaint(self, dc, rect, paintdata):
        """
        OnCustomPaint(dc, rect, paintdata)
        
        Override to paint an image in front of the property value text or
        drop-down list item (but only if wxPGProperty::OnMeasureImage is
        overridden as well).
        """
# end of class ImageFileProperty


class MultiChoiceProperty(EditorDialogProperty):
    """
    MultiChoiceProperty(label, name=PG_LABEL, choices=[], value=[])
    MultiChoiceProperty(label, name, choices, value=[])
    MultiChoiceProperty(label=PG_LABEL, name=PG_LABEL, value=[])
    
    Property that manages a value resulting from wxMultiChoiceDialog.
    """

    def __init__(self, *args, **kw):
        """
        MultiChoiceProperty(label, name=PG_LABEL, choices=[], value=[])
        MultiChoiceProperty(label, name, choices, value=[])
        MultiChoiceProperty(label=PG_LABEL, name=PG_LABEL, value=[])
        
        Property that manages a value resulting from wxMultiChoiceDialog.
        """

    def OnSetValue(self):
        """
        OnSetValue()
        
        This virtual function is called after m_value has been set.
        """

    def ValueToString(self, value, argFlags=0):
        """
        ValueToString(value, argFlags=0) -> String
        
        Converts property value into a text representation.
        """

    def StringToValue(self, text, argFlags=0):
        """
        StringToValue(text, argFlags=0) -> (bool, variant)
        
        Converts text into wxVariant value appropriate for this property.
        """

    def GetValueAsArrayInt(self):
        """
        GetValueAsArrayInt() -> ArrayInt
        """
    ValueAsArrayInt = property(None, None)

    def DisplayEditorDialog(self, pg, value):
        """
        DisplayEditorDialog(pg, value) -> (bool, value)
        
        Shows editor dialog.
        """
# end of class MultiChoiceProperty


class DateProperty(PGProperty):
    """
    DateProperty(label=PG_LABEL, name=PG_LABEL, value=wx.DateTime())
    
    Property representing wxDateTime.
    """

    def __init__(self, label=PG_LABEL, name=PG_LABEL, value=wx.DateTime()):
        """
        DateProperty(label=PG_LABEL, name=PG_LABEL, value=wx.DateTime())
        
        Property representing wxDateTime.
        """

    def OnSetValue(self):
        """
        OnSetValue()
        
        This virtual function is called after m_value has been set.
        """

    def ValueToString(self, value, argFlags=0):
        """
        ValueToString(value, argFlags=0) -> String
        
        Converts property value into a text representation.
        """

    def StringToValue(self, text, argFlags=0):
        """
        StringToValue(text, argFlags=0) -> (bool, variant)
        
        Converts text into wxVariant value appropriate for this property.
        """

    def DoSetAttribute(self, name, value):
        """
        DoSetAttribute(name, value) -> bool
        
        Reimplement this member function to add special handling for
        attributes of this property.
        """

    def SetFormat(self, format):
        """
        SetFormat(format)
        """

    def GetFormat(self):
        """
        GetFormat() -> String
        """

    def SetDateValue(self, dt):
        """
        SetDateValue(dt)
        """

    def GetDateValue(self):
        """
        GetDateValue() -> wx.DateTime
        """

    def GetDatePickerStyle(self):
        """
        GetDatePickerStyle() -> long
        """
    DatePickerStyle = property(None, None)
    DateValue = property(None, None)
    Format = property(None, None)
# end of class DateProperty


class PGSpinCtrlEditor(PGTextCtrlEditor):
    """
    
    """

    def GetName(self):
        """
        GetName() -> String
        
        Returns pointer to the name of the editor.
        """

    def CreateControls(self, propgrid, property, pos, size):
        """
        CreateControls(propgrid, property, pos, size) -> PGWindowList
        
        Instantiates editor controls.
        """

    def OnEvent(self, propgrid, property, wnd_primary, event):
        """
        OnEvent(propgrid, property, wnd_primary, event) -> bool
        
        Handles events.
        """
    Name = property(None, None)
# end of class PGSpinCtrlEditor


def PGGetDefaultImageWildcard():
    """
    PGGetDefaultImageWildcard() -> String
    """
PGEditor_SpinCtrl = PGEditor()
PGEditor_DatePickerCtrl = PGEditor()

PyArrayStringProperty = wx.deprecated(ArrayStringProperty, "Use ArrayStringProperty instead.")
PyChoiceEditor = wx.deprecated(PGChoiceEditor, "Use PGChoiceEditor instead.")
PyColourProperty = wx.deprecated(ColourProperty, "Use ColourProperty instead.")
PyComboBoxEditor = wx.deprecated(PGComboBoxEditor, "Use PGComboBoxEditor instead.")
PyEditEnumProperty = wx.deprecated(EditEnumProperty, "Use PGEditEnumProperty instead.")
PyEditor = wx.deprecated(PGEditor, "Use PGEditor instead.")
PyEditorDialogAdapter = wx.deprecated(PGEditorDialogAdapter, "Use PGEditorDialogAdapter instead.")
PyEnumProperty = wx.deprecated(EnumProperty, "Use EnumProperty instead.")
PyFileProperty = wx.deprecated(FileProperty, "Use FileProperty instead.")
PyFlagsProperty = wx.deprecated(FlagsProperty, "Use FlagsProperty instead.")
PyFloatProperty = wx.deprecated(FloatProperty, "Use FloatProperty instead.")
PyFontProperty = wx.deprecated(FontProperty, "Use FontProperty instead.")
PyIntProperty = wx.deprecated(IntProperty, "Use IntProperty instead.")
PyLongStringProperty = wx.deprecated(LongStringProperty, "Use LongStringProperty instead.")
PyProperty = wx.deprecated(PGProperty, "Use PGProperty instead.")
PyStringProperty = wx.deprecated(StringProperty, "Use StringProperty instead.")
PySystemColourProperty = wx.deprecated(SystemColourProperty, "Use SystemColourProperty instead.")
PyTextCtrlEditor = wx.deprecated(PGTextCtrlEditor, "Use PGTextCtrlEditor instead.")
PyUIntProperty = wx.deprecated(UIntProperty, "Use UIntProperty instead.")

@wx.deprecated
def RegisterEditor(editor, editorName):
    pass
#-- end-propgridadvprops --#
#-- begin-propgridmanager --#
PropertyGridManagerNameStr = ""

class PropertyGridPage(wx.EvtHandler, PropertyGridInterface, PropertyGridPageState):
    """
    PropertyGridPage()
    
    Holder of property grid page information.
    """

    def __init__(self):
        """
        PropertyGridPage()
        
        Holder of property grid page information.
        """

    def Clear(self):
        """
        Clear()
        
        Deletes all properties on page.
        """

    def FitColumns(self):
        """
        FitColumns() -> wx.Size
        
        Reduces column sizes to minimum possible that contents are still
        visibly (naturally some margin space will be applied as well).
        """

    def GetIndex(self):
        """
        GetIndex() -> int
        
        Returns page index in manager;.
        """

    def GetRoot(self):
        """
        GetRoot() -> PGProperty
        
        Returns "root property".
        """

    def GetSplitterPosition(self, col=0):
        """
        GetSplitterPosition(col=0) -> int
        
        Returns x-coordinate position of splitter on a page.
        """

    def GetStatePtr(self):
        """
        GetStatePtr() -> PropertyGridPageState
        
        Returns pointer to contained property grid state.
        """

    def GetToolId(self):
        """
        GetToolId() -> int
        
        Returns id of the tool bar item that represents this page on
        wxPropertyGridManager's wxToolBar.
        """

    def Init(self):
        """
        Init()
        
        Do any member initialization in this method.
        """

    def IsHandlingAllEvents(self):
        """
        IsHandlingAllEvents() -> bool
        
        Return false here to indicate unhandled events should be propagated to
        manager's parent, as normal.
        """

    def OnShow(self):
        """
        OnShow()
        
        Called every time page is about to be shown.
        """

    def RefreshProperty(self, p):
        """
        RefreshProperty(p)
        
        Refreshes given property on page.
        """

    def SetSplitterPosition(self, splitterPos, col=0):
        """
        SetSplitterPosition(splitterPos, col=0)
        
        Sets splitter position on page.
        """
    Index = property(None, None)
    Root = property(None, None)
    SplitterPosition = property(None, None)
    StatePtr = property(None, None)
    ToolId = property(None, None)
# end of class PropertyGridPage


class PropertyGridManager(wx.Panel, PropertyGridInterface):
    """
    PropertyGridManager()
    PropertyGridManager(parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=PGMAN_DEFAULT_STYLE, name=PropertyGridManagerNameStr)
    
    wxPropertyGridManager is an efficient multi-page version of
    wxPropertyGrid, which can optionally have toolbar for mode and page
    selection, a help text box, and a header.
    """

    def __init__(self, *args, **kw):
        """
        PropertyGridManager()
        PropertyGridManager(parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=PGMAN_DEFAULT_STYLE, name=PropertyGridManagerNameStr)
        
        wxPropertyGridManager is an efficient multi-page version of
        wxPropertyGrid, which can optionally have toolbar for mode and page
        selection, a help text box, and a header.
        """

    def AddPage(self, label=wx.EmptyString, bmp=wx.BitmapBundle(), pageObj=None):
        """
        AddPage(label=wx.EmptyString, bmp=wx.BitmapBundle(), pageObj=None) -> PropertyGridPage
        
        Creates new property page.
        """

    def Clear(self):
        """
        Clear()
        
        Deletes all properties and all pages.
        """

    def ClearPage(self, page):
        """
        ClearPage(page)
        
        Deletes all properties on given page.
        """

    def CommitChangesFromEditor(self, flags=0):
        """
        CommitChangesFromEditor(flags=0) -> bool
        
        Forces updating the value of property from the editor control.
        """

    def Create(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=PGMAN_DEFAULT_STYLE, name=PropertyGridManagerNameStr):
        """
        Create(parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=PGMAN_DEFAULT_STYLE, name=PropertyGridManagerNameStr) -> bool
        
        Two step creation.
        """

    def EnableCategories(self, enable):
        """
        EnableCategories(enable) -> bool
        
        Enables or disables (shows/hides) categories according to parameter
        enable.
        """

    def EnsureVisible(self, id):
        """
        EnsureVisible(id) -> bool
        
        Selects page, scrolls and/or expands items to ensure that the given
        item is visible.
        """

    def GetColumnCount(self, page=-1):
        """
        GetColumnCount(page=-1) -> int
        
        Returns number of columns on given page.
        """

    def GetDescBoxHeight(self):
        """
        GetDescBoxHeight() -> int
        
        Returns height of the description text box.
        """

    def GetGrid(self):
        """
        GetGrid() -> PropertyGrid
        
        Returns pointer to the contained wxPropertyGrid.
        """

    def GetVIterator(self, flags):
        """
        GetVIterator(flags) -> PGVIterator
        
        Similar to GetIterator(), but instead returns wxPGVIterator instance,
        which can be useful for forward-iterating through arbitrary property
        containers.
        """

    def GetCurrentPage(self):
        """
        GetCurrentPage() -> PropertyGridPage
        
        Returns currently selected page.
        """

    def GetPage(self, *args, **kw):
        """
        GetPage(ind) -> PropertyGridPage
        GetPage(name) -> PropertyGridPage
        
        Returns page object for given page index.
        """

    def GetPageByName(self, name):
        """
        GetPageByName(name) -> int
        
        Returns index for a page name.
        """

    def GetPageByState(self, pstate):
        """
        GetPageByState(pstate) -> int
        
        Returns index for a relevant propertygrid state.
        """

    def GetPageCount(self):
        """
        GetPageCount() -> size_t
        
        Returns number of managed pages.
        """

    def GetPageName(self, index):
        """
        GetPageName(index) -> String
        
        Returns name of given page.
        """

    def GetPageRoot(self, index):
        """
        GetPageRoot(index) -> PGProperty
        
        Returns "root property" of the given page.
        """

    def GetSelectedPage(self):
        """
        GetSelectedPage() -> int
        
        Returns index to currently selected page.
        """

    def GetSelectedProperty(self):
        """
        GetSelectedProperty() -> PGProperty
        
        Alias for GetSelection().
        """

    def GetSelection(self):
        """
        GetSelection() -> PGProperty
        
        Shortcut for GetGrid()->GetSelection().
        """

    def GetToolBar(self):
        """
        GetToolBar() -> wx.ToolBar
        
        Returns a pointer to the toolbar currently associated with the
        wxPropertyGridManager (if any).
        """

    def InsertPage(self, index, label, bmp=wx.BitmapBundle(), pageObj=None):
        """
        InsertPage(index, label, bmp=wx.BitmapBundle(), pageObj=None) -> PropertyGridPage
        
        Creates new property page.
        """

    def IsAnyModified(self):
        """
        IsAnyModified() -> bool
        
        Returns true if any property on any page has been modified by the
        user.
        """

    def IsPageModified(self, index):
        """
        IsPageModified(index) -> bool
        
        Returns true if any property on given page has been modified by the
        user.
        """

    def IsPropertySelected(self, id):
        """
        IsPropertySelected(id) -> bool
        
        Returns true if property is selected.
        """

    def RemovePage(self, page):
        """
        RemovePage(page) -> bool
        
        Removes a page.
        """

    def SelectPage(self, *args, **kw):
        """
        SelectPage(index)
        SelectPage(label)
        SelectPage(page)
        
        Select and displays a given page.
        """

    def SelectProperty(self, id, focus=False):
        """
        SelectProperty(id, focus=False) -> bool
        
        Select a property.
        """

    def SetColumnCount(self, colCount, page=-1):
        """
        SetColumnCount(colCount, page=-1)
        
        Sets number of columns on given page (default is current page).
        """

    def SetColumnTitle(self, idx, title):
        """
        SetColumnTitle(idx, title)
        
        Sets a column title.
        """

    def SetDescription(self, label, content):
        """
        SetDescription(label, content)
        
        Sets label and text in description box.
        """

    def SetDescBoxHeight(self, ht, refresh=True):
        """
        SetDescBoxHeight(ht, refresh=True)
        
        Sets y coordinate of the description box splitter.
        """

    def SetSplitterLeft(self, subProps=False, allPages=True):
        """
        SetSplitterLeft(subProps=False, allPages=True)
        
        Moves splitter as left as possible, while still allowing all labels to
        be shown in full.
        """

    def SetPageSplitterLeft(self, page, subProps=False):
        """
        SetPageSplitterLeft(page, subProps=False)
        
        Moves splitter as left as possible on an individual page, while still
        allowing all labels to be shown in full.
        """

    def SetPageSplitterPosition(self, page, pos, column=0):
        """
        SetPageSplitterPosition(page, pos, column=0)
        
        Sets splitter position on individual page.
        """

    def SetSplitterPosition(self, pos, column=0):
        """
        SetSplitterPosition(pos, column=0)
        
        Sets splitter position for all pages.
        """

    def ShowHeader(self, show=True):
        """
        ShowHeader(show=True)
        
        Show or hide the property grid header control.
        """

    @staticmethod
    def GetClassDefaultAttributes(variant=wx.WINDOW_VARIANT_NORMAL):
        """
        GetClassDefaultAttributes(variant=wx.WINDOW_VARIANT_NORMAL) -> wx.VisualAttributes
        """

    _PropertyGridManager__init__orig = __init__
    def _PropertyGridManager__init__(self, *args, **kw):
        _PropertyGridManager__init__orig(self, *args, **kw)
        self.DoDefaultTypeMappings()
        self.edited_objects = {}
        self.DoDefaultValueTypeMappings()
        if not hasattr(self.__class__, '_vt2setter'):
            self.__class__._vt2setter = {}
    __init__ = _PropertyGridManager__init__
    ColumnCount = property(None, None)
    CurrentPage = property(None, None)
    DescBoxHeight = property(None, None)
    Grid = property(None, None)
    PageCount = property(None, None)
    SelectedPage = property(None, None)
    SelectedProperty = property(None, None)
    Selection = property(None, None)
    ToolBar = property(None, None)

    def CreatePropertyGrid(self):
        """
        CreatePropertyGrid() -> PropertyGrid
        
        Creates property grid for the manager.
        """
# end of class PropertyGridManager

#-- end-propgridmanager --#
