X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/18ef9f51b5a0dcc7723debec6fe877443bb738ed..9269629e9edf24ce170f225d408a5472ab6864ac:/wxPython/src/gtk/_controls.py diff --git a/wxPython/src/gtk/_controls.py b/wxPython/src/gtk/_controls.py index aaf4a7c9aa..342578f079 100644 --- a/wxPython/src/gtk/_controls.py +++ b/wxPython/src/gtk/_controls.py @@ -1,4 +1,4 @@ -# This file was created automatically by SWIG. +# This file was created automatically by SWIG 1.3.27. # Don't modify this file, modify the SWIG interface instead. import _controls_ @@ -481,7 +481,7 @@ class Choice(_core.ControlWithItems): def __init__(self, *args, **kwargs): """ __init__(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, - List choices=[], long style=0, Validator validator=DefaultValidator, + List choices=EmptyList, long style=0, Validator validator=DefaultValidator, String name=ChoiceNameStr) -> Choice Create and show a Choice control @@ -495,38 +495,26 @@ class Choice(_core.ControlWithItems): def Create(*args, **kwargs): """ Create(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, - List choices=[], long style=0, Validator validator=DefaultValidator, + List choices=EmptyList, long style=0, Validator validator=DefaultValidator, String name=ChoiceNameStr) -> bool Actually create the GUI Choice control for 2-phase creation """ return _controls_.Choice_Create(*args, **kwargs) - def SetSelection(*args, **kwargs): - """ - SetSelection(self, int n) - - Select the n'th item (zero based) in the list. - """ - return _controls_.Choice_SetSelection(*args, **kwargs) - - def SetStringSelection(*args, **kwargs): - """ - SetStringSelection(self, String string) -> bool - - Select the item with the specifed string + def GetCurrentSelection(*args, **kwargs): """ - return _controls_.Choice_SetStringSelection(*args, **kwargs) - - def SetString(*args, **kwargs): - """ - SetString(self, int n, String string) + GetCurrentSelection(self) -> int - Set the label for the n'th item (zero based) in the list. + Unlike `GetSelection` which only returns the accepted selection value, + i.e. the selection in the control once the user closes the dropdown + list, this function returns the current selection. That is, while the + dropdown list is shown, it returns the currently selected item in + it. When it is not shown, its result is the same as for the other + function. """ - return _controls_.Choice_SetString(*args, **kwargs) + return _controls_.Choice_GetCurrentSelection(*args, **kwargs) - Select = SetSelection def GetClassDefaultAttributes(*args, **kwargs): """ GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes @@ -598,7 +586,7 @@ class ComboBox(_core.Control,_core.ItemContainer): """ __init__(Window parent, int id, String value=EmptyString, Point pos=DefaultPosition, Size size=DefaultSize, - List choices=[], long style=0, Validator validator=DefaultValidator, + List choices=EmptyList, long style=0, Validator validator=DefaultValidator, String name=ComboBoxNameStr) -> ComboBox Constructor, creates and shows a ComboBox control. @@ -613,7 +601,7 @@ class ComboBox(_core.Control,_core.ItemContainer): """ Create(Window parent, int id, String value=EmptyString, Point pos=DefaultPosition, Size size=DefaultSize, - List choices=[], long style=0, Validator validator=DefaultValidator, + List choices=EmptyList, long style=0, Validator validator=DefaultValidator, String name=ChoiceNameStr) -> bool Actually create the GUI wxComboBox control for 2-phase creation @@ -705,6 +693,28 @@ class ComboBox(_core.Control,_core.ItemContainer): """ return _controls_.ComboBox_SetMark(*args, **kwargs) + def GetMark(*args, **kwargs): + """ + GetMark(self) -> (from, to) + + Gets the positions of the begining and ending of the selection mark in + the combobox text field. + """ + return _controls_.ComboBox_GetMark(*args, **kwargs) + + def GetCurrentSelection(*args, **kwargs): + """ + GetCurrentSelection(self) -> int + + Unlike `GetSelection` which only returns the accepted selection value, + i.e. the selection in the control once the user closes the dropdown + list, this function returns the current selection. That is, while the + dropdown list is shown, it returns the currently selected item in + it. When it is not shown, its result is the same as for the other + function. + """ + return _controls_.ComboBox_GetCurrentSelection(*args, **kwargs) + def SetStringSelection(*args, **kwargs): """ SetStringSelection(self, String string) -> bool @@ -1183,6 +1193,17 @@ class StaticText(_core.Control): """ return _controls_.StaticText_Create(*args, **kwargs) + def Wrap(*args, **kwargs): + """ + Wrap(self, int width) + + This functions wraps the control's label so that each of its lines + becomes at most ``width`` pixels wide if possible (the lines are + broken at words boundaries so it might not be the case if words are + too long). If ``width`` is negative, no wrapping is done. + """ + return _controls_.StaticText_Wrap(*args, **kwargs) + def GetClassDefaultAttributes(*args, **kwargs): """ GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes @@ -1376,7 +1397,8 @@ class ListBox(_core.ControlWithItems): """ Select(self, int n) - Sets the item at index 'n' to be the selected item. + This is the same as `SetSelection` and exists only because it is + slightly more natural for controls which support multiple selection. """ return _controls_.ListBox_Select(*args, **kwargs) @@ -1565,9 +1587,12 @@ TE_PASSWORD = _controls_.TE_PASSWORD TE_AUTO_URL = _controls_.TE_AUTO_URL TE_NOHIDESEL = _controls_.TE_NOHIDESEL TE_DONTWRAP = _controls_.TE_DONTWRAP -TE_LINEWRAP = _controls_.TE_LINEWRAP +TE_CHARWRAP = _controls_.TE_CHARWRAP TE_WORDWRAP = _controls_.TE_WORDWRAP +TE_BESTWRAP = _controls_.TE_BESTWRAP +TE_LINEWRAP = _controls_.TE_LINEWRAP TE_RICH2 = _controls_.TE_RICH2 +TE_CAPITALIZE = _controls_.TE_CAPITALIZE TEXT_ALIGNMENT_DEFAULT = _controls_.TEXT_ALIGNMENT_DEFAULT TEXT_ALIGNMENT_LEFT = _controls_.TEXT_ALIGNMENT_LEFT TEXT_ALIGNMENT_CENTRE = _controls_.TEXT_ALIGNMENT_CENTRE @@ -2129,8 +2154,6 @@ class ScrollBar(_core.Control): """ SetScrollbar(self, int position, int thumbSize, int range, int pageSize, bool refresh=True) - - Sets the scrollbar properties of a built-in scrollbar. """ return _controls_.ScrollBar_SetScrollbar(*args, **kwargs) @@ -2659,6 +2682,7 @@ def RadioButton_GetClassDefaultAttributes(*args, **kwargs): SL_HORIZONTAL = _controls_.SL_HORIZONTAL SL_VERTICAL = _controls_.SL_VERTICAL +SL_TICKS = _controls_.SL_TICKS SL_AUTOTICKS = _controls_.SL_AUTOTICKS SL_LABELS = _controls_.SL_LABELS SL_LEFT = _controls_.SL_LEFT @@ -3076,7 +3100,12 @@ class BookCtrlBaseEvent(_core.NotifyEvent): self.thisown = 1 del newobj.thisown def GetSelection(*args, **kwargs): - """GetSelection(self) -> int""" + """ + GetSelection(self) -> int + + Returns item index for a listbox or choice selection event (not valid + for a deselection). + """ return _controls_.BookCtrlBaseEvent_GetSelection(*args, **kwargs) def SetSelection(*args, **kwargs): @@ -3245,7 +3274,7 @@ class NotebookPage(wx.Panel): """ There is an old (and apparently unsolvable) bug when placing a window with a nonstandard background colour in a wx.Notebook on - wxGTK, as the notbooks's background colour would always be used + wxGTK1, as the notbooks's background colour would always be used when the window is refreshed. The solution is to place a panel in the notbook and the coloured window on the panel, sized to cover the panel. This simple class does that for you, just put an @@ -3379,6 +3408,10 @@ class Choicebook(BookCtrlBase): """IsVertical(self) -> bool""" return _controls_.Choicebook_IsVertical(*args, **kwargs) + def GetChoiceCtrl(*args, **kwargs): + """GetChoiceCtrl(self) -> Choice""" + return _controls_.Choicebook_GetChoiceCtrl(*args, **kwargs) + def DeleteAllPages(*args, **kwargs): """DeleteAllPages(self) -> bool""" return _controls_.Choicebook_DeleteAllPages(*args, **kwargs) @@ -3425,96 +3458,6 @@ EVT_CHOICEBOOK_PAGE_CHANGING = wx.PyEventBinder( wxEVT_COMMAND_CHOICEBOOK_PAGE_C #--------------------------------------------------------------------------- -class BookCtrlSizer(_core.Sizer): - """Proxy of C++ BookCtrlSizer class""" - def __repr__(self): - return "<%s.%s; proxy of C++ wxBookCtrlSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,) - def __init__(self, *args, **kwargs): - """__init__(self, BookCtrlBase nb) -> BookCtrlSizer""" - newobj = _controls_.new_BookCtrlSizer(*args, **kwargs) - self.this = newobj.this - self.thisown = 1 - del newobj.thisown - self._setOORInfo(self) - - def RecalcSizes(*args, **kwargs): - """ - RecalcSizes(self) - - Using the sizes calculated by `CalcMin` reposition and resize all the - items managed by this sizer. You should not need to call this directly as - it is called by `Layout`. - """ - return _controls_.BookCtrlSizer_RecalcSizes(*args, **kwargs) - - def CalcMin(*args, **kwargs): - """ - CalcMin(self) -> Size - - This method is where the sizer will do the actual calculation of its - children's minimal sizes. You should not need to call this directly as - it is called by `Layout`. - """ - return _controls_.BookCtrlSizer_CalcMin(*args, **kwargs) - - def GetControl(*args, **kwargs): - """GetControl(self) -> BookCtrlBase""" - return _controls_.BookCtrlSizer_GetControl(*args, **kwargs) - - -class BookCtrlSizerPtr(BookCtrlSizer): - def __init__(self, this): - self.this = this - if not hasattr(self,"thisown"): self.thisown = 0 - self.__class__ = BookCtrlSizer -_controls_.BookCtrlSizer_swigregister(BookCtrlSizerPtr) - -class NotebookSizer(_core.Sizer): - """Proxy of C++ NotebookSizer class""" - def __repr__(self): - return "<%s.%s; proxy of C++ wxNotebookSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,) - def __init__(self, *args, **kwargs): - """__init__(self, Notebook nb) -> NotebookSizer""" - newobj = _controls_.new_NotebookSizer(*args, **kwargs) - self.this = newobj.this - self.thisown = 1 - del newobj.thisown - self._setOORInfo(self) - - def RecalcSizes(*args, **kwargs): - """ - RecalcSizes(self) - - Using the sizes calculated by `CalcMin` reposition and resize all the - items managed by this sizer. You should not need to call this directly as - it is called by `Layout`. - """ - return _controls_.NotebookSizer_RecalcSizes(*args, **kwargs) - - def CalcMin(*args, **kwargs): - """ - CalcMin(self) -> Size - - This method is where the sizer will do the actual calculation of its - children's minimal sizes. You should not need to call this directly as - it is called by `Layout`. - """ - return _controls_.NotebookSizer_CalcMin(*args, **kwargs) - - def GetNotebook(*args, **kwargs): - """GetNotebook(self) -> Notebook""" - return _controls_.NotebookSizer_GetNotebook(*args, **kwargs) - - -class NotebookSizerPtr(NotebookSizer): - def __init__(self, this): - self.this = this - if not hasattr(self,"thisown"): self.thisown = 0 - self.__class__ = NotebookSizer -_controls_.NotebookSizer_swigregister(NotebookSizerPtr) - -NotebookSizer.__init__ = wx._deprecated(NotebookSizer.__init__, "NotebookSizer is no longer needed.") -BookCtrlSizer.__init__ = wx._deprecated(BookCtrlSizer.__init__, "BookCtrlSizer is no longer needed.") #--------------------------------------------------------------------------- TOOL_STYLE_BUTTON = _controls_.TOOL_STYLE_BUTTON @@ -4455,16 +4398,16 @@ wxEVT_COMMAND_LIST_COL_BEGIN_DRAG = _controls_.wxEVT_COMMAND_LIST_COL_BEGIN_DRAG wxEVT_COMMAND_LIST_COL_DRAGGING = _controls_.wxEVT_COMMAND_LIST_COL_DRAGGING wxEVT_COMMAND_LIST_COL_END_DRAG = _controls_.wxEVT_COMMAND_LIST_COL_END_DRAG wxEVT_COMMAND_LIST_ITEM_FOCUSED = _controls_.wxEVT_COMMAND_LIST_ITEM_FOCUSED -wxEVT_COMMAND_LIST_GET_INFO = _controls_.wxEVT_COMMAND_LIST_GET_INFO -wxEVT_COMMAND_LIST_SET_INFO = _controls_.wxEVT_COMMAND_LIST_SET_INFO EVT_LIST_BEGIN_DRAG = wx.PyEventBinder(wxEVT_COMMAND_LIST_BEGIN_DRAG , 1) EVT_LIST_BEGIN_RDRAG = wx.PyEventBinder(wxEVT_COMMAND_LIST_BEGIN_RDRAG , 1) EVT_LIST_BEGIN_LABEL_EDIT = wx.PyEventBinder(wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT , 1) EVT_LIST_END_LABEL_EDIT = wx.PyEventBinder(wxEVT_COMMAND_LIST_END_LABEL_EDIT , 1) EVT_LIST_DELETE_ITEM = wx.PyEventBinder(wxEVT_COMMAND_LIST_DELETE_ITEM , 1) EVT_LIST_DELETE_ALL_ITEMS = wx.PyEventBinder(wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS , 1) -EVT_LIST_GET_INFO = wx.PyEventBinder(wxEVT_COMMAND_LIST_GET_INFO , 1) -EVT_LIST_SET_INFO = wx.PyEventBinder(wxEVT_COMMAND_LIST_SET_INFO , 1) + + + + EVT_LIST_ITEM_SELECTED = wx.PyEventBinder(wxEVT_COMMAND_LIST_ITEM_SELECTED , 1) EVT_LIST_ITEM_DESELECTED = wx.PyEventBinder(wxEVT_COMMAND_LIST_ITEM_DESELECTED , 1) EVT_LIST_KEY_DOWN = wx.PyEventBinder(wxEVT_COMMAND_LIST_KEY_DOWN , 1) @@ -4480,8 +4423,9 @@ EVT_LIST_COL_DRAGGING = wx.PyEventBinder(wxEVT_COMMAND_LIST_COL_DRAGGING EVT_LIST_COL_END_DRAG = wx.PyEventBinder(wxEVT_COMMAND_LIST_COL_END_DRAG , 1) EVT_LIST_ITEM_FOCUSED = wx.PyEventBinder(wxEVT_COMMAND_LIST_ITEM_FOCUSED , 1) -EVT_LIST_GET_INFO = wx._deprecated(EVT_LIST_GET_INFO) -EVT_LIST_SET_INFO = wx._deprecated(EVT_LIST_SET_INFO) + + + #--------------------------------------------------------------------------- @@ -4755,7 +4699,7 @@ class ListCtrl(_core.Control): HitTest(Point point) -> (item, where) Determines which item (if any) is at the specified point, giving - in the second return value (see wxLIST_HITTEST_... flags.) + in the second return value (see wx.LIST_HITTEST flags.) """ return _controls_.ListCtrl_HitTest(*args, **kwargs) @@ -4764,7 +4708,7 @@ class ListCtrl(_core.Control): return _controls_.ListCtrl_InsertItem(*args, **kwargs) def InsertStringItem(*args, **kwargs): - """InsertStringItem(self, long index, String label) -> long""" + """InsertStringItem(self, long index, String label, int imageIndex=-1) -> long""" return _controls_.ListCtrl_InsertStringItem(*args, **kwargs) def InsertImageItem(*args, **kwargs): @@ -4775,10 +4719,11 @@ class ListCtrl(_core.Control): """InsertImageStringItem(self, long index, String label, int imageIndex) -> long""" return _controls_.ListCtrl_InsertImageStringItem(*args, **kwargs) - def InsertColumnInfo(*args, **kwargs): - """InsertColumnInfo(self, long col, ListItem info) -> long""" - return _controls_.ListCtrl_InsertColumnInfo(*args, **kwargs) + def InsertColumnItem(*args, **kwargs): + """InsertColumnItem(self, long col, ListItem info) -> long""" + return _controls_.ListCtrl_InsertColumnItem(*args, **kwargs) + InsertColumnInfo = InsertColumnItem def InsertColumn(*args, **kwargs): """ InsertColumn(self, long col, String heading, int format=LIST_FORMAT_LEFT, @@ -4810,6 +4755,14 @@ class ListCtrl(_core.Control): """GetItemBackgroundColour(self, long item) -> Colour""" return _controls_.ListCtrl_GetItemBackgroundColour(*args, **kwargs) + def SetItemFont(*args, **kwargs): + """SetItemFont(self, long item, Font f)""" + return _controls_.ListCtrl_SetItemFont(*args, **kwargs) + + def GetItemFont(*args, **kwargs): + """GetItemFont(self, long item) -> Font""" + return _controls_.ListCtrl_GetItemFont(*args, **kwargs) + # # Some helpers... def Select(self, idx, on=1): @@ -4837,7 +4790,7 @@ class ListCtrl(_core.Control): def IsSelected(self, idx): '''return True if the item is selected''' - return self.GetItemState(idx, wx.LIST_STATE_SELECTED) != 0 + return (self.GetItemState(idx, wx.LIST_STATE_SELECTED) & wx.LIST_STATE_SELECTED) != 0 def SetColumnImage(self, col, image): item = self.GetColumn(col) @@ -5160,7 +5113,7 @@ EVT_TREE_ITEM_MIDDLE_CLICK = wx.PyEventBinder(wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLI EVT_TREE_END_DRAG = wx.PyEventBinder(wxEVT_COMMAND_TREE_END_DRAG , 1) EVT_TREE_STATE_IMAGE_CLICK = wx.PyEventBinder(wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK, 1) EVT_TREE_ITEM_GETTOOLTIP = wx.PyEventBinder(wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP, 1) -EVT_COMMAND_TREE_ITEM_MENU = wx.PyEventBinder(wxEVT_COMMAND_TREE_ITEM_MENU, 1) +EVT_TREE_ITEM_MENU = wx.PyEventBinder(wxEVT_COMMAND_TREE_ITEM_MENU, 1) class TreeEvent(_core.NotifyEvent): """Proxy of C++ TreeEvent class""" @@ -5228,6 +5181,10 @@ class TreeEvent(_core.NotifyEvent): """SetToolTip(self, String toolTip)""" return _controls_.TreeEvent_SetToolTip(*args, **kwargs) + def GetToolTip(*args, **kwargs): + """GetToolTip(self) -> String""" + return _controls_.TreeEvent_GetToolTip(*args, **kwargs) + class TreeEventPtr(TreeEvent): def __init__(self, this): @@ -5816,6 +5773,10 @@ class PyControl(_core.Control): """SetBestSize(self, Size size)""" return _controls_.PyControl_SetBestSize(*args, **kwargs) + def DoEraseBackground(*args, **kwargs): + """DoEraseBackground(self, DC dc) -> bool""" + return _controls_.PyControl_DoEraseBackground(*args, **kwargs) + def base_DoMoveWindow(*args, **kwargs): """base_DoMoveWindow(self, int x, int y, int width, int height)""" return _controls_.PyControl_base_DoMoveWindow(*args, **kwargs) @@ -5892,14 +5853,14 @@ class PyControl(_core.Control): """base_ShouldInheritColours(self) -> bool""" return _controls_.PyControl_base_ShouldInheritColours(*args, **kwargs) - def base_ApplyParentThemeBackground(*args, **kwargs): - """base_ApplyParentThemeBackground(self, Colour c)""" - return _controls_.PyControl_base_ApplyParentThemeBackground(*args, **kwargs) - def base_GetDefaultAttributes(*args, **kwargs): """base_GetDefaultAttributes(self) -> VisualAttributes""" return _controls_.PyControl_base_GetDefaultAttributes(*args, **kwargs) + def base_OnInternalIdle(*args, **kwargs): + """base_OnInternalIdle(self)""" + return _controls_.PyControl_base_OnInternalIdle(*args, **kwargs) + class PyControlPtr(PyControl): def __init__(self, this): @@ -6359,4 +6320,125 @@ def DragListItem(*args, **kwargs): val.thisown = 1 return val +#--------------------------------------------------------------------------- + +DP_DEFAULT = _controls_.DP_DEFAULT +DP_SPIN = _controls_.DP_SPIN +DP_DROPDOWN = _controls_.DP_DROPDOWN +DP_SHOWCENTURY = _controls_.DP_SHOWCENTURY +DP_ALLOWNONE = _controls_.DP_ALLOWNONE +class DatePickerCtrl(_core.Control): + """ + This control allows the user to select a date. Unlike + `wx.calendar.CalendarCtrl`, which is a relatively big control, + `wx.DatePickerCtrl` is implemented as a small window showing the + currently selected date. The control can be edited using the keyboard, + and can also display a popup window for more user-friendly date + selection, depending on the styles used and the platform. + """ + def __repr__(self): + return "<%s.%s; proxy of C++ wxDatePickerCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,) + def __init__(self, *args, **kwargs): + """ + __init__(self, Window parent, int id=-1, DateTime dt=wxDefaultDateTime, + Point pos=DefaultPosition, Size size=DefaultSize, + long style=wxDP_DEFAULT|wxDP_SHOWCENTURY, + Validator validator=DefaultValidator, + String name=DatePickerCtrlNameStr) -> DatePickerCtrl + + Create a new DatePickerCtrl. + """ + newobj = _controls_.new_DatePickerCtrl(*args, **kwargs) + self.this = newobj.this + self.thisown = 1 + del newobj.thisown + self._setOORInfo(self) + + def Create(*args, **kwargs): + """ + Create(self, Window parent, int id=-1, DateTime dt=wxDefaultDateTime, + Point pos=DefaultPosition, Size size=DefaultSize, + long style=wxDP_DEFAULT|wxDP_SHOWCENTURY, + Validator validator=DefaultValidator, + String name=DatePickerCtrlNameStr) -> bool + + Create the GUI parts of the DatePickerCtrl, for use in 2-phase + creation. + """ + return _controls_.DatePickerCtrl_Create(*args, **kwargs) + + def SetValue(*args, **kwargs): + """ + SetValue(self, DateTime dt) + + Changes the current value of the control. The date should be valid and + included in the currently selected range, if any. + + Calling this method does not result in a date change event. + """ + return _controls_.DatePickerCtrl_SetValue(*args, **kwargs) + + def GetValue(*args, **kwargs): + """ + GetValue(self) -> DateTime + + Returns the currently selected date. If there is no selection or the + selection is outside of the current range, an invalid `wx.DateTime` + object is returned. + """ + return _controls_.DatePickerCtrl_GetValue(*args, **kwargs) + + def SetRange(*args, **kwargs): + """ + SetRange(self, DateTime dt1, DateTime dt2) + + Sets the valid range for the date selection. If dt1 is valid, it + becomes the earliest date (inclusive) accepted by the control. If dt2 + is valid, it becomes the latest possible date. + + If the current value of the control is outside of the newly set range + bounds, the behaviour is undefined. + """ + return _controls_.DatePickerCtrl_SetRange(*args, **kwargs) + + def GetLowerLimit(*args, **kwargs): + """ + GetLowerLimit(self) -> DateTime + + Get the lower limit of the valid range for the date selection, if any. + If there is no range or there is no lower limit, then the + `wx.DateTime` value returned will be invalid. + """ + return _controls_.DatePickerCtrl_GetLowerLimit(*args, **kwargs) + + def GetUpperLimit(*args, **kwargs): + """ + GetUpperLimit(self) -> DateTime + + Get the upper limit of the valid range for the date selection, if any. + If there is no range or there is no upper limit, then the + `wx.DateTime` value returned will be invalid. + """ + return _controls_.DatePickerCtrl_GetUpperLimit(*args, **kwargs) + + +class DatePickerCtrlPtr(DatePickerCtrl): + def __init__(self, this): + self.this = this + if not hasattr(self,"thisown"): self.thisown = 0 + self.__class__ = DatePickerCtrl +_controls_.DatePickerCtrl_swigregister(DatePickerCtrlPtr) +DatePickerCtrlNameStr = cvar.DatePickerCtrlNameStr + +def PreDatePickerCtrl(*args, **kwargs): + """ + PreDatePickerCtrl() -> DatePickerCtrl + + Precreate a DatePickerCtrl for use in 2-phase creation. + """ + val = _controls_.new_PreDatePickerCtrl(*args, **kwargs) + val.thisown = 1 + return val + +