]> git.saurik.com Git - wxWidgets.git/blob - wxPython/src/msw/combo.py
wxSscanf() and friends are now Unicode+ANSI friendly wrappers instead of defines...
[wxWidgets.git] / wxPython / src / msw / combo.py
1 # This file was created automatically by SWIG 1.3.29.
2 # Don't modify this file, modify the SWIG interface instead.
3
4 """
5 ComboCtrl class that can have any type of popup widget, and also an
6 owner-drawn combobox control.
7 """
8
9 import _combo
10 import new
11 new_instancemethod = new.instancemethod
12 def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
13 if (name == "thisown"): return self.this.own(value)
14 if (name == "this"):
15 if type(value).__name__ == 'PySwigObject':
16 self.__dict__[name] = value
17 return
18 method = class_type.__swig_setmethods__.get(name,None)
19 if method: return method(self,value)
20 if (not static) or hasattr(self,name):
21 self.__dict__[name] = value
22 else:
23 raise AttributeError("You cannot add attributes to %s" % self)
24
25 def _swig_setattr(self,class_type,name,value):
26 return _swig_setattr_nondynamic(self,class_type,name,value,0)
27
28 def _swig_getattr(self,class_type,name):
29 if (name == "thisown"): return self.this.own()
30 method = class_type.__swig_getmethods__.get(name,None)
31 if method: return method(self)
32 raise AttributeError,name
33
34 def _swig_repr(self):
35 try: strthis = "proxy of " + self.this.__repr__()
36 except: strthis = ""
37 return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
38
39 import types
40 try:
41 _object = types.ObjectType
42 _newclass = 1
43 except AttributeError:
44 class _object : pass
45 _newclass = 0
46 del types
47
48
49 def _swig_setattr_nondynamic_method(set):
50 def set_attr(self,name,value):
51 if (name == "thisown"): return self.this.own(value)
52 if hasattr(self,name) or (name == "this"):
53 set(self,name,value)
54 else:
55 raise AttributeError("You cannot add attributes to %s" % self)
56 return set_attr
57
58
59 import _windows
60 import _core
61 wx = _core
62 __docfilter__ = wx.__DocFilter(globals())
63 #---------------------------------------------------------------------------
64
65 CC_BUTTON_OUTSIDE_BORDER = _combo.CC_BUTTON_OUTSIDE_BORDER
66 CC_POPUP_ON_MOUSE_UP = _combo.CC_POPUP_ON_MOUSE_UP
67 CC_NO_TEXT_AUTO_SELECT = _combo.CC_NO_TEXT_AUTO_SELECT
68 CC_BUTTON_STAYS_DOWN = _combo.CC_BUTTON_STAYS_DOWN
69 CC_FULL_BUTTON = _combo.CC_FULL_BUTTON
70 CC_BUTTON_COVERS_BORDER = _combo.CC_BUTTON_COVERS_BORDER
71 CC_MF_ON_BUTTON = _combo.CC_MF_ON_BUTTON
72 CC_MF_ON_CLICK_AREA = _combo.CC_MF_ON_CLICK_AREA
73 class ComboCtrlFeatures(object):
74 """
75 Namespace for `wx.combo.ComboCtrl` feature flags. See
76 `wx.combo.ComboCtrl.GetFeatures`.
77 """
78 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
79 def __init__(self): raise AttributeError, "No constructor defined"
80 __repr__ = _swig_repr
81 MovableButton = _combo.ComboCtrlFeatures_MovableButton
82 BitmapButton = _combo.ComboCtrlFeatures_BitmapButton
83 ButtonSpacing = _combo.ComboCtrlFeatures_ButtonSpacing
84 TextIndent = _combo.ComboCtrlFeatures_TextIndent
85 PaintControl = _combo.ComboCtrlFeatures_PaintControl
86 PaintWritable = _combo.ComboCtrlFeatures_PaintWritable
87 Borderless = _combo.ComboCtrlFeatures_Borderless
88 All = _combo.ComboCtrlFeatures_All
89 _combo.ComboCtrlFeatures_swigregister(ComboCtrlFeatures)
90
91 class ComboCtrl(_core.Control):
92 """
93 A combo control is a generic combobox that allows for a totally custom
94 popup. In addition it has other customization features. For instance,
95 position and size of the dropdown button can be changed.
96
97 To specify what to use for the popup control you need to derive a
98 class from `wx.combo.ComboPopup` and pass it to the ComboCtrl with
99 `SetPopupControl`. It doesn't derive from any widget class so it can
100 be used either as a mixin class combined with some standard or custom
101 widget, or you can use the derived ComboPopup to create and hold an
102 independent reference to the widget to be used for the popup.
103
104 """
105 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
106 __repr__ = _swig_repr
107 def __init__(self, *args, **kwargs):
108 """
109 __init__(self, Window parent, int id=ID_ANY, String value=wxEmptyString,
110 Point pos=DefaultPosition, Size size=DefaultSize,
111 long style=0, Validator validator=DefaultValidator,
112 String name=wxPyComboBoxNameStr) -> ComboCtrl
113 """
114 _combo.ComboCtrl_swiginit(self,_combo.new_ComboCtrl(*args, **kwargs))
115 self._setOORInfo(self);ComboCtrl._setCallbackInfo(self, self, ComboCtrl)
116
117 def _setCallbackInfo(*args, **kwargs):
118 """_setCallbackInfo(self, PyObject self, PyObject _class)"""
119 return _combo.ComboCtrl__setCallbackInfo(*args, **kwargs)
120
121 def ShowPopup(*args, **kwargs):
122 """
123 ShowPopup(self)
124
125 Show the popup window.
126 """
127 return _combo.ComboCtrl_ShowPopup(*args, **kwargs)
128
129 def HidePopup(*args, **kwargs):
130 """
131 HidePopup(self)
132
133 Dismisses the popup window.
134 """
135 return _combo.ComboCtrl_HidePopup(*args, **kwargs)
136
137 def OnButtonClick(*args, **kwargs):
138 """
139 OnButtonClick(self)
140
141 Implement in a derived class to define what happens on dropdown button
142 click. Default action is to show the popup.
143 """
144 return _combo.ComboCtrl_OnButtonClick(*args, **kwargs)
145
146 def IsPopupShown(*args, **kwargs):
147 """
148 IsPopupShown(self) -> bool
149
150 Returns true if the popup is currently shown.
151 """
152 return _combo.ComboCtrl_IsPopupShown(*args, **kwargs)
153
154 def SetPopupControl(*args, **kwargs):
155 """
156 SetPopupControl(self, ComboPopup popup)
157
158 Set popup interface class derived from `wx.combo.ComboPopup`. This
159 method should be called as soon as possible after the control has been
160 created, unless `OnButtonClick` has been overridden.
161 """
162 return _combo.ComboCtrl_SetPopupControl(*args, **kwargs)
163
164 def GetPopupControl(*args, **kwargs):
165 """
166 GetPopupControl(self) -> ComboPopup
167
168 Returns the current popup interface that has been set with
169 `SetPopupControl`.
170 """
171 return _combo.ComboCtrl_GetPopupControl(*args, **kwargs)
172
173 def GetPopupWindow(*args, **kwargs):
174 """
175 GetPopupWindow(self) -> Window
176
177 Returns the popup window containing the popup control.
178 """
179 return _combo.ComboCtrl_GetPopupWindow(*args, **kwargs)
180
181 def GetTextCtrl(*args, **kwargs):
182 """
183 GetTextCtrl(self) -> wxTextCtrl
184
185 Get the text control which is part of the combo control.
186 """
187 return _combo.ComboCtrl_GetTextCtrl(*args, **kwargs)
188
189 def GetButton(*args, **kwargs):
190 """
191 GetButton(self) -> Window
192
193 Get the dropdown button which is part of the combobox. Note: it's not
194 necessarily a wx.Button or wx.BitmapButton.
195 """
196 return _combo.ComboCtrl_GetButton(*args, **kwargs)
197
198 def GetValue(*args, **kwargs):
199 """
200 GetValue(self) -> String
201
202 Returns text representation of the current value. For writable combo
203 control it always returns the value in the text field.
204 """
205 return _combo.ComboCtrl_GetValue(*args, **kwargs)
206
207 def SetValue(*args, **kwargs):
208 """
209 SetValue(self, String value)
210
211 Sets the text for the combo control text field. For a combo control
212 with wx.CB_READONLY style the string must be accepted by the popup (for
213 instance, exist in the dropdown list), otherwise the call to
214 SetValue is ignored.
215 """
216 return _combo.ComboCtrl_SetValue(*args, **kwargs)
217
218 def Copy(*args, **kwargs):
219 """Copy(self)"""
220 return _combo.ComboCtrl_Copy(*args, **kwargs)
221
222 def Cut(*args, **kwargs):
223 """Cut(self)"""
224 return _combo.ComboCtrl_Cut(*args, **kwargs)
225
226 def Paste(*args, **kwargs):
227 """Paste(self)"""
228 return _combo.ComboCtrl_Paste(*args, **kwargs)
229
230 def SetInsertionPoint(*args, **kwargs):
231 """SetInsertionPoint(self, long pos)"""
232 return _combo.ComboCtrl_SetInsertionPoint(*args, **kwargs)
233
234 def SetInsertionPointEnd(*args, **kwargs):
235 """SetInsertionPointEnd(self)"""
236 return _combo.ComboCtrl_SetInsertionPointEnd(*args, **kwargs)
237
238 def GetInsertionPoint(*args, **kwargs):
239 """GetInsertionPoint(self) -> long"""
240 return _combo.ComboCtrl_GetInsertionPoint(*args, **kwargs)
241
242 def GetLastPosition(*args, **kwargs):
243 """GetLastPosition(self) -> long"""
244 return _combo.ComboCtrl_GetLastPosition(*args, **kwargs)
245
246 def Replace(*args, **kwargs):
247 """Replace(self, long from, long to, String value)"""
248 return _combo.ComboCtrl_Replace(*args, **kwargs)
249
250 def Remove(*args, **kwargs):
251 """Remove(self, long from, long to)"""
252 return _combo.ComboCtrl_Remove(*args, **kwargs)
253
254 def Undo(*args, **kwargs):
255 """Undo(self)"""
256 return _combo.ComboCtrl_Undo(*args, **kwargs)
257
258 def SetMark(*args, **kwargs):
259 """SetMark(self, long from, long to)"""
260 return _combo.ComboCtrl_SetMark(*args, **kwargs)
261
262 def SetText(*args, **kwargs):
263 """
264 SetText(self, String value)
265
266 Sets the text for the text field without affecting the popup. Thus,
267 unlike `SetValue`, it works equally well with combo control using
268 wx.CB_READONLY style.
269 """
270 return _combo.ComboCtrl_SetText(*args, **kwargs)
271
272 def SetValueWithEvent(*args, **kwargs):
273 """
274 SetValueWithEvent(self, String value, bool withEvent=True)
275
276 Same as `SetValue`, but also sends a EVT_TEXT event if withEvent is true.
277 """
278 return _combo.ComboCtrl_SetValueWithEvent(*args, **kwargs)
279
280 def SetPopupMinWidth(*args, **kwargs):
281 """
282 SetPopupMinWidth(self, int width)
283
284 Sets minimum width of the popup. If wider than combo control, it will
285 extend to the left. A value of -1 indicates to use the default. The
286 popup implementation may choose to ignore this.
287 """
288 return _combo.ComboCtrl_SetPopupMinWidth(*args, **kwargs)
289
290 def SetPopupMaxHeight(*args, **kwargs):
291 """
292 SetPopupMaxHeight(self, int height)
293
294 Sets preferred maximum height of the popup. A value of -1 indicates to
295 use the default. The popup implementation may choose to ignore this.
296 """
297 return _combo.ComboCtrl_SetPopupMaxHeight(*args, **kwargs)
298
299 def SetPopupExtents(*args, **kwargs):
300 """
301 SetPopupExtents(self, int extLeft, int extRight)
302
303 Extends popup size horizontally, relative to the edges of the combo
304 control. Values are given in pixels, and the defaults are zero. It
305 is up to the popup to fully take these values into account.
306 """
307 return _combo.ComboCtrl_SetPopupExtents(*args, **kwargs)
308
309 def SetCustomPaintWidth(*args, **kwargs):
310 """
311 SetCustomPaintWidth(self, int width)
312
313 Set width, in pixels, of custom painted area in control without
314 wx.CB_READONLY style. In read-only OwnerDrawnComboBox, this is used
315 to indicate the area that is not covered by the focus rectangle.
316 """
317 return _combo.ComboCtrl_SetCustomPaintWidth(*args, **kwargs)
318
319 def GetCustomPaintWidth(*args, **kwargs):
320 """GetCustomPaintWidth(self) -> int"""
321 return _combo.ComboCtrl_GetCustomPaintWidth(*args, **kwargs)
322
323 def SetPopupAnchor(*args, **kwargs):
324 """
325 SetPopupAnchor(self, int anchorSide)
326
327 Set side of the control to which the popup will align itself. Valid
328 values are wx.LEFT, wx.RIGHT and 0. The default value 0 means that the
329 most appropriate side is used (which, currently, is always wx.LEFT).
330 """
331 return _combo.ComboCtrl_SetPopupAnchor(*args, **kwargs)
332
333 def SetButtonPosition(*args, **kwargs):
334 """
335 SetButtonPosition(self, int width=-1, int height=-1, int side=RIGHT, int spacingX=0)
336
337 Set the position of the dropdown button.
338 """
339 return _combo.ComboCtrl_SetButtonPosition(*args, **kwargs)
340
341 def GetButtonSize(*args, **kwargs):
342 """
343 GetButtonSize(self) -> Size
344
345 Returns current size of the dropdown button.
346 """
347 return _combo.ComboCtrl_GetButtonSize(*args, **kwargs)
348
349 def SetButtonBitmaps(*args, **kwargs):
350 """
351 SetButtonBitmaps(self, Bitmap bmpNormal, bool pushButtonBg=False, Bitmap bmpPressed=wxNullBitmap,
352 Bitmap bmpHover=wxNullBitmap,
353 Bitmap bmpDisabled=wxNullBitmap)
354
355 Sets custom dropdown button graphics.
356
357 :param bmpNormal: Default button image
358 :param pushButtonBg: If ``True``, blank push button background is painted below the image.
359 :param bmpPressed: Depressed butotn image.
360 :param bmpHover: Button imate to use when the mouse hovers over it.
361 :param bmpDisabled: Disabled button image.
362
363 """
364 return _combo.ComboCtrl_SetButtonBitmaps(*args, **kwargs)
365
366 def SetTextIndent(*args, **kwargs):
367 """
368 SetTextIndent(self, int indent)
369
370 This will set the space in pixels between left edge of the control and
371 the text, regardless whether control is read-only or not. A value of -1 can
372 be given to indicate platform default.
373 """
374 return _combo.ComboCtrl_SetTextIndent(*args, **kwargs)
375
376 def GetTextIndent(*args, **kwargs):
377 """
378 GetTextIndent(self) -> int
379
380 Returns actual indentation in pixels.
381 """
382 return _combo.ComboCtrl_GetTextIndent(*args, **kwargs)
383
384 def GetTextRect(*args, **kwargs):
385 """
386 GetTextRect(self) -> Rect
387
388 Returns area covered by the text field (includes everything except
389 borders and the dropdown button).
390 """
391 return _combo.ComboCtrl_GetTextRect(*args, **kwargs)
392
393 def UseAltPopupWindow(*args, **kwargs):
394 """
395 UseAltPopupWindow(self, bool enable=True)
396
397 Enable or disable usage of an alternative popup window, which
398 guarantees ability to focus the popup control, and allows common
399 native controls to function normally. This alternative popup window is
400 usually a wxDialog, and as such, when it is shown, its parent
401 top-level window will appear as if the focus has been lost from it.
402 """
403 return _combo.ComboCtrl_UseAltPopupWindow(*args, **kwargs)
404
405 def EnablePopupAnimation(*args, **kwargs):
406 """
407 EnablePopupAnimation(self, bool enable=True)
408
409 Enables or disables popup animation, if any, depending on the value of
410 the argument.
411 """
412 return _combo.ComboCtrl_EnablePopupAnimation(*args, **kwargs)
413
414 def IsKeyPopupToggle(*args, **kwargs):
415 """
416 IsKeyPopupToggle(self, KeyEvent event) -> bool
417
418 Returns true if given key combination should toggle the popup.
419 """
420 return _combo.ComboCtrl_IsKeyPopupToggle(*args, **kwargs)
421
422 def PrepareBackground(*args, **kwargs):
423 """
424 PrepareBackground(self, DC dc, Rect rect, int flags)
425
426 Prepare background of combo control or an item in a dropdown list in a
427 way typical on platform. This includes painting the focus/disabled
428 background and setting the clipping region. Unless you plan to paint
429 your own focus indicator, you should always call this in your
430 wxComboPopup::PaintComboControl implementation. In addition, it sets
431 pen and text colour to what looks good and proper against the
432 background.
433
434 flags are the same as wx.RendererNative flags:
435
436 ====================== ============================================
437 wx.CONTROL_ISSUBMENU drawing a list item instead of combo control
438 wx.CONTROL_SELECTED list item is selected
439 wx.CONTROL_DISABLED control/item is disabled
440 ====================== ============================================
441
442 """
443 return _combo.ComboCtrl_PrepareBackground(*args, **kwargs)
444
445 def ShouldDrawFocus(*args, **kwargs):
446 """
447 ShouldDrawFocus(self) -> bool
448
449 Returns true if focus indicator should be drawn in the control.
450 """
451 return _combo.ComboCtrl_ShouldDrawFocus(*args, **kwargs)
452
453 def GetBitmapNormal(*args, **kwargs):
454 """GetBitmapNormal(self) -> Bitmap"""
455 return _combo.ComboCtrl_GetBitmapNormal(*args, **kwargs)
456
457 def GetBitmapPressed(*args, **kwargs):
458 """GetBitmapPressed(self) -> Bitmap"""
459 return _combo.ComboCtrl_GetBitmapPressed(*args, **kwargs)
460
461 def GetBitmapHover(*args, **kwargs):
462 """GetBitmapHover(self) -> Bitmap"""
463 return _combo.ComboCtrl_GetBitmapHover(*args, **kwargs)
464
465 def GetBitmapDisabled(*args, **kwargs):
466 """GetBitmapDisabled(self) -> Bitmap"""
467 return _combo.ComboCtrl_GetBitmapDisabled(*args, **kwargs)
468
469 def GetInternalFlags(*args, **kwargs):
470 """GetInternalFlags(self) -> unsigned int"""
471 return _combo.ComboCtrl_GetInternalFlags(*args, **kwargs)
472
473 def IsCreated(*args, **kwargs):
474 """
475 IsCreated(self) -> bool
476
477 Return true if Create has finished
478 """
479 return _combo.ComboCtrl_IsCreated(*args, **kwargs)
480
481 def OnPopupDismiss(*args, **kwargs):
482 """
483 OnPopupDismiss(self)
484
485 Common code to be called on popup hide/dismiss
486 """
487 return _combo.ComboCtrl_OnPopupDismiss(*args, **kwargs)
488
489 Hidden = _combo.ComboCtrl_Hidden
490 Animating = _combo.ComboCtrl_Animating
491 Visible = _combo.ComboCtrl_Visible
492 def IsPopupWindowState(*args, **kwargs):
493 """IsPopupWindowState(self, int state) -> bool"""
494 return _combo.ComboCtrl_IsPopupWindowState(*args, **kwargs)
495
496 def GetPopupWindowState(*args, **kwargs):
497 """GetPopupWindowState(self) -> int"""
498 return _combo.ComboCtrl_GetPopupWindowState(*args, **kwargs)
499
500 def SetCtrlMainWnd(*args, **kwargs):
501 """SetCtrlMainWnd(self, Window wnd)"""
502 return _combo.ComboCtrl_SetCtrlMainWnd(*args, **kwargs)
503
504 def GetMainWindowOfCompositeControl(*args, **kwargs):
505 """GetMainWindowOfCompositeControl(self) -> Window"""
506 return _combo.ComboCtrl_GetMainWindowOfCompositeControl(*args, **kwargs)
507
508 def GetFeatures(*args, **kwargs):
509 """
510 GetFeatures() -> int
511
512 Returns a bit-list of flags indicating which features of the ComboCtrl
513 functionality are implemented by this implemetation. See
514 `wx.combo.ComboCtrlFeatures`.
515 """
516 return _combo.ComboCtrl_GetFeatures(*args, **kwargs)
517
518 GetFeatures = staticmethod(GetFeatures)
519 ShowBelow = _combo.ComboCtrl_ShowBelow
520 ShowAbove = _combo.ComboCtrl_ShowAbove
521 CanDeferShow = _combo.ComboCtrl_CanDeferShow
522 def DoShowPopup(*args, **kwargs):
523 """
524 DoShowPopup(self, Rect rect, int flags)
525
526 Shows and positions the popup.
527
528 Flags:
529 ============ =====================================================
530 ShowBelow Showing popup below the control
531 ShowAbove Showing popup above the control
532 CanDeferShow Can only return true from AnimateShow if this is set
533 ============ =====================================================
534
535 """
536 return _combo.ComboCtrl_DoShowPopup(*args, **kwargs)
537
538 def AnimateShow(*args, **kwargs):
539 """
540 AnimateShow(self, Rect rect, int flags) -> bool
541
542 Implement in derived class to create a drop-down animation. Return
543 ``True`` if finished immediately. Otherwise the popup is only shown when the
544 derived class calls `DoShowPopup`. Flags are same as for `DoShowPopup`.
545
546 """
547 return _combo.ComboCtrl_AnimateShow(*args, **kwargs)
548
549 PopupControl = property(GetPopupControl,SetPopupControl)
550 PopupWindow = property(GetPopupWindow)
551 TextCtrl = property(GetTextCtrl)
552 Button = property(GetButton)
553 Value = property(GetValue,SetValue)
554 InsertionPoint = property(GetInsertionPoint)
555 CustomPaintWidth = property(GetCustomPaintWidth,SetCustomPaintWidth)
556 ButtonSize = property(GetButtonSize)
557 TextIndent = property(GetTextIndent,SetTextIndent)
558 TextRect = property(GetTextRect)
559 BitmapNormal = property(GetBitmapNormal)
560 BitmapPressed = property(GetBitmapPressed)
561 BitmapHover = property(GetBitmapHover)
562 BitmapDisabled = property(GetBitmapDisabled)
563 PopupWindowState = property(GetPopupWindowState)
564 _combo.ComboCtrl_swigregister(ComboCtrl)
565
566 def PreComboCtrl(*args, **kwargs):
567 """PreComboCtrl() -> ComboCtrl"""
568 val = _combo.new_PreComboCtrl(*args, **kwargs)
569 return val
570
571 def ComboCtrl_GetFeatures(*args):
572 """
573 ComboCtrl_GetFeatures() -> int
574
575 Returns a bit-list of flags indicating which features of the ComboCtrl
576 functionality are implemented by this implemetation. See
577 `wx.combo.ComboCtrlFeatures`.
578 """
579 return _combo.ComboCtrl_GetFeatures(*args)
580
581 #---------------------------------------------------------------------------
582
583 class ComboPopup(object):
584 """
585 In order to use a custom popup with `wx.combo.ComboCtrl` an interface
586 class derived from wx.combo.ComboPopup is used to manage the interface
587 between the popup control and the popup. You can either derive a new
588 class from both the widget class and this ComboPopup class, or the
589 derived class can have a reference to the widget used for the popup.
590 In either case you simply need to return the widget from the
591 `GetControl` method to allow the ComboCtrl to interact with it.
592
593 Nearly all of the methods of this class are overridable in Python.
594 """
595 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
596 __repr__ = _swig_repr
597 def __init__(self, *args, **kwargs):
598 """
599 __init__(self) -> ComboPopup
600
601 Constructor
602 """
603 _combo.ComboPopup_swiginit(self,_combo.new_ComboPopup(*args, **kwargs))
604 ComboPopup._setCallbackInfo(self, self, ComboPopup)
605
606 __swig_destroy__ = _combo.delete_ComboPopup
607 __del__ = lambda self : None;
608 def _setCallbackInfo(*args, **kwargs):
609 """_setCallbackInfo(self, PyObject self, PyObject _class)"""
610 return _combo.ComboPopup__setCallbackInfo(*args, **kwargs)
611
612 def Init(*args, **kwargs):
613 """
614 Init(self)
615
616 This method is called after the popup is contructed and has been
617 assigned to the ComboCtrl. Derived classes can override this to do
618 extra inialization or whatever.
619 """
620 return _combo.ComboPopup_Init(*args, **kwargs)
621
622 def Create(*args, **kwargs):
623 """
624 Create(self, Window parent) -> bool
625
626 The derived class must implement this method to create the popup
627 control. It should be a child of the ``parent`` passed in, but other
628 than that there is much flexibility in what the widget can be, its
629 style, etc. Return ``True`` for success, ``False`` otherwise. (NOTE:
630 this return value is not currently checked...)
631 """
632 return _combo.ComboPopup_Create(*args, **kwargs)
633
634 def GetControl(*args, **kwargs):
635 """
636 GetControl(self) -> Window
637
638 The derived class must implement this method and it should return a
639 reference to the widget created in the `Create` method. If the
640 derived class inherits from both the widget class and ComboPopup then
641 the return value is probably just ``self``.
642 """
643 return _combo.ComboPopup_GetControl(*args, **kwargs)
644
645 def OnPopup(*args, **kwargs):
646 """
647 OnPopup(self)
648
649 The derived class may implement this to do special processing when
650 popup is shown.
651 """
652 return _combo.ComboPopup_OnPopup(*args, **kwargs)
653
654 def OnDismiss(*args, **kwargs):
655 """
656 OnDismiss(self)
657
658 The derived class may implement this to do special processing when
659 popup is hidden.
660 """
661 return _combo.ComboPopup_OnDismiss(*args, **kwargs)
662
663 def SetStringValue(*args, **kwargs):
664 """
665 SetStringValue(self, String value)
666
667 Called just prior to displaying the popup. The derived class can
668 implement this to "select" the item in the popup that coresponds to
669 the passed in string value, if appropriate. The default
670 implementation does nothing.
671 """
672 return _combo.ComboPopup_SetStringValue(*args, **kwargs)
673
674 def GetStringValue(*args, **kwargs):
675 """
676 GetStringValue(self) -> String
677
678 Gets the string representation of the currently selected value to be
679 used to display in the combo widget.
680 """
681 return _combo.ComboPopup_GetStringValue(*args, **kwargs)
682
683 def PaintComboControl(*args, **kwargs):
684 """
685 PaintComboControl(self, DC dc, Rect rect)
686
687 This is called to custom paint in the combo control itself (ie. not
688 the popup). Default implementation draws the current value as string.
689 """
690 return _combo.ComboPopup_PaintComboControl(*args, **kwargs)
691
692 def OnComboKeyEvent(*args, **kwargs):
693 """
694 OnComboKeyEvent(self, KeyEvent event)
695
696 Receives key events from the parent ComboCtrl. Events not handled
697 should be skipped, as usual.
698 """
699 return _combo.ComboPopup_OnComboKeyEvent(*args, **kwargs)
700
701 def OnComboDoubleClick(*args, **kwargs):
702 """
703 OnComboDoubleClick(self)
704
705 Implement this method in the derived class if you need to support
706 special actions when the user double-clicks on the parent ComboCtrl.
707 """
708 return _combo.ComboPopup_OnComboDoubleClick(*args, **kwargs)
709
710 def GetAdjustedSize(*args, **kwargs):
711 """
712 GetAdjustedSize(self, int minWidth, int prefHeight, int maxHeight) -> Size
713
714 The derived class may implement this method to return adjusted size
715 for the popup control, according to the variables given. It is called
716 on every popup, just prior to `OnPopup`.
717
718 :param minWidth: Preferred minimum width.
719 :param prefHeight: Preferred height. May be -1 to indicate no preference.
720 :maxWidth: Max height for window, as limited by screen size, and
721 should only be rounded down, if necessary.
722
723 """
724 return _combo.ComboPopup_GetAdjustedSize(*args, **kwargs)
725
726 def LazyCreate(*args, **kwargs):
727 """
728 LazyCreate(self) -> bool
729
730 The derived class may implement this to return ``True`` if it wants to
731 delay the call to `Create` until the popup is shown for the first
732 time. It is more efficient, but on the other hand it is often more
733 convenient to have the control created immediately. The default
734 implementation returns ``False``.
735 """
736 return _combo.ComboPopup_LazyCreate(*args, **kwargs)
737
738 def Dismiss(*args, **kwargs):
739 """
740 Dismiss(self)
741
742 Hides the popup
743 """
744 return _combo.ComboPopup_Dismiss(*args, **kwargs)
745
746 def IsCreated(*args, **kwargs):
747 """
748 IsCreated(self) -> bool
749
750 Returns true if `Create` has been called.
751 """
752 return _combo.ComboPopup_IsCreated(*args, **kwargs)
753
754 def DefaultPaintComboControl(*args, **kwargs):
755 """
756 DefaultPaintComboControl(wxComboCtrlBase combo, DC dc, Rect rect)
757
758 Default PaintComboControl behaviour
759 """
760 return _combo.ComboPopup_DefaultPaintComboControl(*args, **kwargs)
761
762 DefaultPaintComboControl = staticmethod(DefaultPaintComboControl)
763 def GetCombo(*args, **kwargs):
764 """
765 GetCombo(self) -> ComboCtrl
766
767 Returns a reference to the `wx.combo.ComboCtrl` this ComboPopup object
768 is associated with.
769 """
770 return _combo.ComboPopup_GetCombo(*args, **kwargs)
771
772 _combo.ComboPopup_swigregister(ComboPopup)
773
774 def ComboPopup_DefaultPaintComboControl(*args, **kwargs):
775 """
776 ComboPopup_DefaultPaintComboControl(wxComboCtrlBase combo, DC dc, Rect rect)
777
778 Default PaintComboControl behaviour
779 """
780 return _combo.ComboPopup_DefaultPaintComboControl(*args, **kwargs)
781
782 #---------------------------------------------------------------------------
783
784 ODCB_DCLICK_CYCLES = _combo.ODCB_DCLICK_CYCLES
785 ODCB_STD_CONTROL_PAINT = _combo.ODCB_STD_CONTROL_PAINT
786 ODCB_PAINTING_CONTROL = _combo.ODCB_PAINTING_CONTROL
787 ODCB_PAINTING_SELECTED = _combo.ODCB_PAINTING_SELECTED
788 class OwnerDrawnComboBox(ComboCtrl,_core.ItemContainer):
789 """
790 wx.combo.OwnerDrawnComboBox is a combobox with owner-drawn list
791 items. In essence, it is a `wx.combo.ComboCtrl` with a `wx.VListBox`
792 popup and a `wx.ControlWithItems` API.
793
794 Implementing item drawing and measuring is similar to wx.VListBox.
795 The application needs to subclass wx.combo.OwnerDrawnComboBox and
796 implement the `OnDrawItem`, `OnMeasureItem` and `OnMeasureItemWidth`
797 methods.
798 """
799 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
800 __repr__ = _swig_repr
801 def __init__(self, *args, **kwargs):
802 """
803 __init__(self, Window parent, int id=-1, String value=EmptyString,
804 Point pos=DefaultPosition, Size size=DefaultSize,
805 wxArrayString choices=wxPyEmptyStringArray,
806 long style=0, Validator validator=DefaultValidator,
807 String name=wxPyComboBoxNameStr) -> OwnerDrawnComboBox
808
809 Standard constructor.
810 """
811 _combo.OwnerDrawnComboBox_swiginit(self,_combo.new_OwnerDrawnComboBox(*args, **kwargs))
812 self._setOORInfo(self);OwnerDrawnComboBox._setCallbackInfo(self, self, OwnerDrawnComboBox)
813
814 def _setCallbackInfo(*args, **kwargs):
815 """_setCallbackInfo(self, PyObject self, PyObject _class)"""
816 return _combo.OwnerDrawnComboBox__setCallbackInfo(*args, **kwargs)
817
818 def Create(*args, **kwargs):
819 """
820 Create(self, Window parent, int id=-1, String value=EmptyString,
821 Point pos=DefaultPosition, Size size=DefaultSize,
822 wxArrayString choices=wxPyEmptyStringArray,
823 long style=0, Validator validator=DefaultValidator,
824 String name=wxPyComboBoxNameStr) -> bool
825
826 Create the UI object, and other initialization.
827 """
828 return _combo.OwnerDrawnComboBox_Create(*args, **kwargs)
829
830 def GetWidestItemWidth(*args, **kwargs):
831 """
832 GetWidestItemWidth(self) -> int
833
834 Return the widest item width (recalculating it if necessary.)
835 """
836 return _combo.OwnerDrawnComboBox_GetWidestItemWidth(*args, **kwargs)
837
838 def GetWidestItem(*args, **kwargs):
839 """
840 GetWidestItem(self) -> int
841
842 Return the index of the widest item (recalculating it if necessary.)
843 """
844 return _combo.OwnerDrawnComboBox_GetWidestItem(*args, **kwargs)
845
846 def SetMark(*args, **kwargs):
847 """SetMark(self, long from, long to)"""
848 return _combo.OwnerDrawnComboBox_SetMark(*args, **kwargs)
849
850 def OnDrawItem(*args, **kwargs):
851 """
852 OnDrawItem(self, DC dc, Rect rect, int item, int flags)
853
854 The derived class may implement this function to actually draw the
855 item with the given index on the provided DC. If this method is not
856 overridden, the item text is simply drawn as if the control was a
857 normal combobox.
858
859 :param dc: The device context to use for drawing.
860 :param rect: The bounding rectangle for the item being drawn, the
861 DC's clipping region is set to this rectangle before
862 calling this method.
863 :param item: The index of the item to be drawn.
864
865 :param flags: ``wx.combo.ODCB_PAINTING_CONTROL`` (The Combo control itself
866 is being painted, instead of a list item. The ``item``
867 parameter may be ``wx.NOT_FOUND`` in this case.
868 ``wx.combo.ODCB_PAINTING_SELECTED`` (An item with
869 selection background is being painted. The DC's text colour
870 should already be correct.
871
872 """
873 return _combo.OwnerDrawnComboBox_OnDrawItem(*args, **kwargs)
874
875 def OnMeasureItem(*args, **kwargs):
876 """
877 OnMeasureItem(self, size_t item) -> int
878
879 The derived class may implement this method to return the height of
880 the specified item (in pixels). The default implementation returns
881 text height, as if this control was a normal combobox.
882 """
883 return _combo.OwnerDrawnComboBox_OnMeasureItem(*args, **kwargs)
884
885 def OnMeasureItemWidth(*args, **kwargs):
886 """
887 OnMeasureItemWidth(self, size_t item) -> int
888
889 The derived class may implement this method to return the width of the
890 specified item (in pixels). If -1 is returned, then the item text
891 width is used. The default implementation returns -1.
892 """
893 return _combo.OwnerDrawnComboBox_OnMeasureItemWidth(*args, **kwargs)
894
895 def OnDrawBackground(*args, **kwargs):
896 """
897 OnDrawBackground(self, DC dc, Rect rect, int item, int flags)
898
899 This method is used to draw the items background and, maybe, a border
900 around it.
901
902 The base class version implements a reasonable default behaviour which
903 consists in drawing the selected item with the standard background
904 colour and drawing a border around the item if it is either selected
905 or current. ``flags`` has the sam meaning as with `OnDrawItem`.
906 """
907 return _combo.OwnerDrawnComboBox_OnDrawBackground(*args, **kwargs)
908
909 _combo.OwnerDrawnComboBox_swigregister(OwnerDrawnComboBox)
910
911 def PreOwnerDrawnComboBox(*args, **kwargs):
912 """
913 PreOwnerDrawnComboBox() -> OwnerDrawnComboBox
914
915 2-phase create constructor.
916 """
917 val = _combo.new_PreOwnerDrawnComboBox(*args, **kwargs)
918 return val
919
920 class BitmapComboBox(OwnerDrawnComboBox):
921 """
922 A combobox that displays a bitmap in front of the list items. It
923 currently only allows using bitmaps of one size, and resizes itself so
924 that a bitmap can be shown next to the text field.
925 """
926 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
927 __repr__ = _swig_repr
928 def __init__(self, *args, **kwargs):
929 """
930 __init__(self, Window parent, int id=-1, String value=EmptyString,
931 Point pos=DefaultPosition, Size size=DefaultSize,
932 wxArrayString choices=wxPyEmptyStringArray,
933 long style=0, Validator validator=DefaultValidator,
934 String name=wxBitmapComboBoxNameStr) -> BitmapComboBox
935
936 Standard constructor
937 """
938 _combo.BitmapComboBox_swiginit(self,_combo.new_BitmapComboBox(*args, **kwargs))
939 self._setOORInfo(self);
940
941 def Create(*args, **kwargs):
942 """
943 Create(self, Window parent, int id=-1, String value=EmptyString,
944 Point pos=DefaultPosition, Size size=DefaultSize,
945 wxArrayString choices=wxPyEmptyStringArray,
946 long style=0, Validator validator=DefaultValidator,
947 String name=wxBitmapComboBoxNameStr) -> bool
948
949 Create the UI object, and other initialization.
950 """
951 return _combo.BitmapComboBox_Create(*args, **kwargs)
952
953 def Append(*args, **kwargs):
954 """
955 Append(self, String item, Bitmap bitmap=wxNullBitmap, PyObject clientData=None) -> int
956
957 Adds the item to the control, associating the given data with the item
958 if not None. The return value is the index of the newly added item.
959 """
960 return _combo.BitmapComboBox_Append(*args, **kwargs)
961
962 def GetItemBitmap(*args, **kwargs):
963 """
964 GetItemBitmap(self, int n) -> Bitmap
965
966 Returns the image of the item with the given index.
967 """
968 return _combo.BitmapComboBox_GetItemBitmap(*args, **kwargs)
969
970 def Insert(*args, **kwargs):
971 """
972 Insert(self, String item, Bitmap bitmap, int pos, PyObject clientData=None) -> int
973
974 Insert an item into the control before the item at the ``pos`` index,
975 optionally associating some data object with the item.
976 """
977 return _combo.BitmapComboBox_Insert(*args, **kwargs)
978
979 def SetItemBitmap(*args, **kwargs):
980 """
981 SetItemBitmap(self, int n, Bitmap bitmap)
982
983 Sets the image for the given item.
984 """
985 return _combo.BitmapComboBox_SetItemBitmap(*args, **kwargs)
986
987 def GetBitmapSize(*args, **kwargs):
988 """
989 GetBitmapSize(self) -> Size
990
991 Returns size of the image used in list.
992 """
993 return _combo.BitmapComboBox_GetBitmapSize(*args, **kwargs)
994
995 _combo.BitmapComboBox_swigregister(BitmapComboBox)
996
997 def PreBitmapComboBox(*args, **kwargs):
998 """
999 PreBitmapComboBox() -> BitmapComboBox
1000
1001 2-phase create constructor.
1002 """
1003 val = _combo.new_PreBitmapComboBox(*args, **kwargs)
1004 return val
1005
1006
1007