Added the wx.combo module, which contains the ComboCtrl and ComboPopup
classes. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43453 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
469
wxPython/demo/ComboCtrl.py
Normal file
469
wxPython/demo/ComboCtrl.py
Normal file
@@ -0,0 +1,469 @@
|
|||||||
|
|
||||||
|
import wx
|
||||||
|
import wx.combo
|
||||||
|
import os
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
|
class NullLog:
|
||||||
|
def write(*args):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
# This class is used to provide an interface between a ComboCtrl and a
|
||||||
|
# ListCtrl that is used as the popoup for the combo widget. In this
|
||||||
|
# case we use multiple inheritance to derive from both wx.ListCtrl and
|
||||||
|
# wx.ComboPopup, but it also works well when deriving from just
|
||||||
|
# ComboPopup and using a has-a relationship with the popup control,
|
||||||
|
# you just need to be sure to return the control itself from the
|
||||||
|
# GetControl method.
|
||||||
|
|
||||||
|
class ListCtrlComboPopup(wx.ListCtrl, wx.combo.ComboPopup):
|
||||||
|
|
||||||
|
def __init__(self, log=None):
|
||||||
|
if log:
|
||||||
|
self.log = log
|
||||||
|
else:
|
||||||
|
self.log = NullLog()
|
||||||
|
|
||||||
|
|
||||||
|
# Since we are using multiple inheritance, and don't know yet
|
||||||
|
# which window is to be the parent, we'll do 2-phase create of
|
||||||
|
# the ListCtrl instead, and call its Create method later in
|
||||||
|
# our Create method. (See Create below.)
|
||||||
|
self.PostCreate(wx.PreListCtrl())
|
||||||
|
|
||||||
|
# Also init the ComboPopup base class.
|
||||||
|
wx.combo.ComboPopup.__init__(self)
|
||||||
|
|
||||||
|
|
||||||
|
def AddItem(self, txt):
|
||||||
|
self.InsertStringItem(self.GetItemCount(), txt)
|
||||||
|
|
||||||
|
def OnMotion(self, evt):
|
||||||
|
item, flags = self.HitTest(evt.GetPosition())
|
||||||
|
if item >= 0:
|
||||||
|
self.Select(item)
|
||||||
|
self.curitem = item
|
||||||
|
|
||||||
|
def OnLeftDown(self, evt):
|
||||||
|
self.value = self.curitem
|
||||||
|
self.Dismiss()
|
||||||
|
|
||||||
|
|
||||||
|
# The following methods are those that are overridable from the
|
||||||
|
# ComboPopup base class. Most of them are not required, but all
|
||||||
|
# are shown here for demonstration purposes.
|
||||||
|
|
||||||
|
|
||||||
|
# This is called immediately after construction finishes. You can
|
||||||
|
# use self.GetCombo if needed to get to the ComboCtrl instance.
|
||||||
|
def Init(self):
|
||||||
|
self.log.write("ListCtrlComboPopup.Init")
|
||||||
|
self.value = -1
|
||||||
|
self.curitem = -1
|
||||||
|
|
||||||
|
|
||||||
|
# Create the popup child control. Return true for success.
|
||||||
|
def Create(self, parent):
|
||||||
|
self.log.write("ListCtrlComboPopup.Create")
|
||||||
|
wx.ListCtrl.Create(self, parent,
|
||||||
|
style=wx.LC_LIST|wx.LC_SINGLE_SEL|
|
||||||
|
wx.LC_SORT_ASCENDING|wx.SIMPLE_BORDER)
|
||||||
|
self.Bind(wx.EVT_MOTION, self.OnMotion)
|
||||||
|
self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
# Return the widget that is to be used for the popup
|
||||||
|
def GetControl(self):
|
||||||
|
#self.log.write("ListCtrlComboPopup.GetControl")
|
||||||
|
return self
|
||||||
|
|
||||||
|
# Called just prior to displaying the popup, you can use it to
|
||||||
|
# 'select' the current item.
|
||||||
|
def SetStringValue(self, val):
|
||||||
|
self.log.write("ListCtrlComboPopup.SetStringValue")
|
||||||
|
idx = self.FindItem(-1, val)
|
||||||
|
if idx != wx.NOT_FOUND:
|
||||||
|
self.Select(idx)
|
||||||
|
|
||||||
|
# Return a string representation of the current item.
|
||||||
|
def GetStringValue(self):
|
||||||
|
self.log.write("ListCtrlComboPopup.GetStringValue")
|
||||||
|
if self.value >= 0:
|
||||||
|
return self.GetItemText(self.value)
|
||||||
|
return ""
|
||||||
|
|
||||||
|
# Called immediately after the popup is shown
|
||||||
|
def OnPopup(self):
|
||||||
|
self.log.write("ListCtrlComboPopup.OnPopup")
|
||||||
|
wx.combo.ComboPopup.OnPopup(self)
|
||||||
|
|
||||||
|
# Called when popup is dismissed
|
||||||
|
def OnDismiss(self):
|
||||||
|
self.log.write("ListCtrlComboPopup.OnDismiss")
|
||||||
|
wx.combo.ComboPopup.OnDismiss(self)
|
||||||
|
|
||||||
|
# This is called to custom paint in the combo control itself
|
||||||
|
# (ie. not the popup). Default implementation draws value as
|
||||||
|
# string.
|
||||||
|
def PaintComboControl(self, dc, rect):
|
||||||
|
self.log.write("ListCtrlComboPopup.PaintComboControl")
|
||||||
|
wx.combo.ComboPopup.PaintComboControl(self, dc, rect)
|
||||||
|
|
||||||
|
# Receives key events from the parent ComboCtrl. Events not
|
||||||
|
# handled should be skipped, as usual.
|
||||||
|
def OnComboKeyEvent(self, event):
|
||||||
|
self.log.write("ListCtrlComboPopup.OnComboKeyEvent")
|
||||||
|
wx.combo.ComboPopup.OnComboKeyEvent(self, event)
|
||||||
|
|
||||||
|
# Implement if you need to support special action when user
|
||||||
|
# double-clicks on the parent wxComboCtrl.
|
||||||
|
def OnComboDoubleClick(self):
|
||||||
|
self.log.write("ListCtrlComboPopup.OnComboDoubleClick")
|
||||||
|
wx.combo.ComboPopup.OnComboDoubleClick(self)
|
||||||
|
|
||||||
|
# Return final size of popup. Called on every popup, just prior to OnPopup.
|
||||||
|
# minWidth = preferred minimum width for window
|
||||||
|
# prefHeight = preferred height. Only applies if > 0,
|
||||||
|
# maxHeight = max height for window, as limited by screen size
|
||||||
|
# and should only be rounded down, if necessary.
|
||||||
|
def GetAdjustedSize(self, minWidth, prefHeight, maxHeight):
|
||||||
|
self.log.write("ListCtrlComboPopup.GetAdjustedSize: %d, %d, %d" % (minWidth, prefHeight, maxHeight))
|
||||||
|
return wx.combo.ComboPopup.GetAdjustedSize(self, minWidth, prefHeight, maxHeight)
|
||||||
|
|
||||||
|
# Return true if you want delay the call to Create until the popup
|
||||||
|
# is shown for the first time. It is more efficient, but note that
|
||||||
|
# it is often more convenient to have the control created
|
||||||
|
# immediately.
|
||||||
|
# Default returns false.
|
||||||
|
def LazyCreate(self):
|
||||||
|
self.log.write("ListCtrlComboPopup.LazyCreate")
|
||||||
|
return wx.combo.ComboPopup.LazyCreate(self)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------
|
||||||
|
# This class is a popup containing a TreeCtrl. This time we'll use a
|
||||||
|
# has-a style (instead of is-a like above.)
|
||||||
|
|
||||||
|
class TreeCtrlComboPopup(wx.combo.ComboPopup):
|
||||||
|
|
||||||
|
# overridden ComboPopup methods
|
||||||
|
|
||||||
|
def Init(self):
|
||||||
|
self.value = None
|
||||||
|
self.curitem = None
|
||||||
|
|
||||||
|
|
||||||
|
def Create(self, parent):
|
||||||
|
self.tree = wx.TreeCtrl(parent, style=wx.TR_HIDE_ROOT
|
||||||
|
|wx.TR_HAS_BUTTONS
|
||||||
|
|wx.TR_SINGLE
|
||||||
|
|wx.TR_LINES_AT_ROOT
|
||||||
|
|wx.SIMPLE_BORDER)
|
||||||
|
self.tree.Bind(wx.EVT_MOTION, self.OnMotion)
|
||||||
|
self.tree.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)
|
||||||
|
|
||||||
|
|
||||||
|
def GetControl(self):
|
||||||
|
return self.tree
|
||||||
|
|
||||||
|
|
||||||
|
def GetStringValue(self):
|
||||||
|
if self.value:
|
||||||
|
return self.tree.GetItemText(self.value)
|
||||||
|
return ""
|
||||||
|
|
||||||
|
|
||||||
|
def OnPopup(self):
|
||||||
|
if self.value:
|
||||||
|
self.tree.EnsureVisible(self.value)
|
||||||
|
self.tree.SelectItem(self.value)
|
||||||
|
|
||||||
|
|
||||||
|
def SetStringValue(self, value):
|
||||||
|
# this assumes that item strings are unique...
|
||||||
|
root = self.tree.GetRootItem()
|
||||||
|
if not root:
|
||||||
|
return
|
||||||
|
found = self.FindItem(root, value)
|
||||||
|
if found:
|
||||||
|
self.value = found
|
||||||
|
self.tree.SelectItem(found)
|
||||||
|
|
||||||
|
|
||||||
|
def GetAdjustedSize(self, minWidth, prefHeight, maxHeight):
|
||||||
|
return wx.Size(minWidth, min(200, maxHeight))
|
||||||
|
|
||||||
|
|
||||||
|
# helpers
|
||||||
|
|
||||||
|
def FindItem(self, parentItem, text):
|
||||||
|
item, cookie = self.tree.GetFirstChild(parentItem)
|
||||||
|
while item:
|
||||||
|
if self.tree.GetItemText(item) == text:
|
||||||
|
return item
|
||||||
|
if self.tree.ItemHasChildren(item):
|
||||||
|
item = self.FindItem(item, text)
|
||||||
|
item, cookie = self.tree.GetNextChild(parentItem, cookie)
|
||||||
|
return wx.TreeItemId();
|
||||||
|
|
||||||
|
|
||||||
|
def AddItem(self, value, parent=None):
|
||||||
|
if not parent:
|
||||||
|
root = self.tree.GetRootItem()
|
||||||
|
if not root:
|
||||||
|
root = self.tree.AddRoot("<hidden root>")
|
||||||
|
parent = root
|
||||||
|
|
||||||
|
item = self.tree.AppendItem(parent, value)
|
||||||
|
return item
|
||||||
|
|
||||||
|
|
||||||
|
def OnMotion(self, evt):
|
||||||
|
# have the selection follow the mouse, like in a real combobox
|
||||||
|
item, flags = self.tree.HitTest(evt.GetPosition())
|
||||||
|
if item and flags & wx.TREE_HITTEST_ONITEMLABEL:
|
||||||
|
self.tree.SelectItem(item)
|
||||||
|
self.curitem = item
|
||||||
|
evt.Skip()
|
||||||
|
|
||||||
|
|
||||||
|
def OnLeftDown(self, evt):
|
||||||
|
# do the combobox selection
|
||||||
|
item, flags = self.tree.HitTest(evt.GetPosition())
|
||||||
|
if item and flags & wx.TREE_HITTEST_ONITEMLABEL:
|
||||||
|
self.curitem = item
|
||||||
|
self.value = item
|
||||||
|
self.Dismiss()
|
||||||
|
evt.Skip()
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------
|
||||||
|
# Here we subclass wx.combo.ComboCtrl to do some custom popup animation
|
||||||
|
|
||||||
|
CUSTOM_COMBOBOX_ANIMATION_DURATION = 200
|
||||||
|
|
||||||
|
class ComboCtrlWithCustomPopupAnim(wx.combo.ComboCtrl):
|
||||||
|
def __init__(self, *args, **kw):
|
||||||
|
wx.combo.ComboCtrl.__init__(self, *args, **kw)
|
||||||
|
self.Bind(wx.EVT_TIMER, self.OnTimer)
|
||||||
|
self.aniTimer = wx.Timer(self)
|
||||||
|
|
||||||
|
|
||||||
|
def AnimateShow(self, rect, flags):
|
||||||
|
self.aniStart = wx.GetLocalTimeMillis()
|
||||||
|
self.aniRect = wx.Rect(*rect)
|
||||||
|
self.aniFlags = flags
|
||||||
|
|
||||||
|
dc = wx.ScreenDC()
|
||||||
|
bmp = wx.EmptyBitmap(rect.width, rect.height)
|
||||||
|
mdc = wx.MemoryDC(bmp)
|
||||||
|
mdc.Blit(0, 0, rect.width, rect.height, dc, rect.x, rect.y)
|
||||||
|
del mdc
|
||||||
|
self.aniBackBitmap = bmp
|
||||||
|
|
||||||
|
self.aniTimer.Start(10, wx.TIMER_CONTINUOUS)
|
||||||
|
self.OnTimer(None)
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def OnTimer(self, evt):
|
||||||
|
stopTimer = False
|
||||||
|
popup = self.GetPopupControl().GetControl()
|
||||||
|
rect = self.aniRect
|
||||||
|
dc = wx.ScreenDC()
|
||||||
|
|
||||||
|
if self.IsPopupWindowState(self.Hidden):
|
||||||
|
stopTimer = True
|
||||||
|
else:
|
||||||
|
pos = wx.GetLocalTimeMillis() - self.aniStart
|
||||||
|
if pos < CUSTOM_COMBOBOX_ANIMATION_DURATION:
|
||||||
|
# Actual animation happens here
|
||||||
|
width = rect.width
|
||||||
|
height = rect.height
|
||||||
|
|
||||||
|
center_x = rect.x + (width/2)
|
||||||
|
center_y = rect.y + (height/2)
|
||||||
|
|
||||||
|
dc.SetPen( wx.BLACK_PEN )
|
||||||
|
dc.SetBrush( wx.TRANSPARENT_BRUSH )
|
||||||
|
|
||||||
|
w = (((pos*256)/CUSTOM_COMBOBOX_ANIMATION_DURATION)*width)/256
|
||||||
|
ratio = float(w) / float(width)
|
||||||
|
h = int(height * ratio)
|
||||||
|
|
||||||
|
dc.DrawBitmap( self.aniBackBitmap, rect.x, rect.y )
|
||||||
|
dc.DrawRectangle( center_x - w/2, center_y - h/2, w, h )
|
||||||
|
else:
|
||||||
|
stopTimer = True
|
||||||
|
|
||||||
|
if stopTimer:
|
||||||
|
dc.DrawBitmap( self.aniBackBitmap, rect.x, rect.y )
|
||||||
|
popup.Move( (0, 0) )
|
||||||
|
self.aniTimer.Stop()
|
||||||
|
self.DoShowPopup( rect, self.aniFlags )
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------
|
||||||
|
# FileSelectorCombo displays a dialog instead of a popup control, it
|
||||||
|
# also uses a custom bitmap on the combo button.
|
||||||
|
|
||||||
|
class FileSelectorCombo(wx.combo.ComboCtrl):
|
||||||
|
def __init__(self, *args, **kw):
|
||||||
|
wx.combo.ComboCtrl.__init__(self, *args, **kw)
|
||||||
|
|
||||||
|
# make a custom bitmap showing "..."
|
||||||
|
bw, bh = 16, 16
|
||||||
|
bmp = wx.EmptyBitmap(bw,bh)
|
||||||
|
dc = wx.MemoryDC(bmp)
|
||||||
|
|
||||||
|
# clear to a specific background colour
|
||||||
|
bgcolor = wx.Colour(255,0,255)
|
||||||
|
dc.SetBackground(wx.Brush(bgcolor))
|
||||||
|
dc.Clear()
|
||||||
|
|
||||||
|
# draw the label onto the bitmap
|
||||||
|
label = "..."
|
||||||
|
font = wx.SystemSettings.GetFont(wx.SYS_DEFAULT_GUI_FONT)
|
||||||
|
font.SetWeight(wx.FONTWEIGHT_BOLD)
|
||||||
|
dc.SetFont(font)
|
||||||
|
tw,th = dc.GetTextExtent(label)
|
||||||
|
print tw, th
|
||||||
|
dc.DrawText(label, (bw-tw)/2, (bw-tw)/2)
|
||||||
|
del dc
|
||||||
|
|
||||||
|
# now apply a mask using the bgcolor
|
||||||
|
bmp.SetMaskColour(bgcolor)
|
||||||
|
|
||||||
|
# and tell the ComboCtrl to use it
|
||||||
|
self.SetButtonBitmaps(bmp, True)
|
||||||
|
|
||||||
|
|
||||||
|
# Overridden from ComboCtrl, called when the combo button is clicked
|
||||||
|
def OnButtonClick(self):
|
||||||
|
path = ""
|
||||||
|
name = ""
|
||||||
|
if self.GetValue():
|
||||||
|
path, name = os.path.split(self.GetValue())
|
||||||
|
|
||||||
|
dlg = wx.FileDialog(self, "Choose File", path, name,
|
||||||
|
"All files (*.*)|*.*", wx.FD_OPEN)
|
||||||
|
if dlg.ShowModal() == wx.ID_OK:
|
||||||
|
self.SetValue(dlg.GetPath())
|
||||||
|
dlg.Destroy()
|
||||||
|
|
||||||
|
|
||||||
|
# Overridden from ComboCtrl to avoid assert since there is no ComboPopup
|
||||||
|
def DoSetPopupControl(self, popup):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
class TestPanel(wx.Panel):
|
||||||
|
def __init__(self, parent, log):
|
||||||
|
self.log = log
|
||||||
|
wx.Panel.__init__(self, parent, -1)
|
||||||
|
|
||||||
|
fgs = wx.FlexGridSizer(cols=3, hgap=10, vgap=10)
|
||||||
|
|
||||||
|
cc = self.MakeLCCombo(log=self.log)
|
||||||
|
fgs.Add(cc)
|
||||||
|
fgs.Add((10,10))
|
||||||
|
fgs.Add(wx.StaticText(self, -1, "wx.ComboCtrl with a ListCtrl popup"))
|
||||||
|
|
||||||
|
cc = self.MakeLCCombo(style=wx.CB_READONLY)
|
||||||
|
fgs.Add(cc)
|
||||||
|
fgs.Add((10,10))
|
||||||
|
fgs.Add(wx.StaticText(self, -1, " Read-only"))
|
||||||
|
|
||||||
|
cc = self.MakeLCCombo()
|
||||||
|
cc.SetButtonPosition(side=wx.LEFT)
|
||||||
|
fgs.Add(cc)
|
||||||
|
fgs.Add((10,10))
|
||||||
|
fgs.Add(wx.StaticText(self, -1, " Button on the left"))
|
||||||
|
|
||||||
|
cc = self.MakeLCCombo()
|
||||||
|
cc.SetPopupMaxHeight(250)
|
||||||
|
fgs.Add(cc)
|
||||||
|
fgs.Add((10,10))
|
||||||
|
fgs.Add(wx.StaticText(self, -1, " Max height of popup set"))
|
||||||
|
|
||||||
|
cc = wx.combo.ComboCtrl(self, size=(250,-1))
|
||||||
|
tcp = TreeCtrlComboPopup()
|
||||||
|
cc.SetPopupControl(tcp)
|
||||||
|
fgs.Add(cc)
|
||||||
|
fgs.Add((10,10))
|
||||||
|
fgs.Add(wx.StaticText(self, -1, "TreeCtrl popup"))
|
||||||
|
# add some items to the tree
|
||||||
|
for i in range(5):
|
||||||
|
item = tcp.AddItem('Item %d' % (i+1))
|
||||||
|
for j in range(15):
|
||||||
|
tcp.AddItem('Subitem %d-%d' % (i+1, j+1), parent=item)
|
||||||
|
|
||||||
|
cc = ComboCtrlWithCustomPopupAnim(self, size=(250, -1))
|
||||||
|
popup = ListCtrlComboPopup()
|
||||||
|
cc.SetPopupMaxHeight(150)
|
||||||
|
cc.SetPopupControl(popup)
|
||||||
|
fgs.Add(cc)
|
||||||
|
fgs.Add((10,10))
|
||||||
|
fgs.Add(wx.StaticText(self, -1, "Custom popup animation"))
|
||||||
|
for word in "How cool was that!? Way COOL!".split():
|
||||||
|
popup.AddItem(word)
|
||||||
|
|
||||||
|
|
||||||
|
cc = FileSelectorCombo(self, size=(250, -1))
|
||||||
|
fgs.Add(cc)
|
||||||
|
fgs.Add((10,10))
|
||||||
|
fgs.Add(wx.StaticText(self, -1, "Custom popup action, and custom button bitmap"))
|
||||||
|
|
||||||
|
|
||||||
|
box = wx.BoxSizer()
|
||||||
|
box.Add(fgs, 1, wx.EXPAND|wx.ALL, 20)
|
||||||
|
self.SetSizer(box)
|
||||||
|
|
||||||
|
|
||||||
|
def MakeLCCombo(self, log=None, style=0):
|
||||||
|
# Create a ComboCtrl
|
||||||
|
cc = wx.combo.ComboCtrl(self, style=style, size=(250,-1))
|
||||||
|
|
||||||
|
# Create a Popup
|
||||||
|
popup = ListCtrlComboPopup(log)
|
||||||
|
|
||||||
|
# Associate them with each other. This also triggers the
|
||||||
|
# creation of the ListCtrl.
|
||||||
|
cc.SetPopupControl(popup)
|
||||||
|
|
||||||
|
# Add some items to the listctrl.
|
||||||
|
for x in range(75):
|
||||||
|
popup.AddItem("Item-%02d" % x)
|
||||||
|
|
||||||
|
return cc
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
|
def runTest(frame, nb, log):
|
||||||
|
win = TestPanel(nb, log)
|
||||||
|
return win
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
overview = """<html><body>
|
||||||
|
<h2><center>wx.combo.ComboCtrl</center></h2>
|
||||||
|
|
||||||
|
</body></html>
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
import sys,os
|
||||||
|
import run
|
||||||
|
run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])
|
@@ -70,6 +70,7 @@ _treeList = [
|
|||||||
'AlphaDrawing',
|
'AlphaDrawing',
|
||||||
'GraphicsContext',
|
'GraphicsContext',
|
||||||
'CollapsiblePane',
|
'CollapsiblePane',
|
||||||
|
'ComboCtrl',
|
||||||
]),
|
]),
|
||||||
|
|
||||||
# managed windows == things with a (optional) caption you can close
|
# managed windows == things with a (optional) caption you can close
|
||||||
@@ -113,6 +114,7 @@ _treeList = [
|
|||||||
'CheckListBox',
|
'CheckListBox',
|
||||||
'Choice',
|
'Choice',
|
||||||
'ComboBox',
|
'ComboBox',
|
||||||
|
'ComboCtrl',
|
||||||
'Gauge',
|
'Gauge',
|
||||||
'Grid',
|
'Grid',
|
||||||
'Grid_MegaExample',
|
'Grid_MegaExample',
|
||||||
@@ -179,6 +181,7 @@ _treeList = [
|
|||||||
'CalendarCtrl',
|
'CalendarCtrl',
|
||||||
'CheckListCtrlMixin',
|
'CheckListCtrlMixin',
|
||||||
'CollapsiblePane',
|
'CollapsiblePane',
|
||||||
|
'ComboCtrl',
|
||||||
'ContextHelp',
|
'ContextHelp',
|
||||||
'DatePickerCtrl',
|
'DatePickerCtrl',
|
||||||
'DynamicSashWindow',
|
'DynamicSashWindow',
|
||||||
|
@@ -12,6 +12,14 @@ Added wx.CollapsiblePane. On wxGTK it uses a native expander widget,
|
|||||||
on the other platforms a regular button is used to control the
|
on the other platforms a regular button is used to control the
|
||||||
collapsed/expanded state.
|
collapsed/expanded state.
|
||||||
|
|
||||||
|
Added the wx.combo module, which contains the ComboCtrl and ComboPopup
|
||||||
|
classes. These classes allow you to implement a wx.ComboBox-like
|
||||||
|
widget where the popup can be nearly any kind of widget, and where you
|
||||||
|
have a lot of control over other aspects of the combo widget as well.
|
||||||
|
It works very well on GTK and MSW, using native renderers for drawing
|
||||||
|
the combo button, but is unfortunatly still a bit klunky on OSX...
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -378,7 +386,7 @@ were worked around in the wrapper code.
|
|||||||
|
|
||||||
Added wx.lib.delayedresult from Oliver Schoenborn.
|
Added wx.lib.delayedresult from Oliver Schoenborn.
|
||||||
|
|
||||||
Added wx.lib.expando, a multi-line textctrl that exands as more lines
|
Added wx.lib.expando, a multi-line textctrl that expands as more lines
|
||||||
are needed.
|
are needed.
|
||||||
|
|
||||||
wx.Image.Scale and Rescale methods now take an extra parameter
|
wx.Image.Scale and Rescale methods now take an extra parameter
|
||||||
|
@@ -1640,7 +1640,7 @@ extern wxPyApp *wxPythonApp;
|
|||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
#define DEC_PYCALLBACK_BOOL_WXWIN(CBNAME) \
|
#define DEC_PYCALLBACK_BOOL_WXWIN(CBNAME) \
|
||||||
bool CBNAME(wxWindow* a)
|
bool CBNAME(wxWindow* a)
|
||||||
|
|
||||||
|
|
||||||
@@ -1648,7 +1648,7 @@ extern wxPyApp *wxPythonApp;
|
|||||||
bool CLASS::CBNAME(wxWindow* a) { \
|
bool CLASS::CBNAME(wxWindow* a) { \
|
||||||
bool rval=false; \
|
bool rval=false; \
|
||||||
bool found; \
|
bool found; \
|
||||||
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
|
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
|
||||||
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
|
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
|
||||||
PyObject* obj = wxPyMake_wxObject(a,false); \
|
PyObject* obj = wxPyMake_wxObject(a,false); \
|
||||||
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(O)", obj)); \
|
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(O)", obj)); \
|
||||||
@@ -1660,6 +1660,25 @@ extern wxPyApp *wxPythonApp;
|
|||||||
return rval; \
|
return rval; \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define DEC_PYCALLBACK_BOOL_WXWIN_pure(CBNAME) \
|
||||||
|
bool CBNAME(wxWindow* a)
|
||||||
|
|
||||||
|
#define IMP_PYCALLBACK_BOOL_WXWIN_pure(CLASS, PCLASS, CBNAME) \
|
||||||
|
bool CLASS::CBNAME(wxWindow* a) { \
|
||||||
|
bool rval=false; \
|
||||||
|
bool found; \
|
||||||
|
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
|
||||||
|
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
|
||||||
|
PyObject* obj = wxPyMake_wxObject(a,false); \
|
||||||
|
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(O)", obj)); \
|
||||||
|
Py_DECREF(obj); \
|
||||||
|
} \
|
||||||
|
wxPyEndBlockThreads(blocked); \
|
||||||
|
return rval; \
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
#define DEC_PYCALLBACK_BOOL_WXWINDC(CBNAME) \
|
#define DEC_PYCALLBACK_BOOL_WXWINDC(CBNAME) \
|
||||||
@@ -2296,15 +2315,32 @@ extern wxPyApp *wxPythonApp;
|
|||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
#define DEC_PYCALLBACK_COORD_SIZET_constpure(CBNAME) \
|
#define DEC_PYCALLBACK_COORD_SIZET_const(CBNAME) \
|
||||||
wxCoord CBNAME(size_t a) const
|
wxCoord CBNAME(size_t a) const
|
||||||
|
|
||||||
|
#define IMP_PYCALLBACK_COORD_SIZET_const(CLASS, PCLASS, CBNAME) \
|
||||||
|
wxCoord CLASS::CBNAME(size_t a) const { \
|
||||||
|
wxCoord rval=0; \
|
||||||
|
bool found; \
|
||||||
|
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
|
||||||
|
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
|
||||||
|
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(i)", a)); \
|
||||||
|
} \
|
||||||
|
wxPyEndBlockThreads(blocked); \
|
||||||
|
if (! found) \
|
||||||
|
rval = PCLASS::CBNAME(a); \
|
||||||
|
return rval; \
|
||||||
|
} \
|
||||||
|
|
||||||
|
|
||||||
|
#define DEC_PYCALLBACK_COORD_SIZET_constpure(CBNAME) \
|
||||||
|
wxCoord CBNAME(size_t a) const
|
||||||
|
|
||||||
#define IMP_PYCALLBACK_COORD_SIZET_constpure(CLASS, PCLASS, CBNAME) \
|
#define IMP_PYCALLBACK_COORD_SIZET_constpure(CLASS, PCLASS, CBNAME) \
|
||||||
wxCoord CLASS::CBNAME(size_t a) const { \
|
wxCoord CLASS::CBNAME(size_t a) const { \
|
||||||
wxCoord rval=0; \
|
wxCoord rval=0; \
|
||||||
bool found; \
|
bool found; \
|
||||||
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
|
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
|
||||||
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
|
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
|
||||||
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(i)", a)); \
|
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(i)", a)); \
|
||||||
} \
|
} \
|
||||||
@@ -2427,6 +2463,67 @@ extern wxPyApp *wxPythonApp;
|
|||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#define DEC_PYCALLBACK__DCRECTINTINT_const(CBNAME) \
|
||||||
|
void CBNAME(wxDC& a, const wxRect& b, int c, int d) const
|
||||||
|
|
||||||
|
#define IMP_PYCALLBACK__DCRECTINTINT_const(CLASS, PCLASS, CBNAME) \
|
||||||
|
void CLASS::CBNAME(wxDC& a, const wxRect& b, int c, int d) const { \
|
||||||
|
bool found; \
|
||||||
|
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
|
||||||
|
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
|
||||||
|
PyObject* obj = wxPyMake_wxObject(&a,false); \
|
||||||
|
PyObject* ro = wxPyConstructObject((void*)&b, wxT("wxRect"), 0); \
|
||||||
|
wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OOii)", obj, ro, c, d)); \
|
||||||
|
Py_DECREF(obj); Py_DECREF(ro); \
|
||||||
|
} \
|
||||||
|
wxPyEndBlockThreads(blocked); \
|
||||||
|
if (! found) \
|
||||||
|
PCLASS::CBNAME(a,b,c,d); \
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#define DEC_PYCALLBACK__RECTINT(CBNAME) \
|
||||||
|
void CBNAME(const wxRect& a, int b)
|
||||||
|
|
||||||
|
#define IMP_PYCALLBACK__RECTINT(CLASS, PCLASS, CBNAME) \
|
||||||
|
void CLASS::CBNAME(const wxRect& a, int b) { \
|
||||||
|
bool found; \
|
||||||
|
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
|
||||||
|
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
|
||||||
|
PyObject* ro = wxPyConstructObject((void*)&a, wxT("wxRect"), 0); \
|
||||||
|
wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oi)", ro, b)); \
|
||||||
|
Py_DECREF(ro); \
|
||||||
|
} \
|
||||||
|
wxPyEndBlockThreads(blocked); \
|
||||||
|
if (! found) \
|
||||||
|
PCLASS::CBNAME(a,b); \
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#define DEC_PYCALLBACK_BOOL_RECTINT(CBNAME) \
|
||||||
|
bool CBNAME(const wxRect& a, int b)
|
||||||
|
|
||||||
|
#define IMP_PYCALLBACK_BOOL_RECTINT(CLASS, PCLASS, CBNAME) \
|
||||||
|
bool CLASS::CBNAME(const wxRect& a, int b) { \
|
||||||
|
bool found; \
|
||||||
|
bool rval = false; \
|
||||||
|
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
|
||||||
|
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
|
||||||
|
PyObject* ro = wxPyConstructObject((void*)&a, wxT("wxRect"), 0); \
|
||||||
|
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oi)", ro, b));\
|
||||||
|
Py_DECREF(ro); \
|
||||||
|
} \
|
||||||
|
wxPyEndBlockThreads(blocked); \
|
||||||
|
if (! found) \
|
||||||
|
rval = PCLASS::CBNAME(a,b); \
|
||||||
|
return rval; \
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
#define DEC_PYCALLBACK_STRING_SIZET(CBNAME) \
|
#define DEC_PYCALLBACK_STRING_SIZET(CBNAME) \
|
||||||
wxString CBNAME(size_t a) const
|
wxString CBNAME(size_t a) const
|
||||||
|
|
||||||
|
@@ -361,6 +361,20 @@ ext = Extension('_calendar', swig_sources,
|
|||||||
wxpExtensions.append(ext)
|
wxpExtensions.append(ext)
|
||||||
|
|
||||||
|
|
||||||
|
swig_sources = run_swig(['combo.i'], 'src', GENDIR, PKGDIR,
|
||||||
|
USE_SWIG, swig_force, swig_args, swig_deps)
|
||||||
|
ext = Extension('_combo', swig_sources,
|
||||||
|
include_dirs = includes,
|
||||||
|
define_macros = defines,
|
||||||
|
library_dirs = libdirs,
|
||||||
|
libraries = libs,
|
||||||
|
extra_compile_args = cflags,
|
||||||
|
extra_link_args = lflags,
|
||||||
|
**depends
|
||||||
|
)
|
||||||
|
wxpExtensions.append(ext)
|
||||||
|
|
||||||
|
|
||||||
swig_sources = run_swig(['grid.i'], 'src', GENDIR, PKGDIR,
|
swig_sources = run_swig(['grid.i'], 'src', GENDIR, PKGDIR,
|
||||||
USE_SWIG, swig_force, swig_args, swig_deps)
|
USE_SWIG, swig_force, swig_args, swig_deps)
|
||||||
ext = Extension('_grid', swig_sources,
|
ext = Extension('_grid', swig_sources,
|
||||||
|
713
wxPython/src/combo.i
Normal file
713
wxPython/src/combo.i
Normal file
@@ -0,0 +1,713 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: combo.i
|
||||||
|
// Purpose: SWIG interface for the owner-drawn combobox classes
|
||||||
|
//
|
||||||
|
// Author: Robin Dunn
|
||||||
|
//
|
||||||
|
// Created: 11-Nov-2006
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) 2006 by Total Control Software
|
||||||
|
// Licence: wxWindows license
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
%define DOCSTRING
|
||||||
|
"ComboCtrl class that can have any type of popup widget, and also an
|
||||||
|
owner-drawn combobox control."
|
||||||
|
%enddef
|
||||||
|
|
||||||
|
%module(package="wx", docstring=DOCSTRING) combo
|
||||||
|
|
||||||
|
%{
|
||||||
|
#include "wx/wxPython/wxPython.h"
|
||||||
|
#include "wx/wxPython/pyclasses.h"
|
||||||
|
|
||||||
|
#include <wx/combo.h>
|
||||||
|
#include <wx/odcombo.h>
|
||||||
|
%}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
%import windows.i
|
||||||
|
%pythoncode { wx = _core }
|
||||||
|
%pythoncode { __docfilter__ = wx.__DocFilter(globals()) }
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
%newgroup
|
||||||
|
|
||||||
|
MAKE_CONST_WXSTRING_NOSWIG(ComboBoxNameStr);
|
||||||
|
MAKE_CONST_WXSTRING_NOSWIG(EmptyString);
|
||||||
|
|
||||||
|
%{
|
||||||
|
const wxArrayString wxPyEmptyStringArray;
|
||||||
|
%}
|
||||||
|
|
||||||
|
|
||||||
|
enum {
|
||||||
|
// Button is preferred outside the border (GTK style)
|
||||||
|
wxCC_BUTTON_OUTSIDE_BORDER = 0x0001,
|
||||||
|
// Show popup on mouse up instead of mouse down (which is the Windows style)
|
||||||
|
wxCC_POPUP_ON_MOUSE_UP = 0x0002,
|
||||||
|
// All text is not automatically selected on click
|
||||||
|
wxCC_NO_TEXT_AUTO_SELECT = 0x0004,
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// Flags used by PreprocessMouseEvent and HandleButtonMouseEvent
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
wxCC_MF_ON_BUTTON = 0x0001, // cursor is on dropbutton area
|
||||||
|
wxCC_MF_ON_CLICK_AREA = 0x0002 // cursor is on dropbutton or other area
|
||||||
|
// that can be clicked to show the popup.
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// Namespace for wxComboCtrl feature flags
|
||||||
|
struct wxComboCtrlFeatures
|
||||||
|
{
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
MovableButton = 0x0001, // Button can be on either side of control
|
||||||
|
BitmapButton = 0x0002, // Button may be replaced with bitmap
|
||||||
|
ButtonSpacing = 0x0004, // Button can have spacing from the edge
|
||||||
|
// of the control
|
||||||
|
TextIndent = 0x0008, // SetTextIndent can be used
|
||||||
|
PaintControl = 0x0010, // Combo control itself can be custom painted
|
||||||
|
PaintWritable = 0x0020, // A variable-width area in front of writable
|
||||||
|
// combo control's textctrl can be custom
|
||||||
|
// painted
|
||||||
|
Borderless = 0x0040, // wxNO_BORDER window style works
|
||||||
|
|
||||||
|
// There are no feature flags for...
|
||||||
|
// PushButtonBitmapBackground - if its in wxRendererNative, then it should be
|
||||||
|
// not an issue to have it automatically under the bitmap.
|
||||||
|
|
||||||
|
All = MovableButton|BitmapButton|
|
||||||
|
ButtonSpacing|TextIndent|
|
||||||
|
PaintControl|PaintWritable|
|
||||||
|
Borderless
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// C++ implemetation of Python aware wxComboCtrl
|
||||||
|
%{
|
||||||
|
class wxPyComboCtrl : public wxComboCtrl
|
||||||
|
{
|
||||||
|
DECLARE_ABSTRACT_CLASS(wxPyComboCtrl)
|
||||||
|
public:
|
||||||
|
wxPyComboCtrl() : wxComboCtrl() {}
|
||||||
|
wxPyComboCtrl(wxWindow *parent,
|
||||||
|
wxWindowID id = wxID_ANY,
|
||||||
|
const wxString& value = wxEmptyString,
|
||||||
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize,
|
||||||
|
long style = 0,
|
||||||
|
const wxValidator& validator = wxDefaultValidator,
|
||||||
|
const wxString& name = wxPyComboBoxNameStr)
|
||||||
|
: wxComboCtrl(parent, id, value, pos, size, style, validator, name)
|
||||||
|
{}
|
||||||
|
|
||||||
|
void DoSetPopupControl(wxComboPopup* popup)
|
||||||
|
{
|
||||||
|
bool found;
|
||||||
|
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||||
|
if ((found = wxPyCBH_findCallback(m_myInst, "DoSetPopupControl"))) {
|
||||||
|
PyObject* obj = wxPyConstructObject(popup, wxT("wxComboPopup"), false);
|
||||||
|
wxPyCBH_callCallback(m_myInst, Py_BuildValue("(O)",obj));
|
||||||
|
Py_DECREF(obj);
|
||||||
|
}
|
||||||
|
wxPyEndBlockThreads(blocked);
|
||||||
|
if (! found)
|
||||||
|
wxComboCtrl::DoSetPopupControl(popup);
|
||||||
|
}
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
ShowBelow = 0x0000, // Showing popup below the control
|
||||||
|
ShowAbove = 0x0001, // Showing popup above the control
|
||||||
|
CanDeferShow = 0x0002 // Can only return true from AnimateShow if this is set
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
DEC_PYCALLBACK_VOID_(OnButtonClick);
|
||||||
|
DEC_PYCALLBACK__RECTINT(DoShowPopup);
|
||||||
|
DEC_PYCALLBACK_BOOL_RECTINT(AnimateShow);
|
||||||
|
|
||||||
|
PYPRIVATE;
|
||||||
|
};
|
||||||
|
|
||||||
|
IMPLEMENT_ABSTRACT_CLASS(wxPyComboCtrl, wxComboCtrl);
|
||||||
|
|
||||||
|
IMP_PYCALLBACK_VOID_(wxPyComboCtrl, wxComboCtrl, OnButtonClick);
|
||||||
|
IMP_PYCALLBACK__RECTINT(wxPyComboCtrl, wxComboCtrl, DoShowPopup);
|
||||||
|
IMP_PYCALLBACK_BOOL_RECTINT(wxPyComboCtrl, wxComboCtrl, AnimateShow);
|
||||||
|
|
||||||
|
%}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Now declare wxPyComboCtrl for Python
|
||||||
|
MustHaveApp(wxPyComboCtrl);
|
||||||
|
%rename(ComboCtrl) wxPyComboCtrl;
|
||||||
|
|
||||||
|
class wxPyComboCtrl : public wxControl
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
%pythonAppend wxPyComboCtrl "self._setOORInfo(self);" setCallbackInfo(ComboCtrl)
|
||||||
|
%pythonAppend wxPyComboCtrl() "";
|
||||||
|
|
||||||
|
wxPyComboCtrl(wxWindow *parent,
|
||||||
|
wxWindowID id = wxID_ANY,
|
||||||
|
const wxString& value = wxEmptyString,
|
||||||
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize,
|
||||||
|
long style = 0,
|
||||||
|
const wxValidator& validator = wxDefaultValidator,
|
||||||
|
const wxString& name = wxPyComboBoxNameStr);
|
||||||
|
|
||||||
|
%RenameCtor(PreComboCtrl, wxPyComboCtrl());
|
||||||
|
|
||||||
|
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
||||||
|
|
||||||
|
// show/hide popup window
|
||||||
|
virtual void ShowPopup();
|
||||||
|
virtual void HidePopup();
|
||||||
|
|
||||||
|
// Override for totally custom combo action
|
||||||
|
virtual void OnButtonClick();
|
||||||
|
|
||||||
|
// return true if the popup is currently shown
|
||||||
|
bool IsPopupShown() const;
|
||||||
|
|
||||||
|
|
||||||
|
// set interface class instance derived from wxComboPopup
|
||||||
|
// NULL popup can be used to indicate default in a derived class
|
||||||
|
%disownarg(wxPyComboPopup* popup);
|
||||||
|
void SetPopupControl( wxPyComboPopup* popup );
|
||||||
|
%cleardisown(wxPyComboPopup* popup);
|
||||||
|
|
||||||
|
|
||||||
|
// get interface class instance derived from wxComboPopup
|
||||||
|
wxPyComboPopup* GetPopupControl();
|
||||||
|
|
||||||
|
// get the popup window containing the popup control
|
||||||
|
wxWindow *GetPopupWindow() const;
|
||||||
|
|
||||||
|
// Get the text control which is part of the combobox.
|
||||||
|
wxTextCtrl *GetTextCtrl() const;
|
||||||
|
|
||||||
|
// get the dropdown button which is part of the combobox
|
||||||
|
// note: its not necessarily a wxButton or wxBitmapButton
|
||||||
|
wxWindow *GetButton() const;
|
||||||
|
|
||||||
|
// forward these methods to all subcontrols
|
||||||
|
virtual bool Enable(bool enable = true);
|
||||||
|
virtual bool Show(bool show = true);
|
||||||
|
virtual bool SetFont(const wxFont& font);
|
||||||
|
|
||||||
|
// wxTextCtrl methods - for readonly combo they should return
|
||||||
|
// without errors.
|
||||||
|
virtual wxString GetValue() const;
|
||||||
|
virtual void SetValue(const wxString& value);
|
||||||
|
virtual void Copy();
|
||||||
|
virtual void Cut();
|
||||||
|
virtual void Paste();
|
||||||
|
virtual void SetInsertionPoint(long pos);
|
||||||
|
virtual void SetInsertionPointEnd();
|
||||||
|
virtual long GetInsertionPoint() const;
|
||||||
|
virtual long GetLastPosition() const;
|
||||||
|
virtual void Replace(long from, long to, const wxString& value);
|
||||||
|
virtual void Remove(long from, long to);
|
||||||
|
virtual void Undo();
|
||||||
|
|
||||||
|
%Rename(SetMark, void , SetSelection(long from, long to));
|
||||||
|
|
||||||
|
// This method sets the text without affecting list selection
|
||||||
|
// (ie. wxComboPopup::SetStringValue doesn't get called).
|
||||||
|
void SetText(const wxString& value);
|
||||||
|
|
||||||
|
// This method sets value and also optionally sends EVT_TEXT
|
||||||
|
// (needed by combo popups)
|
||||||
|
void SetValueWithEvent(const wxString& value, bool withEvent = true);
|
||||||
|
|
||||||
|
//
|
||||||
|
// Popup customization methods
|
||||||
|
//
|
||||||
|
|
||||||
|
// Sets minimum width of the popup. If wider than combo control, it will
|
||||||
|
// extend to the left.
|
||||||
|
// Remarks:
|
||||||
|
// * Value -1 indicates the default.
|
||||||
|
// * Custom popup may choose to ignore this (wxOwnerDrawnComboBox does not).
|
||||||
|
void SetPopupMinWidth( int width );
|
||||||
|
|
||||||
|
// Sets preferred maximum height of the popup.
|
||||||
|
// Remarks:
|
||||||
|
// * Value -1 indicates the default.
|
||||||
|
// * Custom popup may choose to ignore this (wxOwnerDrawnComboBox does not).
|
||||||
|
void SetPopupMaxHeight( int height );
|
||||||
|
|
||||||
|
// Extends popup size horizontally, relative to the edges of the combo control.
|
||||||
|
// Remarks:
|
||||||
|
// * Popup minimum width may override extLeft (ie. it has higher precedence).
|
||||||
|
// * Values 0 indicate default.
|
||||||
|
// * Custom popup may not take this fully into account (wxOwnerDrawnComboBox takes).
|
||||||
|
void SetPopupExtents( int extLeft, int extRight );
|
||||||
|
|
||||||
|
// Set width, in pixels, of custom paint area in writable combo.
|
||||||
|
// In read-only, used to indicate area that is not covered by the
|
||||||
|
// focus rectangle (which may or may not be drawn, depending on the
|
||||||
|
// popup type).
|
||||||
|
void SetCustomPaintWidth( int width );
|
||||||
|
int GetCustomPaintWidth() const;
|
||||||
|
|
||||||
|
// Set side of the control to which the popup will align itself.
|
||||||
|
// Valid values are wxLEFT, wxRIGHT and 0. The default value 0 means
|
||||||
|
// that the side of the button will be used.
|
||||||
|
void SetPopupAnchor( int anchorSide );
|
||||||
|
|
||||||
|
// Set position of dropdown button.
|
||||||
|
// width: button width. <= 0 for default.
|
||||||
|
// height: button height. <= 0 for default.
|
||||||
|
// side: wxLEFT or wxRIGHT, indicates on which side the button will be placed.
|
||||||
|
// spacingX: empty space on sides of the button. Default is 0.
|
||||||
|
// Remarks:
|
||||||
|
// There is no spacingY - the button will be centered vertically.
|
||||||
|
void SetButtonPosition( int width = -1,
|
||||||
|
int height = -1,
|
||||||
|
int side = wxRIGHT,
|
||||||
|
int spacingX = 0 );
|
||||||
|
|
||||||
|
// Returns current size of the dropdown button.
|
||||||
|
wxSize GetButtonSize();
|
||||||
|
|
||||||
|
//
|
||||||
|
// Sets dropbutton to be drawn with custom bitmaps.
|
||||||
|
//
|
||||||
|
// bmpNormal: drawn when cursor is not on button
|
||||||
|
// pushButtonBg: Draw push button background below the image.
|
||||||
|
// NOTE! This is usually only properly supported on platforms with appropriate
|
||||||
|
// method in wxRendererNative.
|
||||||
|
// bmpPressed: drawn when button is depressed
|
||||||
|
// bmpHover: drawn when cursor hovers on button. This is ignored on platforms
|
||||||
|
// that do not generally display hover differently.
|
||||||
|
// bmpDisabled: drawn when combobox is disabled.
|
||||||
|
void SetButtonBitmaps( const wxBitmap& bmpNormal,
|
||||||
|
bool pushButtonBg = false,
|
||||||
|
const wxBitmap& bmpPressed = wxNullBitmap,
|
||||||
|
const wxBitmap& bmpHover = wxNullBitmap,
|
||||||
|
const wxBitmap& bmpDisabled = wxNullBitmap );
|
||||||
|
|
||||||
|
//
|
||||||
|
// This will set the space in pixels between left edge of the control and the
|
||||||
|
// text, regardless whether control is read-only (ie. no wxTextCtrl) or not.
|
||||||
|
// Platform-specific default can be set with value-1.
|
||||||
|
// Remarks
|
||||||
|
// * This method may do nothing on some native implementations.
|
||||||
|
void SetTextIndent( int indent );
|
||||||
|
|
||||||
|
// Returns actual indentation in pixels.
|
||||||
|
wxCoord GetTextIndent() const;
|
||||||
|
|
||||||
|
// Returns area covered by the text field.
|
||||||
|
const wxRect& GetTextRect() const;
|
||||||
|
|
||||||
|
// Call with enable as true to use a type of popup window that guarantees ability
|
||||||
|
// to focus the popup control, and normal function of common native controls.
|
||||||
|
// This alternative popup window is usually a wxDialog, and as such it's parent
|
||||||
|
// frame will appear as if the focus has been lost from it.
|
||||||
|
void UseAltPopupWindow( bool enable = true );
|
||||||
|
|
||||||
|
// Call with false to disable popup animation, if any.
|
||||||
|
void EnablePopupAnimation( bool enable = true );
|
||||||
|
|
||||||
|
//
|
||||||
|
// Utilies needed by the popups or native implementations
|
||||||
|
//
|
||||||
|
|
||||||
|
// Returns true if given key combination should toggle the popup.
|
||||||
|
// NB: This is a separate from other keyboard handling because:
|
||||||
|
// 1) Replaceability.
|
||||||
|
// 2) Centralized code (otherwise it'd be split up between
|
||||||
|
// wxComboCtrl key handler and wxVListBoxComboPopup's
|
||||||
|
// key handler).
|
||||||
|
virtual bool IsKeyPopupToggle(const wxKeyEvent& event) const;
|
||||||
|
|
||||||
|
// Prepare background of combo control or an item in a dropdown list
|
||||||
|
// in a way typical on platform. This includes painting the focus/disabled
|
||||||
|
// background and setting the clipping region.
|
||||||
|
// Unless you plan to paint your own focus indicator, you should always call this
|
||||||
|
// in your wxComboPopup::PaintComboControl implementation.
|
||||||
|
// In addition, it sets pen and text colour to what looks good and proper
|
||||||
|
// against the background.
|
||||||
|
// flags: wxRendererNative flags: wxCONTROL_ISSUBMENU: is drawing a list item instead of combo control
|
||||||
|
// wxCONTROL_SELECTED: list item is selected
|
||||||
|
// wxCONTROL_DISABLED: control/item is disabled
|
||||||
|
virtual void PrepareBackground( wxDC& dc, const wxRect& rect, int flags ) const;
|
||||||
|
|
||||||
|
// Returns true if focus indicator should be drawn in the control.
|
||||||
|
bool ShouldDrawFocus() const;
|
||||||
|
|
||||||
|
// These methods return references to appropriate dropbutton bitmaps
|
||||||
|
const wxBitmap& GetBitmapNormal() const;
|
||||||
|
const wxBitmap& GetBitmapPressed() const;
|
||||||
|
const wxBitmap& GetBitmapHover() const;
|
||||||
|
const wxBitmap& GetBitmapDisabled() const;
|
||||||
|
|
||||||
|
// Return internal flags
|
||||||
|
wxUint32 GetInternalFlags() const;
|
||||||
|
|
||||||
|
// Return true if Create has finished
|
||||||
|
bool IsCreated() const;
|
||||||
|
|
||||||
|
// common code to be called on popup hide/dismiss
|
||||||
|
void OnPopupDismiss();
|
||||||
|
|
||||||
|
// PopupShown states
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
Hidden = 0,
|
||||||
|
//Closing = 1,
|
||||||
|
Animating = 2,
|
||||||
|
Visible = 3
|
||||||
|
};
|
||||||
|
|
||||||
|
bool IsPopupWindowState( int state ) const;
|
||||||
|
|
||||||
|
int GetPopupWindowState() const;
|
||||||
|
|
||||||
|
// Set value returned by GetMainWindowOfCompositeControl
|
||||||
|
void SetCtrlMainWnd( wxWindow* wnd );
|
||||||
|
|
||||||
|
static int GetFeatures();
|
||||||
|
|
||||||
|
|
||||||
|
// Flags for DoShowPopup and AnimateShow
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
ShowBelow = 0x0000, // Showing popup below the control
|
||||||
|
ShowAbove = 0x0001, // Showing popup above the control
|
||||||
|
CanDeferShow = 0x0002 // Can only return true from AnimateShow if this is set
|
||||||
|
};
|
||||||
|
|
||||||
|
// Shows and positions the popup.
|
||||||
|
virtual void DoShowPopup( const wxRect& rect, int flags );
|
||||||
|
|
||||||
|
// Implement in derived class to create a drop-down animation.
|
||||||
|
// Return true if finished immediately. Otherwise popup is only
|
||||||
|
// shown when the derived class call DoShowPopup.
|
||||||
|
// Flags are same as for DoShowPopup.
|
||||||
|
virtual bool AnimateShow( const wxRect& rect, int flags );
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
%newgroup
|
||||||
|
|
||||||
|
|
||||||
|
// C++ implemetation of Python aware wxComboCtrl
|
||||||
|
%{
|
||||||
|
class wxPyComboPopup : public wxComboPopup
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
wxPyComboPopup() : wxComboPopup() {}
|
||||||
|
~wxPyComboPopup() {}
|
||||||
|
|
||||||
|
|
||||||
|
DEC_PYCALLBACK_VOID_(Init);
|
||||||
|
DEC_PYCALLBACK_BOOL_WXWIN_pure(Create);
|
||||||
|
DEC_PYCALLBACK_VOID_(OnPopup);
|
||||||
|
DEC_PYCALLBACK_VOID_(OnDismiss);
|
||||||
|
DEC_PYCALLBACK__STRING(SetStringValue);
|
||||||
|
DEC_PYCALLBACK_STRING__constpure(GetStringValue);
|
||||||
|
DEC_PYCALLBACK_VOID_(OnComboDoubleClick);
|
||||||
|
DEC_PYCALLBACK_BOOL_(LazyCreate);
|
||||||
|
|
||||||
|
virtual wxWindow *GetControl()
|
||||||
|
{
|
||||||
|
wxWindow* rval = NULL;
|
||||||
|
const char* errmsg = "GetControl should return an object derived from wx.Window.";
|
||||||
|
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||||
|
if (wxPyCBH_findCallback(m_myInst, "GetControl")) {
|
||||||
|
PyObject* ro;
|
||||||
|
ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("()"));
|
||||||
|
if (ro) {
|
||||||
|
if (!wxPyConvertSwigPtr(ro, (void**)&rval, wxT("wxWindow")))
|
||||||
|
PyErr_SetString(PyExc_TypeError, errmsg);
|
||||||
|
Py_DECREF(ro);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
PyErr_SetString(PyExc_TypeError, errmsg);
|
||||||
|
wxPyEndBlockThreads(blocked);
|
||||||
|
return rval;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
virtual void PaintComboControl( wxDC& dc, const wxRect& rect )
|
||||||
|
{
|
||||||
|
bool found;
|
||||||
|
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||||
|
if ((found = wxPyCBH_findCallback(m_myInst, "PaintComboControl"))) {
|
||||||
|
PyObject* odc = wxPyMake_wxObject(&dc,false);
|
||||||
|
PyObject* orect = wxPyConstructObject((void*)&rect, wxT("wxRect"), 0);
|
||||||
|
wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OO)", odc, orect));
|
||||||
|
Py_DECREF(odc);
|
||||||
|
Py_DECREF(orect);
|
||||||
|
}
|
||||||
|
wxPyEndBlockThreads(blocked);
|
||||||
|
if (! found)
|
||||||
|
wxComboPopup::PaintComboControl(dc, rect);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
virtual void OnComboKeyEvent( wxKeyEvent& event )
|
||||||
|
{
|
||||||
|
bool found;
|
||||||
|
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||||
|
if ((found = wxPyCBH_findCallback(m_myInst, "OnComboKeyEvent"))) {
|
||||||
|
PyObject* oevt = wxPyConstructObject((void*)&event, wxT("wxKeyEvent"), 0);
|
||||||
|
wxPyCBH_callCallback(m_myInst, Py_BuildValue("(O)", oevt));
|
||||||
|
Py_DECREF(oevt);
|
||||||
|
}
|
||||||
|
wxPyEndBlockThreads(blocked);
|
||||||
|
if (! found)
|
||||||
|
wxComboPopup::OnComboKeyEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
virtual wxSize GetAdjustedSize( int minWidth, int prefHeight, int maxHeight )
|
||||||
|
{
|
||||||
|
const char* errmsg = "GetAdjustedSize should return a wx.Size or a 2-tuple of integers.";
|
||||||
|
bool found;
|
||||||
|
wxSize rval(0,0);
|
||||||
|
wxSize* rptr = &rval;
|
||||||
|
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||||
|
if ((found = wxPyCBH_findCallback(m_myInst, "GetAdjustedSize"))) {
|
||||||
|
PyObject* ro;
|
||||||
|
ro = wxPyCBH_callCallbackObj(
|
||||||
|
m_myInst, Py_BuildValue("(iii)", minWidth, prefHeight, maxHeight));
|
||||||
|
if (ro) {
|
||||||
|
if (! wxSize_helper(ro, &rptr))
|
||||||
|
PyErr_SetString(PyExc_TypeError, errmsg);
|
||||||
|
else
|
||||||
|
rval = *rptr;
|
||||||
|
Py_DECREF(ro);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
wxPyEndBlockThreads(blocked);
|
||||||
|
if (! found)
|
||||||
|
rval = wxComboPopup::GetAdjustedSize(minWidth, prefHeight, maxHeight);
|
||||||
|
return rval;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxComboCtrl* GetCombo() { return (wxComboCtrl*)m_combo; }
|
||||||
|
|
||||||
|
PYPRIVATE;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
IMP_PYCALLBACK_VOID_(wxPyComboPopup, wxComboPopup, Init);
|
||||||
|
IMP_PYCALLBACK_BOOL_WXWIN_pure(wxPyComboPopup, wxComboPopup, Create);
|
||||||
|
IMP_PYCALLBACK_VOID_(wxPyComboPopup, wxComboPopup, OnPopup);
|
||||||
|
IMP_PYCALLBACK_VOID_(wxPyComboPopup, wxComboPopup, OnDismiss);
|
||||||
|
IMP_PYCALLBACK__STRING(wxPyComboPopup, wxComboPopup, SetStringValue);
|
||||||
|
IMP_PYCALLBACK_STRING__constpure(wxPyComboPopup, wxComboPopup, GetStringValue);
|
||||||
|
IMP_PYCALLBACK_VOID_(wxPyComboPopup, wxComboPopup, OnComboDoubleClick);
|
||||||
|
IMP_PYCALLBACK_BOOL_(wxPyComboPopup, wxComboPopup, LazyCreate);
|
||||||
|
|
||||||
|
%}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Now declare wxPyComboCtrl for Python
|
||||||
|
MustHaveApp(wxPyComboPopup);
|
||||||
|
%rename(ComboPopup) wxPyComboPopup;
|
||||||
|
|
||||||
|
class wxPyComboPopup
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
%pythonAppend wxPyComboPopup setCallbackInfo(ComboPopup);
|
||||||
|
|
||||||
|
wxPyComboPopup();
|
||||||
|
~wxPyComboPopup();
|
||||||
|
|
||||||
|
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
||||||
|
|
||||||
|
// This is called immediately after construction finishes. m_combo member
|
||||||
|
// variable has been initialized before the call.
|
||||||
|
// NOTE: It is not in constructor so the derived class doesn't need to redefine
|
||||||
|
// a default constructor of its own.
|
||||||
|
virtual void Init();
|
||||||
|
|
||||||
|
// Create the popup child control.
|
||||||
|
// Return true for success.
|
||||||
|
virtual bool Create(wxWindow* parent);
|
||||||
|
|
||||||
|
// We must have an associated control which is subclassed by the combobox.
|
||||||
|
virtual wxWindow *GetControl();
|
||||||
|
|
||||||
|
// Called immediately after the popup is shown
|
||||||
|
virtual void OnPopup();
|
||||||
|
|
||||||
|
// Called when popup is dismissed
|
||||||
|
virtual void OnDismiss();
|
||||||
|
|
||||||
|
// Called just prior to displaying popup.
|
||||||
|
// Default implementation does nothing.
|
||||||
|
virtual void SetStringValue( const wxString& value );
|
||||||
|
|
||||||
|
// Gets displayed string representation of the value.
|
||||||
|
virtual wxString GetStringValue() const;
|
||||||
|
|
||||||
|
// This is called to custom paint in the combo control itself (ie. not the popup).
|
||||||
|
// Default implementation draws value as string.
|
||||||
|
virtual void PaintComboControl( wxDC& dc, const wxRect& rect );
|
||||||
|
|
||||||
|
// Receives key events from the parent wxComboCtrl.
|
||||||
|
// Events not handled should be skipped, as usual.
|
||||||
|
virtual void OnComboKeyEvent( wxKeyEvent& event );
|
||||||
|
|
||||||
|
// Implement if you need to support special action when user
|
||||||
|
// double-clicks on the parent wxComboCtrl.
|
||||||
|
virtual void OnComboDoubleClick();
|
||||||
|
|
||||||
|
// Return final size of popup. Called on every popup, just prior to OnPopup.
|
||||||
|
// minWidth = preferred minimum width for window
|
||||||
|
// prefHeight = preferred height. Only applies if > 0,
|
||||||
|
// maxHeight = max height for window, as limited by screen size
|
||||||
|
// and should only be rounded down, if necessary.
|
||||||
|
virtual wxSize GetAdjustedSize( int minWidth, int prefHeight, int maxHeight );
|
||||||
|
|
||||||
|
// Return true if you want delay call to Create until the popup is shown
|
||||||
|
// for the first time. It is more efficient, but note that it is often
|
||||||
|
// more convenient to have the control created immediately.
|
||||||
|
// Default returns false.
|
||||||
|
virtual bool LazyCreate();
|
||||||
|
|
||||||
|
//
|
||||||
|
// Utilies
|
||||||
|
//
|
||||||
|
|
||||||
|
// Hides the popup
|
||||||
|
void Dismiss();
|
||||||
|
|
||||||
|
// Returns true if Create has been called.
|
||||||
|
bool IsCreated() const;
|
||||||
|
|
||||||
|
// Default PaintComboControl behaviour
|
||||||
|
static void DefaultPaintComboControl( wxComboCtrlBase* combo,
|
||||||
|
wxDC& dc,
|
||||||
|
const wxRect& rect );
|
||||||
|
|
||||||
|
wxPyComboCtrl* GetCombo();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
%newgroup
|
||||||
|
|
||||||
|
|
||||||
|
enum {
|
||||||
|
wxODCB_DCLICK_CYCLES,
|
||||||
|
wxODCB_STD_CONTROL_PAINT,
|
||||||
|
wxODCB_PAINTING_CONTROL,
|
||||||
|
wxODCB_PAINTING_SELECTED
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// C++ implemetation of Python aware wxOwnerDrawnComboBox
|
||||||
|
%{
|
||||||
|
class wxPyOwnerDrawnComboBox : public wxOwnerDrawnComboBox
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
wxPyOwnerDrawnComboBox() : wxOwnerDrawnComboBox() {}
|
||||||
|
wxPyOwnerDrawnComboBox(wxWindow *parent,
|
||||||
|
wxWindowID id,
|
||||||
|
const wxString& value,
|
||||||
|
const wxPoint& pos,
|
||||||
|
const wxSize& size,
|
||||||
|
const wxArrayString& choices,
|
||||||
|
long style,
|
||||||
|
const wxValidator& validator = wxDefaultValidator,
|
||||||
|
const wxString& name = wxPyComboBoxNameStr)
|
||||||
|
: wxOwnerDrawnComboBox(parent, id, value, pos, size, choices, style,
|
||||||
|
validator, name)
|
||||||
|
{}
|
||||||
|
|
||||||
|
DEC_PYCALLBACK__DCRECTINTINT_const(OnDrawItem);
|
||||||
|
DEC_PYCALLBACK_COORD_SIZET_const(OnMeasureItem);
|
||||||
|
DEC_PYCALLBACK_COORD_SIZET_const(OnMeasureItemWidth);
|
||||||
|
DEC_PYCALLBACK__DCRECTINTINT_const(OnDrawBackground);
|
||||||
|
|
||||||
|
|
||||||
|
PYPRIVATE;
|
||||||
|
};
|
||||||
|
|
||||||
|
IMP_PYCALLBACK__DCRECTINTINT_const(wxPyOwnerDrawnComboBox, wxOwnerDrawnComboBox, OnDrawItem);
|
||||||
|
IMP_PYCALLBACK_COORD_SIZET_const(wxPyOwnerDrawnComboBox, wxOwnerDrawnComboBox, OnMeasureItem);
|
||||||
|
IMP_PYCALLBACK_COORD_SIZET_const(wxPyOwnerDrawnComboBox, wxOwnerDrawnComboBox, OnMeasureItemWidth);
|
||||||
|
IMP_PYCALLBACK__DCRECTINTINT_const(wxPyOwnerDrawnComboBox, wxOwnerDrawnComboBox, OnDrawBackground);
|
||||||
|
|
||||||
|
%}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Now declare wxPyComboCtrl for Python
|
||||||
|
MustHaveApp(wxPyOwnerDrawnComboBox);
|
||||||
|
%rename(OwnerDrawnComboBox) wxPyOwnerDrawnComboBox;
|
||||||
|
|
||||||
|
class wxPyOwnerDrawnComboBox : public wxPyComboCtrl,
|
||||||
|
public wxItemContainer
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
%pythonAppend wxPyOwnerDrawnComboBox "self._setOORInfo(self);" setCallbackInfo(OwnerDrawnComboBox)
|
||||||
|
%pythonAppend wxPyOwnerDrawnComboBox() "";
|
||||||
|
|
||||||
|
wxPyOwnerDrawnComboBox(wxWindow *parent,
|
||||||
|
wxWindowID id = -1,
|
||||||
|
const wxString& value = wxPyEmptyString,
|
||||||
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize,
|
||||||
|
const wxArrayString& choices = wxPyEmptyStringArray,
|
||||||
|
long style = 0,
|
||||||
|
const wxValidator& validator = wxDefaultValidator,
|
||||||
|
const wxString& name = wxPyComboBoxNameStr);
|
||||||
|
|
||||||
|
%RenameCtor(PreOwnerDrawnComboBox, wxPyOwnerDrawnComboBox());
|
||||||
|
|
||||||
|
|
||||||
|
bool Create(wxWindow *parent,
|
||||||
|
wxWindowID id = -1,
|
||||||
|
const wxString& value = wxPyEmptyString,
|
||||||
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize,
|
||||||
|
const wxArrayString& choices = wxPyEmptyStringArray,
|
||||||
|
long style = 0,
|
||||||
|
const wxValidator& validator = wxDefaultValidator,
|
||||||
|
const wxString& name = wxPyComboBoxNameStr);
|
||||||
|
|
||||||
|
// Return the widest item width (recalculating it if necessary)
|
||||||
|
virtual int GetWidestItemWidth();
|
||||||
|
|
||||||
|
// Return the index of the widest item (recalculating it if necessary)
|
||||||
|
virtual int GetWidestItem();
|
||||||
|
|
||||||
|
void SetSelection(int n);
|
||||||
|
%Rename(SetMark, void , SetSelection(long from, long to));
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
%init %{
|
||||||
|
// Map renamed classes back to their common name for OOR
|
||||||
|
wxPyPtrTypeMap_Add("wxComboCtrl", "wxPyComboCtrl");
|
||||||
|
wxPyPtrTypeMap_Add("wxComboPopup", "wxPyComboPopup");
|
||||||
|
%}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
480
wxPython/src/gtk/combo.py
Normal file
480
wxPython/src/gtk/combo.py
Normal file
@@ -0,0 +1,480 @@
|
|||||||
|
# This file was created automatically by SWIG 1.3.29.
|
||||||
|
# Don't modify this file, modify the SWIG interface instead.
|
||||||
|
|
||||||
|
"""
|
||||||
|
ComboCtrl class that can have any type of popup widget, and also an
|
||||||
|
owner-drawn combobox control.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import _combo
|
||||||
|
import new
|
||||||
|
new_instancemethod = new.instancemethod
|
||||||
|
def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
|
||||||
|
if (name == "thisown"): return self.this.own(value)
|
||||||
|
if (name == "this"):
|
||||||
|
if type(value).__name__ == 'PySwigObject':
|
||||||
|
self.__dict__[name] = value
|
||||||
|
return
|
||||||
|
method = class_type.__swig_setmethods__.get(name,None)
|
||||||
|
if method: return method(self,value)
|
||||||
|
if (not static) or hasattr(self,name):
|
||||||
|
self.__dict__[name] = value
|
||||||
|
else:
|
||||||
|
raise AttributeError("You cannot add attributes to %s" % self)
|
||||||
|
|
||||||
|
def _swig_setattr(self,class_type,name,value):
|
||||||
|
return _swig_setattr_nondynamic(self,class_type,name,value,0)
|
||||||
|
|
||||||
|
def _swig_getattr(self,class_type,name):
|
||||||
|
if (name == "thisown"): return self.this.own()
|
||||||
|
method = class_type.__swig_getmethods__.get(name,None)
|
||||||
|
if method: return method(self)
|
||||||
|
raise AttributeError,name
|
||||||
|
|
||||||
|
def _swig_repr(self):
|
||||||
|
try: strthis = "proxy of " + self.this.__repr__()
|
||||||
|
except: strthis = ""
|
||||||
|
return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
|
||||||
|
|
||||||
|
import types
|
||||||
|
try:
|
||||||
|
_object = types.ObjectType
|
||||||
|
_newclass = 1
|
||||||
|
except AttributeError:
|
||||||
|
class _object : pass
|
||||||
|
_newclass = 0
|
||||||
|
del types
|
||||||
|
|
||||||
|
|
||||||
|
def _swig_setattr_nondynamic_method(set):
|
||||||
|
def set_attr(self,name,value):
|
||||||
|
if (name == "thisown"): return self.this.own(value)
|
||||||
|
if hasattr(self,name) or (name == "this"):
|
||||||
|
set(self,name,value)
|
||||||
|
else:
|
||||||
|
raise AttributeError("You cannot add attributes to %s" % self)
|
||||||
|
return set_attr
|
||||||
|
|
||||||
|
|
||||||
|
import _windows
|
||||||
|
import _core
|
||||||
|
wx = _core
|
||||||
|
__docfilter__ = wx.__DocFilter(globals())
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
CC_BUTTON_OUTSIDE_BORDER = _combo.CC_BUTTON_OUTSIDE_BORDER
|
||||||
|
CC_POPUP_ON_MOUSE_UP = _combo.CC_POPUP_ON_MOUSE_UP
|
||||||
|
CC_NO_TEXT_AUTO_SELECT = _combo.CC_NO_TEXT_AUTO_SELECT
|
||||||
|
CC_MF_ON_BUTTON = _combo.CC_MF_ON_BUTTON
|
||||||
|
CC_MF_ON_CLICK_AREA = _combo.CC_MF_ON_CLICK_AREA
|
||||||
|
class ComboCtrlFeatures(object):
|
||||||
|
"""Proxy of C++ ComboCtrlFeatures class"""
|
||||||
|
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
|
||||||
|
def __init__(self): raise AttributeError, "No constructor defined"
|
||||||
|
__repr__ = _swig_repr
|
||||||
|
MovableButton = _combo.ComboCtrlFeatures_MovableButton
|
||||||
|
BitmapButton = _combo.ComboCtrlFeatures_BitmapButton
|
||||||
|
ButtonSpacing = _combo.ComboCtrlFeatures_ButtonSpacing
|
||||||
|
TextIndent = _combo.ComboCtrlFeatures_TextIndent
|
||||||
|
PaintControl = _combo.ComboCtrlFeatures_PaintControl
|
||||||
|
PaintWritable = _combo.ComboCtrlFeatures_PaintWritable
|
||||||
|
Borderless = _combo.ComboCtrlFeatures_Borderless
|
||||||
|
All = _combo.ComboCtrlFeatures_All
|
||||||
|
_combo.ComboCtrlFeatures_swigregister(ComboCtrlFeatures)
|
||||||
|
|
||||||
|
class ComboCtrl(_core.Control):
|
||||||
|
"""Proxy of C++ ComboCtrl class"""
|
||||||
|
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
|
||||||
|
__repr__ = _swig_repr
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
"""
|
||||||
|
__init__(self, Window parent, int id=ID_ANY, String value=wxEmptyString,
|
||||||
|
Point pos=DefaultPosition, Size size=DefaultSize,
|
||||||
|
long style=0, Validator validator=DefaultValidator,
|
||||||
|
String name=wxPyComboBoxNameStr) -> ComboCtrl
|
||||||
|
"""
|
||||||
|
_combo.ComboCtrl_swiginit(self,_combo.new_ComboCtrl(*args, **kwargs))
|
||||||
|
self._setOORInfo(self);ComboCtrl._setCallbackInfo(self, self, ComboCtrl)
|
||||||
|
|
||||||
|
def _setCallbackInfo(*args, **kwargs):
|
||||||
|
"""_setCallbackInfo(self, PyObject self, PyObject _class)"""
|
||||||
|
return _combo.ComboCtrl__setCallbackInfo(*args, **kwargs)
|
||||||
|
|
||||||
|
def ShowPopup(*args, **kwargs):
|
||||||
|
"""ShowPopup(self)"""
|
||||||
|
return _combo.ComboCtrl_ShowPopup(*args, **kwargs)
|
||||||
|
|
||||||
|
def HidePopup(*args, **kwargs):
|
||||||
|
"""HidePopup(self)"""
|
||||||
|
return _combo.ComboCtrl_HidePopup(*args, **kwargs)
|
||||||
|
|
||||||
|
def OnButtonClick(*args, **kwargs):
|
||||||
|
"""OnButtonClick(self)"""
|
||||||
|
return _combo.ComboCtrl_OnButtonClick(*args, **kwargs)
|
||||||
|
|
||||||
|
def IsPopupShown(*args, **kwargs):
|
||||||
|
"""IsPopupShown(self) -> bool"""
|
||||||
|
return _combo.ComboCtrl_IsPopupShown(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetPopupControl(*args, **kwargs):
|
||||||
|
"""SetPopupControl(self, ComboPopup popup)"""
|
||||||
|
return _combo.ComboCtrl_SetPopupControl(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetPopupControl(*args, **kwargs):
|
||||||
|
"""GetPopupControl(self) -> ComboPopup"""
|
||||||
|
return _combo.ComboCtrl_GetPopupControl(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetPopupWindow(*args, **kwargs):
|
||||||
|
"""GetPopupWindow(self) -> Window"""
|
||||||
|
return _combo.ComboCtrl_GetPopupWindow(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetTextCtrl(*args, **kwargs):
|
||||||
|
"""GetTextCtrl(self) -> wxTextCtrl"""
|
||||||
|
return _combo.ComboCtrl_GetTextCtrl(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetButton(*args, **kwargs):
|
||||||
|
"""GetButton(self) -> Window"""
|
||||||
|
return _combo.ComboCtrl_GetButton(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetValue(*args, **kwargs):
|
||||||
|
"""GetValue(self) -> String"""
|
||||||
|
return _combo.ComboCtrl_GetValue(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetValue(*args, **kwargs):
|
||||||
|
"""SetValue(self, String value)"""
|
||||||
|
return _combo.ComboCtrl_SetValue(*args, **kwargs)
|
||||||
|
|
||||||
|
def Copy(*args, **kwargs):
|
||||||
|
"""Copy(self)"""
|
||||||
|
return _combo.ComboCtrl_Copy(*args, **kwargs)
|
||||||
|
|
||||||
|
def Cut(*args, **kwargs):
|
||||||
|
"""Cut(self)"""
|
||||||
|
return _combo.ComboCtrl_Cut(*args, **kwargs)
|
||||||
|
|
||||||
|
def Paste(*args, **kwargs):
|
||||||
|
"""Paste(self)"""
|
||||||
|
return _combo.ComboCtrl_Paste(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetInsertionPoint(*args, **kwargs):
|
||||||
|
"""SetInsertionPoint(self, long pos)"""
|
||||||
|
return _combo.ComboCtrl_SetInsertionPoint(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetInsertionPointEnd(*args, **kwargs):
|
||||||
|
"""SetInsertionPointEnd(self)"""
|
||||||
|
return _combo.ComboCtrl_SetInsertionPointEnd(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetInsertionPoint(*args, **kwargs):
|
||||||
|
"""GetInsertionPoint(self) -> long"""
|
||||||
|
return _combo.ComboCtrl_GetInsertionPoint(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetLastPosition(*args, **kwargs):
|
||||||
|
"""GetLastPosition(self) -> long"""
|
||||||
|
return _combo.ComboCtrl_GetLastPosition(*args, **kwargs)
|
||||||
|
|
||||||
|
def Replace(*args, **kwargs):
|
||||||
|
"""Replace(self, long from, long to, String value)"""
|
||||||
|
return _combo.ComboCtrl_Replace(*args, **kwargs)
|
||||||
|
|
||||||
|
def Remove(*args, **kwargs):
|
||||||
|
"""Remove(self, long from, long to)"""
|
||||||
|
return _combo.ComboCtrl_Remove(*args, **kwargs)
|
||||||
|
|
||||||
|
def Undo(*args, **kwargs):
|
||||||
|
"""Undo(self)"""
|
||||||
|
return _combo.ComboCtrl_Undo(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetMark(*args, **kwargs):
|
||||||
|
"""SetMark(self, long from, long to)"""
|
||||||
|
return _combo.ComboCtrl_SetMark(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetText(*args, **kwargs):
|
||||||
|
"""SetText(self, String value)"""
|
||||||
|
return _combo.ComboCtrl_SetText(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetValueWithEvent(*args, **kwargs):
|
||||||
|
"""SetValueWithEvent(self, String value, bool withEvent=True)"""
|
||||||
|
return _combo.ComboCtrl_SetValueWithEvent(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetPopupMinWidth(*args, **kwargs):
|
||||||
|
"""SetPopupMinWidth(self, int width)"""
|
||||||
|
return _combo.ComboCtrl_SetPopupMinWidth(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetPopupMaxHeight(*args, **kwargs):
|
||||||
|
"""SetPopupMaxHeight(self, int height)"""
|
||||||
|
return _combo.ComboCtrl_SetPopupMaxHeight(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetPopupExtents(*args, **kwargs):
|
||||||
|
"""SetPopupExtents(self, int extLeft, int extRight)"""
|
||||||
|
return _combo.ComboCtrl_SetPopupExtents(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetCustomPaintWidth(*args, **kwargs):
|
||||||
|
"""SetCustomPaintWidth(self, int width)"""
|
||||||
|
return _combo.ComboCtrl_SetCustomPaintWidth(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetCustomPaintWidth(*args, **kwargs):
|
||||||
|
"""GetCustomPaintWidth(self) -> int"""
|
||||||
|
return _combo.ComboCtrl_GetCustomPaintWidth(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetPopupAnchor(*args, **kwargs):
|
||||||
|
"""SetPopupAnchor(self, int anchorSide)"""
|
||||||
|
return _combo.ComboCtrl_SetPopupAnchor(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetButtonPosition(*args, **kwargs):
|
||||||
|
"""SetButtonPosition(self, int width=-1, int height=-1, int side=RIGHT, int spacingX=0)"""
|
||||||
|
return _combo.ComboCtrl_SetButtonPosition(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetButtonSize(*args, **kwargs):
|
||||||
|
"""GetButtonSize(self) -> Size"""
|
||||||
|
return _combo.ComboCtrl_GetButtonSize(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetButtonBitmaps(*args, **kwargs):
|
||||||
|
"""
|
||||||
|
SetButtonBitmaps(self, Bitmap bmpNormal, bool pushButtonBg=False, Bitmap bmpPressed=wxNullBitmap,
|
||||||
|
Bitmap bmpHover=wxNullBitmap,
|
||||||
|
Bitmap bmpDisabled=wxNullBitmap)
|
||||||
|
"""
|
||||||
|
return _combo.ComboCtrl_SetButtonBitmaps(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetTextIndent(*args, **kwargs):
|
||||||
|
"""SetTextIndent(self, int indent)"""
|
||||||
|
return _combo.ComboCtrl_SetTextIndent(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetTextIndent(*args, **kwargs):
|
||||||
|
"""GetTextIndent(self) -> int"""
|
||||||
|
return _combo.ComboCtrl_GetTextIndent(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetTextRect(*args, **kwargs):
|
||||||
|
"""GetTextRect(self) -> Rect"""
|
||||||
|
return _combo.ComboCtrl_GetTextRect(*args, **kwargs)
|
||||||
|
|
||||||
|
def UseAltPopupWindow(*args, **kwargs):
|
||||||
|
"""UseAltPopupWindow(self, bool enable=True)"""
|
||||||
|
return _combo.ComboCtrl_UseAltPopupWindow(*args, **kwargs)
|
||||||
|
|
||||||
|
def EnablePopupAnimation(*args, **kwargs):
|
||||||
|
"""EnablePopupAnimation(self, bool enable=True)"""
|
||||||
|
return _combo.ComboCtrl_EnablePopupAnimation(*args, **kwargs)
|
||||||
|
|
||||||
|
def IsKeyPopupToggle(*args, **kwargs):
|
||||||
|
"""IsKeyPopupToggle(self, KeyEvent event) -> bool"""
|
||||||
|
return _combo.ComboCtrl_IsKeyPopupToggle(*args, **kwargs)
|
||||||
|
|
||||||
|
def PrepareBackground(*args, **kwargs):
|
||||||
|
"""PrepareBackground(self, DC dc, Rect rect, int flags)"""
|
||||||
|
return _combo.ComboCtrl_PrepareBackground(*args, **kwargs)
|
||||||
|
|
||||||
|
def ShouldDrawFocus(*args, **kwargs):
|
||||||
|
"""ShouldDrawFocus(self) -> bool"""
|
||||||
|
return _combo.ComboCtrl_ShouldDrawFocus(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetBitmapNormal(*args, **kwargs):
|
||||||
|
"""GetBitmapNormal(self) -> Bitmap"""
|
||||||
|
return _combo.ComboCtrl_GetBitmapNormal(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetBitmapPressed(*args, **kwargs):
|
||||||
|
"""GetBitmapPressed(self) -> Bitmap"""
|
||||||
|
return _combo.ComboCtrl_GetBitmapPressed(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetBitmapHover(*args, **kwargs):
|
||||||
|
"""GetBitmapHover(self) -> Bitmap"""
|
||||||
|
return _combo.ComboCtrl_GetBitmapHover(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetBitmapDisabled(*args, **kwargs):
|
||||||
|
"""GetBitmapDisabled(self) -> Bitmap"""
|
||||||
|
return _combo.ComboCtrl_GetBitmapDisabled(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetInternalFlags(*args, **kwargs):
|
||||||
|
"""GetInternalFlags(self) -> unsigned int"""
|
||||||
|
return _combo.ComboCtrl_GetInternalFlags(*args, **kwargs)
|
||||||
|
|
||||||
|
def IsCreated(*args, **kwargs):
|
||||||
|
"""IsCreated(self) -> bool"""
|
||||||
|
return _combo.ComboCtrl_IsCreated(*args, **kwargs)
|
||||||
|
|
||||||
|
def OnPopupDismiss(*args, **kwargs):
|
||||||
|
"""OnPopupDismiss(self)"""
|
||||||
|
return _combo.ComboCtrl_OnPopupDismiss(*args, **kwargs)
|
||||||
|
|
||||||
|
Hidden = _combo.ComboCtrl_Hidden
|
||||||
|
Animating = _combo.ComboCtrl_Animating
|
||||||
|
Visible = _combo.ComboCtrl_Visible
|
||||||
|
def IsPopupWindowState(*args, **kwargs):
|
||||||
|
"""IsPopupWindowState(self, int state) -> bool"""
|
||||||
|
return _combo.ComboCtrl_IsPopupWindowState(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetPopupWindowState(*args, **kwargs):
|
||||||
|
"""GetPopupWindowState(self) -> int"""
|
||||||
|
return _combo.ComboCtrl_GetPopupWindowState(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetCtrlMainWnd(*args, **kwargs):
|
||||||
|
"""SetCtrlMainWnd(self, Window wnd)"""
|
||||||
|
return _combo.ComboCtrl_SetCtrlMainWnd(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetFeatures(*args, **kwargs):
|
||||||
|
"""GetFeatures() -> int"""
|
||||||
|
return _combo.ComboCtrl_GetFeatures(*args, **kwargs)
|
||||||
|
|
||||||
|
GetFeatures = staticmethod(GetFeatures)
|
||||||
|
ShowBelow = _combo.ComboCtrl_ShowBelow
|
||||||
|
ShowAbove = _combo.ComboCtrl_ShowAbove
|
||||||
|
CanDeferShow = _combo.ComboCtrl_CanDeferShow
|
||||||
|
def DoShowPopup(*args, **kwargs):
|
||||||
|
"""DoShowPopup(self, Rect rect, int flags)"""
|
||||||
|
return _combo.ComboCtrl_DoShowPopup(*args, **kwargs)
|
||||||
|
|
||||||
|
def AnimateShow(*args, **kwargs):
|
||||||
|
"""AnimateShow(self, Rect rect, int flags) -> bool"""
|
||||||
|
return _combo.ComboCtrl_AnimateShow(*args, **kwargs)
|
||||||
|
|
||||||
|
_combo.ComboCtrl_swigregister(ComboCtrl)
|
||||||
|
|
||||||
|
def PreComboCtrl(*args, **kwargs):
|
||||||
|
"""PreComboCtrl() -> ComboCtrl"""
|
||||||
|
val = _combo.new_PreComboCtrl(*args, **kwargs)
|
||||||
|
return val
|
||||||
|
|
||||||
|
def ComboCtrl_GetFeatures(*args):
|
||||||
|
"""ComboCtrl_GetFeatures() -> int"""
|
||||||
|
return _combo.ComboCtrl_GetFeatures(*args)
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class ComboPopup(object):
|
||||||
|
"""Proxy of C++ ComboPopup class"""
|
||||||
|
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
|
||||||
|
__repr__ = _swig_repr
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
"""__init__(self) -> ComboPopup"""
|
||||||
|
_combo.ComboPopup_swiginit(self,_combo.new_ComboPopup(*args, **kwargs))
|
||||||
|
ComboPopup._setCallbackInfo(self, self, ComboPopup)
|
||||||
|
|
||||||
|
__swig_destroy__ = _combo.delete_ComboPopup
|
||||||
|
__del__ = lambda self : None;
|
||||||
|
def _setCallbackInfo(*args, **kwargs):
|
||||||
|
"""_setCallbackInfo(self, PyObject self, PyObject _class)"""
|
||||||
|
return _combo.ComboPopup__setCallbackInfo(*args, **kwargs)
|
||||||
|
|
||||||
|
def Init(*args, **kwargs):
|
||||||
|
"""Init(self)"""
|
||||||
|
return _combo.ComboPopup_Init(*args, **kwargs)
|
||||||
|
|
||||||
|
def Create(*args, **kwargs):
|
||||||
|
"""Create(self, Window parent) -> bool"""
|
||||||
|
return _combo.ComboPopup_Create(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetControl(*args, **kwargs):
|
||||||
|
"""GetControl(self) -> Window"""
|
||||||
|
return _combo.ComboPopup_GetControl(*args, **kwargs)
|
||||||
|
|
||||||
|
def OnPopup(*args, **kwargs):
|
||||||
|
"""OnPopup(self)"""
|
||||||
|
return _combo.ComboPopup_OnPopup(*args, **kwargs)
|
||||||
|
|
||||||
|
def OnDismiss(*args, **kwargs):
|
||||||
|
"""OnDismiss(self)"""
|
||||||
|
return _combo.ComboPopup_OnDismiss(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetStringValue(*args, **kwargs):
|
||||||
|
"""SetStringValue(self, String value)"""
|
||||||
|
return _combo.ComboPopup_SetStringValue(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetStringValue(*args, **kwargs):
|
||||||
|
"""GetStringValue(self) -> String"""
|
||||||
|
return _combo.ComboPopup_GetStringValue(*args, **kwargs)
|
||||||
|
|
||||||
|
def PaintComboControl(*args, **kwargs):
|
||||||
|
"""PaintComboControl(self, DC dc, Rect rect)"""
|
||||||
|
return _combo.ComboPopup_PaintComboControl(*args, **kwargs)
|
||||||
|
|
||||||
|
def OnComboKeyEvent(*args, **kwargs):
|
||||||
|
"""OnComboKeyEvent(self, KeyEvent event)"""
|
||||||
|
return _combo.ComboPopup_OnComboKeyEvent(*args, **kwargs)
|
||||||
|
|
||||||
|
def OnComboDoubleClick(*args, **kwargs):
|
||||||
|
"""OnComboDoubleClick(self)"""
|
||||||
|
return _combo.ComboPopup_OnComboDoubleClick(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetAdjustedSize(*args, **kwargs):
|
||||||
|
"""GetAdjustedSize(self, int minWidth, int prefHeight, int maxHeight) -> Size"""
|
||||||
|
return _combo.ComboPopup_GetAdjustedSize(*args, **kwargs)
|
||||||
|
|
||||||
|
def LazyCreate(*args, **kwargs):
|
||||||
|
"""LazyCreate(self) -> bool"""
|
||||||
|
return _combo.ComboPopup_LazyCreate(*args, **kwargs)
|
||||||
|
|
||||||
|
def Dismiss(*args, **kwargs):
|
||||||
|
"""Dismiss(self)"""
|
||||||
|
return _combo.ComboPopup_Dismiss(*args, **kwargs)
|
||||||
|
|
||||||
|
def IsCreated(*args, **kwargs):
|
||||||
|
"""IsCreated(self) -> bool"""
|
||||||
|
return _combo.ComboPopup_IsCreated(*args, **kwargs)
|
||||||
|
|
||||||
|
def DefaultPaintComboControl(*args, **kwargs):
|
||||||
|
"""DefaultPaintComboControl(wxComboCtrlBase combo, DC dc, Rect rect)"""
|
||||||
|
return _combo.ComboPopup_DefaultPaintComboControl(*args, **kwargs)
|
||||||
|
|
||||||
|
DefaultPaintComboControl = staticmethod(DefaultPaintComboControl)
|
||||||
|
def GetCombo(*args, **kwargs):
|
||||||
|
"""GetCombo(self) -> ComboCtrl"""
|
||||||
|
return _combo.ComboPopup_GetCombo(*args, **kwargs)
|
||||||
|
|
||||||
|
_combo.ComboPopup_swigregister(ComboPopup)
|
||||||
|
|
||||||
|
def ComboPopup_DefaultPaintComboControl(*args, **kwargs):
|
||||||
|
"""ComboPopup_DefaultPaintComboControl(wxComboCtrlBase combo, DC dc, Rect rect)"""
|
||||||
|
return _combo.ComboPopup_DefaultPaintComboControl(*args, **kwargs)
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ODCB_DCLICK_CYCLES = _combo.ODCB_DCLICK_CYCLES
|
||||||
|
ODCB_STD_CONTROL_PAINT = _combo.ODCB_STD_CONTROL_PAINT
|
||||||
|
ODCB_PAINTING_CONTROL = _combo.ODCB_PAINTING_CONTROL
|
||||||
|
ODCB_PAINTING_SELECTED = _combo.ODCB_PAINTING_SELECTED
|
||||||
|
class OwnerDrawnComboBox(ComboCtrl,_core.ItemContainer):
|
||||||
|
"""Proxy of C++ OwnerDrawnComboBox class"""
|
||||||
|
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
|
||||||
|
__repr__ = _swig_repr
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
"""
|
||||||
|
__init__(self, Window parent, int id=-1, String value=EmptyString,
|
||||||
|
Point pos=DefaultPosition, Size size=DefaultSize,
|
||||||
|
wxArrayString choices=wxPyEmptyStringArray,
|
||||||
|
long style=0, Validator validator=DefaultValidator,
|
||||||
|
String name=wxPyComboBoxNameStr) -> OwnerDrawnComboBox
|
||||||
|
"""
|
||||||
|
_combo.OwnerDrawnComboBox_swiginit(self,_combo.new_OwnerDrawnComboBox(*args, **kwargs))
|
||||||
|
self._setOORInfo(self);OwnerDrawnComboBox._setCallbackInfo(self, self, OwnerDrawnComboBox)
|
||||||
|
|
||||||
|
def Create(*args, **kwargs):
|
||||||
|
"""
|
||||||
|
Create(self, Window parent, int id=-1, String value=EmptyString,
|
||||||
|
Point pos=DefaultPosition, Size size=DefaultSize,
|
||||||
|
wxArrayString choices=wxPyEmptyStringArray,
|
||||||
|
long style=0, Validator validator=DefaultValidator,
|
||||||
|
String name=wxPyComboBoxNameStr) -> bool
|
||||||
|
"""
|
||||||
|
return _combo.OwnerDrawnComboBox_Create(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetWidestItemWidth(*args, **kwargs):
|
||||||
|
"""GetWidestItemWidth(self) -> int"""
|
||||||
|
return _combo.OwnerDrawnComboBox_GetWidestItemWidth(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetWidestItem(*args, **kwargs):
|
||||||
|
"""GetWidestItem(self) -> int"""
|
||||||
|
return _combo.OwnerDrawnComboBox_GetWidestItem(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetMark(*args, **kwargs):
|
||||||
|
"""SetMark(self, long from, long to)"""
|
||||||
|
return _combo.OwnerDrawnComboBox_SetMark(*args, **kwargs)
|
||||||
|
|
||||||
|
_combo.OwnerDrawnComboBox_swigregister(OwnerDrawnComboBox)
|
||||||
|
|
||||||
|
def PreOwnerDrawnComboBox(*args, **kwargs):
|
||||||
|
"""PreOwnerDrawnComboBox() -> OwnerDrawnComboBox"""
|
||||||
|
val = _combo.new_PreOwnerDrawnComboBox(*args, **kwargs)
|
||||||
|
return val
|
||||||
|
|
||||||
|
|
||||||
|
|
8364
wxPython/src/gtk/combo_wrap.cpp
Normal file
8364
wxPython/src/gtk/combo_wrap.cpp
Normal file
File diff suppressed because one or more lines are too long
480
wxPython/src/mac/combo.py
Normal file
480
wxPython/src/mac/combo.py
Normal file
@@ -0,0 +1,480 @@
|
|||||||
|
# This file was created automatically by SWIG 1.3.29.
|
||||||
|
# Don't modify this file, modify the SWIG interface instead.
|
||||||
|
|
||||||
|
"""
|
||||||
|
ComboCtrl class that can have any type of popup widget, and also an
|
||||||
|
owner-drawn combobox control.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import _combo
|
||||||
|
import new
|
||||||
|
new_instancemethod = new.instancemethod
|
||||||
|
def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
|
||||||
|
if (name == "thisown"): return self.this.own(value)
|
||||||
|
if (name == "this"):
|
||||||
|
if type(value).__name__ == 'PySwigObject':
|
||||||
|
self.__dict__[name] = value
|
||||||
|
return
|
||||||
|
method = class_type.__swig_setmethods__.get(name,None)
|
||||||
|
if method: return method(self,value)
|
||||||
|
if (not static) or hasattr(self,name):
|
||||||
|
self.__dict__[name] = value
|
||||||
|
else:
|
||||||
|
raise AttributeError("You cannot add attributes to %s" % self)
|
||||||
|
|
||||||
|
def _swig_setattr(self,class_type,name,value):
|
||||||
|
return _swig_setattr_nondynamic(self,class_type,name,value,0)
|
||||||
|
|
||||||
|
def _swig_getattr(self,class_type,name):
|
||||||
|
if (name == "thisown"): return self.this.own()
|
||||||
|
method = class_type.__swig_getmethods__.get(name,None)
|
||||||
|
if method: return method(self)
|
||||||
|
raise AttributeError,name
|
||||||
|
|
||||||
|
def _swig_repr(self):
|
||||||
|
try: strthis = "proxy of " + self.this.__repr__()
|
||||||
|
except: strthis = ""
|
||||||
|
return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
|
||||||
|
|
||||||
|
import types
|
||||||
|
try:
|
||||||
|
_object = types.ObjectType
|
||||||
|
_newclass = 1
|
||||||
|
except AttributeError:
|
||||||
|
class _object : pass
|
||||||
|
_newclass = 0
|
||||||
|
del types
|
||||||
|
|
||||||
|
|
||||||
|
def _swig_setattr_nondynamic_method(set):
|
||||||
|
def set_attr(self,name,value):
|
||||||
|
if (name == "thisown"): return self.this.own(value)
|
||||||
|
if hasattr(self,name) or (name == "this"):
|
||||||
|
set(self,name,value)
|
||||||
|
else:
|
||||||
|
raise AttributeError("You cannot add attributes to %s" % self)
|
||||||
|
return set_attr
|
||||||
|
|
||||||
|
|
||||||
|
import _windows
|
||||||
|
import _core
|
||||||
|
wx = _core
|
||||||
|
__docfilter__ = wx.__DocFilter(globals())
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
CC_BUTTON_OUTSIDE_BORDER = _combo.CC_BUTTON_OUTSIDE_BORDER
|
||||||
|
CC_POPUP_ON_MOUSE_UP = _combo.CC_POPUP_ON_MOUSE_UP
|
||||||
|
CC_NO_TEXT_AUTO_SELECT = _combo.CC_NO_TEXT_AUTO_SELECT
|
||||||
|
CC_MF_ON_BUTTON = _combo.CC_MF_ON_BUTTON
|
||||||
|
CC_MF_ON_CLICK_AREA = _combo.CC_MF_ON_CLICK_AREA
|
||||||
|
class ComboCtrlFeatures(object):
|
||||||
|
"""Proxy of C++ ComboCtrlFeatures class"""
|
||||||
|
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
|
||||||
|
def __init__(self): raise AttributeError, "No constructor defined"
|
||||||
|
__repr__ = _swig_repr
|
||||||
|
MovableButton = _combo.ComboCtrlFeatures_MovableButton
|
||||||
|
BitmapButton = _combo.ComboCtrlFeatures_BitmapButton
|
||||||
|
ButtonSpacing = _combo.ComboCtrlFeatures_ButtonSpacing
|
||||||
|
TextIndent = _combo.ComboCtrlFeatures_TextIndent
|
||||||
|
PaintControl = _combo.ComboCtrlFeatures_PaintControl
|
||||||
|
PaintWritable = _combo.ComboCtrlFeatures_PaintWritable
|
||||||
|
Borderless = _combo.ComboCtrlFeatures_Borderless
|
||||||
|
All = _combo.ComboCtrlFeatures_All
|
||||||
|
_combo.ComboCtrlFeatures_swigregister(ComboCtrlFeatures)
|
||||||
|
|
||||||
|
class ComboCtrl(_core.Control):
|
||||||
|
"""Proxy of C++ ComboCtrl class"""
|
||||||
|
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
|
||||||
|
__repr__ = _swig_repr
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
"""
|
||||||
|
__init__(self, Window parent, int id=ID_ANY, String value=wxEmptyString,
|
||||||
|
Point pos=DefaultPosition, Size size=DefaultSize,
|
||||||
|
long style=0, Validator validator=DefaultValidator,
|
||||||
|
String name=wxPyComboBoxNameStr) -> ComboCtrl
|
||||||
|
"""
|
||||||
|
_combo.ComboCtrl_swiginit(self,_combo.new_ComboCtrl(*args, **kwargs))
|
||||||
|
self._setOORInfo(self);ComboCtrl._setCallbackInfo(self, self, ComboCtrl)
|
||||||
|
|
||||||
|
def _setCallbackInfo(*args, **kwargs):
|
||||||
|
"""_setCallbackInfo(self, PyObject self, PyObject _class)"""
|
||||||
|
return _combo.ComboCtrl__setCallbackInfo(*args, **kwargs)
|
||||||
|
|
||||||
|
def ShowPopup(*args, **kwargs):
|
||||||
|
"""ShowPopup(self)"""
|
||||||
|
return _combo.ComboCtrl_ShowPopup(*args, **kwargs)
|
||||||
|
|
||||||
|
def HidePopup(*args, **kwargs):
|
||||||
|
"""HidePopup(self)"""
|
||||||
|
return _combo.ComboCtrl_HidePopup(*args, **kwargs)
|
||||||
|
|
||||||
|
def OnButtonClick(*args, **kwargs):
|
||||||
|
"""OnButtonClick(self)"""
|
||||||
|
return _combo.ComboCtrl_OnButtonClick(*args, **kwargs)
|
||||||
|
|
||||||
|
def IsPopupShown(*args, **kwargs):
|
||||||
|
"""IsPopupShown(self) -> bool"""
|
||||||
|
return _combo.ComboCtrl_IsPopupShown(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetPopupControl(*args, **kwargs):
|
||||||
|
"""SetPopupControl(self, ComboPopup popup)"""
|
||||||
|
return _combo.ComboCtrl_SetPopupControl(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetPopupControl(*args, **kwargs):
|
||||||
|
"""GetPopupControl(self) -> ComboPopup"""
|
||||||
|
return _combo.ComboCtrl_GetPopupControl(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetPopupWindow(*args, **kwargs):
|
||||||
|
"""GetPopupWindow(self) -> Window"""
|
||||||
|
return _combo.ComboCtrl_GetPopupWindow(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetTextCtrl(*args, **kwargs):
|
||||||
|
"""GetTextCtrl(self) -> wxTextCtrl"""
|
||||||
|
return _combo.ComboCtrl_GetTextCtrl(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetButton(*args, **kwargs):
|
||||||
|
"""GetButton(self) -> Window"""
|
||||||
|
return _combo.ComboCtrl_GetButton(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetValue(*args, **kwargs):
|
||||||
|
"""GetValue(self) -> String"""
|
||||||
|
return _combo.ComboCtrl_GetValue(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetValue(*args, **kwargs):
|
||||||
|
"""SetValue(self, String value)"""
|
||||||
|
return _combo.ComboCtrl_SetValue(*args, **kwargs)
|
||||||
|
|
||||||
|
def Copy(*args, **kwargs):
|
||||||
|
"""Copy(self)"""
|
||||||
|
return _combo.ComboCtrl_Copy(*args, **kwargs)
|
||||||
|
|
||||||
|
def Cut(*args, **kwargs):
|
||||||
|
"""Cut(self)"""
|
||||||
|
return _combo.ComboCtrl_Cut(*args, **kwargs)
|
||||||
|
|
||||||
|
def Paste(*args, **kwargs):
|
||||||
|
"""Paste(self)"""
|
||||||
|
return _combo.ComboCtrl_Paste(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetInsertionPoint(*args, **kwargs):
|
||||||
|
"""SetInsertionPoint(self, long pos)"""
|
||||||
|
return _combo.ComboCtrl_SetInsertionPoint(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetInsertionPointEnd(*args, **kwargs):
|
||||||
|
"""SetInsertionPointEnd(self)"""
|
||||||
|
return _combo.ComboCtrl_SetInsertionPointEnd(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetInsertionPoint(*args, **kwargs):
|
||||||
|
"""GetInsertionPoint(self) -> long"""
|
||||||
|
return _combo.ComboCtrl_GetInsertionPoint(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetLastPosition(*args, **kwargs):
|
||||||
|
"""GetLastPosition(self) -> long"""
|
||||||
|
return _combo.ComboCtrl_GetLastPosition(*args, **kwargs)
|
||||||
|
|
||||||
|
def Replace(*args, **kwargs):
|
||||||
|
"""Replace(self, long from, long to, String value)"""
|
||||||
|
return _combo.ComboCtrl_Replace(*args, **kwargs)
|
||||||
|
|
||||||
|
def Remove(*args, **kwargs):
|
||||||
|
"""Remove(self, long from, long to)"""
|
||||||
|
return _combo.ComboCtrl_Remove(*args, **kwargs)
|
||||||
|
|
||||||
|
def Undo(*args, **kwargs):
|
||||||
|
"""Undo(self)"""
|
||||||
|
return _combo.ComboCtrl_Undo(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetMark(*args, **kwargs):
|
||||||
|
"""SetMark(self, long from, long to)"""
|
||||||
|
return _combo.ComboCtrl_SetMark(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetText(*args, **kwargs):
|
||||||
|
"""SetText(self, String value)"""
|
||||||
|
return _combo.ComboCtrl_SetText(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetValueWithEvent(*args, **kwargs):
|
||||||
|
"""SetValueWithEvent(self, String value, bool withEvent=True)"""
|
||||||
|
return _combo.ComboCtrl_SetValueWithEvent(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetPopupMinWidth(*args, **kwargs):
|
||||||
|
"""SetPopupMinWidth(self, int width)"""
|
||||||
|
return _combo.ComboCtrl_SetPopupMinWidth(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetPopupMaxHeight(*args, **kwargs):
|
||||||
|
"""SetPopupMaxHeight(self, int height)"""
|
||||||
|
return _combo.ComboCtrl_SetPopupMaxHeight(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetPopupExtents(*args, **kwargs):
|
||||||
|
"""SetPopupExtents(self, int extLeft, int extRight)"""
|
||||||
|
return _combo.ComboCtrl_SetPopupExtents(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetCustomPaintWidth(*args, **kwargs):
|
||||||
|
"""SetCustomPaintWidth(self, int width)"""
|
||||||
|
return _combo.ComboCtrl_SetCustomPaintWidth(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetCustomPaintWidth(*args, **kwargs):
|
||||||
|
"""GetCustomPaintWidth(self) -> int"""
|
||||||
|
return _combo.ComboCtrl_GetCustomPaintWidth(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetPopupAnchor(*args, **kwargs):
|
||||||
|
"""SetPopupAnchor(self, int anchorSide)"""
|
||||||
|
return _combo.ComboCtrl_SetPopupAnchor(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetButtonPosition(*args, **kwargs):
|
||||||
|
"""SetButtonPosition(self, int width=-1, int height=-1, int side=RIGHT, int spacingX=0)"""
|
||||||
|
return _combo.ComboCtrl_SetButtonPosition(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetButtonSize(*args, **kwargs):
|
||||||
|
"""GetButtonSize(self) -> Size"""
|
||||||
|
return _combo.ComboCtrl_GetButtonSize(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetButtonBitmaps(*args, **kwargs):
|
||||||
|
"""
|
||||||
|
SetButtonBitmaps(self, Bitmap bmpNormal, bool pushButtonBg=False, Bitmap bmpPressed=wxNullBitmap,
|
||||||
|
Bitmap bmpHover=wxNullBitmap,
|
||||||
|
Bitmap bmpDisabled=wxNullBitmap)
|
||||||
|
"""
|
||||||
|
return _combo.ComboCtrl_SetButtonBitmaps(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetTextIndent(*args, **kwargs):
|
||||||
|
"""SetTextIndent(self, int indent)"""
|
||||||
|
return _combo.ComboCtrl_SetTextIndent(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetTextIndent(*args, **kwargs):
|
||||||
|
"""GetTextIndent(self) -> int"""
|
||||||
|
return _combo.ComboCtrl_GetTextIndent(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetTextRect(*args, **kwargs):
|
||||||
|
"""GetTextRect(self) -> Rect"""
|
||||||
|
return _combo.ComboCtrl_GetTextRect(*args, **kwargs)
|
||||||
|
|
||||||
|
def UseAltPopupWindow(*args, **kwargs):
|
||||||
|
"""UseAltPopupWindow(self, bool enable=True)"""
|
||||||
|
return _combo.ComboCtrl_UseAltPopupWindow(*args, **kwargs)
|
||||||
|
|
||||||
|
def EnablePopupAnimation(*args, **kwargs):
|
||||||
|
"""EnablePopupAnimation(self, bool enable=True)"""
|
||||||
|
return _combo.ComboCtrl_EnablePopupAnimation(*args, **kwargs)
|
||||||
|
|
||||||
|
def IsKeyPopupToggle(*args, **kwargs):
|
||||||
|
"""IsKeyPopupToggle(self, KeyEvent event) -> bool"""
|
||||||
|
return _combo.ComboCtrl_IsKeyPopupToggle(*args, **kwargs)
|
||||||
|
|
||||||
|
def PrepareBackground(*args, **kwargs):
|
||||||
|
"""PrepareBackground(self, DC dc, Rect rect, int flags)"""
|
||||||
|
return _combo.ComboCtrl_PrepareBackground(*args, **kwargs)
|
||||||
|
|
||||||
|
def ShouldDrawFocus(*args, **kwargs):
|
||||||
|
"""ShouldDrawFocus(self) -> bool"""
|
||||||
|
return _combo.ComboCtrl_ShouldDrawFocus(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetBitmapNormal(*args, **kwargs):
|
||||||
|
"""GetBitmapNormal(self) -> Bitmap"""
|
||||||
|
return _combo.ComboCtrl_GetBitmapNormal(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetBitmapPressed(*args, **kwargs):
|
||||||
|
"""GetBitmapPressed(self) -> Bitmap"""
|
||||||
|
return _combo.ComboCtrl_GetBitmapPressed(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetBitmapHover(*args, **kwargs):
|
||||||
|
"""GetBitmapHover(self) -> Bitmap"""
|
||||||
|
return _combo.ComboCtrl_GetBitmapHover(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetBitmapDisabled(*args, **kwargs):
|
||||||
|
"""GetBitmapDisabled(self) -> Bitmap"""
|
||||||
|
return _combo.ComboCtrl_GetBitmapDisabled(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetInternalFlags(*args, **kwargs):
|
||||||
|
"""GetInternalFlags(self) -> unsigned int"""
|
||||||
|
return _combo.ComboCtrl_GetInternalFlags(*args, **kwargs)
|
||||||
|
|
||||||
|
def IsCreated(*args, **kwargs):
|
||||||
|
"""IsCreated(self) -> bool"""
|
||||||
|
return _combo.ComboCtrl_IsCreated(*args, **kwargs)
|
||||||
|
|
||||||
|
def OnPopupDismiss(*args, **kwargs):
|
||||||
|
"""OnPopupDismiss(self)"""
|
||||||
|
return _combo.ComboCtrl_OnPopupDismiss(*args, **kwargs)
|
||||||
|
|
||||||
|
Hidden = _combo.ComboCtrl_Hidden
|
||||||
|
Animating = _combo.ComboCtrl_Animating
|
||||||
|
Visible = _combo.ComboCtrl_Visible
|
||||||
|
def IsPopupWindowState(*args, **kwargs):
|
||||||
|
"""IsPopupWindowState(self, int state) -> bool"""
|
||||||
|
return _combo.ComboCtrl_IsPopupWindowState(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetPopupWindowState(*args, **kwargs):
|
||||||
|
"""GetPopupWindowState(self) -> int"""
|
||||||
|
return _combo.ComboCtrl_GetPopupWindowState(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetCtrlMainWnd(*args, **kwargs):
|
||||||
|
"""SetCtrlMainWnd(self, Window wnd)"""
|
||||||
|
return _combo.ComboCtrl_SetCtrlMainWnd(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetFeatures(*args, **kwargs):
|
||||||
|
"""GetFeatures() -> int"""
|
||||||
|
return _combo.ComboCtrl_GetFeatures(*args, **kwargs)
|
||||||
|
|
||||||
|
GetFeatures = staticmethod(GetFeatures)
|
||||||
|
ShowBelow = _combo.ComboCtrl_ShowBelow
|
||||||
|
ShowAbove = _combo.ComboCtrl_ShowAbove
|
||||||
|
CanDeferShow = _combo.ComboCtrl_CanDeferShow
|
||||||
|
def DoShowPopup(*args, **kwargs):
|
||||||
|
"""DoShowPopup(self, Rect rect, int flags)"""
|
||||||
|
return _combo.ComboCtrl_DoShowPopup(*args, **kwargs)
|
||||||
|
|
||||||
|
def AnimateShow(*args, **kwargs):
|
||||||
|
"""AnimateShow(self, Rect rect, int flags) -> bool"""
|
||||||
|
return _combo.ComboCtrl_AnimateShow(*args, **kwargs)
|
||||||
|
|
||||||
|
_combo.ComboCtrl_swigregister(ComboCtrl)
|
||||||
|
|
||||||
|
def PreComboCtrl(*args, **kwargs):
|
||||||
|
"""PreComboCtrl() -> ComboCtrl"""
|
||||||
|
val = _combo.new_PreComboCtrl(*args, **kwargs)
|
||||||
|
return val
|
||||||
|
|
||||||
|
def ComboCtrl_GetFeatures(*args):
|
||||||
|
"""ComboCtrl_GetFeatures() -> int"""
|
||||||
|
return _combo.ComboCtrl_GetFeatures(*args)
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class ComboPopup(object):
|
||||||
|
"""Proxy of C++ ComboPopup class"""
|
||||||
|
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
|
||||||
|
__repr__ = _swig_repr
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
"""__init__(self) -> ComboPopup"""
|
||||||
|
_combo.ComboPopup_swiginit(self,_combo.new_ComboPopup(*args, **kwargs))
|
||||||
|
ComboPopup._setCallbackInfo(self, self, ComboPopup)
|
||||||
|
|
||||||
|
__swig_destroy__ = _combo.delete_ComboPopup
|
||||||
|
__del__ = lambda self : None;
|
||||||
|
def _setCallbackInfo(*args, **kwargs):
|
||||||
|
"""_setCallbackInfo(self, PyObject self, PyObject _class)"""
|
||||||
|
return _combo.ComboPopup__setCallbackInfo(*args, **kwargs)
|
||||||
|
|
||||||
|
def Init(*args, **kwargs):
|
||||||
|
"""Init(self)"""
|
||||||
|
return _combo.ComboPopup_Init(*args, **kwargs)
|
||||||
|
|
||||||
|
def Create(*args, **kwargs):
|
||||||
|
"""Create(self, Window parent) -> bool"""
|
||||||
|
return _combo.ComboPopup_Create(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetControl(*args, **kwargs):
|
||||||
|
"""GetControl(self) -> Window"""
|
||||||
|
return _combo.ComboPopup_GetControl(*args, **kwargs)
|
||||||
|
|
||||||
|
def OnPopup(*args, **kwargs):
|
||||||
|
"""OnPopup(self)"""
|
||||||
|
return _combo.ComboPopup_OnPopup(*args, **kwargs)
|
||||||
|
|
||||||
|
def OnDismiss(*args, **kwargs):
|
||||||
|
"""OnDismiss(self)"""
|
||||||
|
return _combo.ComboPopup_OnDismiss(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetStringValue(*args, **kwargs):
|
||||||
|
"""SetStringValue(self, String value)"""
|
||||||
|
return _combo.ComboPopup_SetStringValue(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetStringValue(*args, **kwargs):
|
||||||
|
"""GetStringValue(self) -> String"""
|
||||||
|
return _combo.ComboPopup_GetStringValue(*args, **kwargs)
|
||||||
|
|
||||||
|
def PaintComboControl(*args, **kwargs):
|
||||||
|
"""PaintComboControl(self, DC dc, Rect rect)"""
|
||||||
|
return _combo.ComboPopup_PaintComboControl(*args, **kwargs)
|
||||||
|
|
||||||
|
def OnComboKeyEvent(*args, **kwargs):
|
||||||
|
"""OnComboKeyEvent(self, KeyEvent event)"""
|
||||||
|
return _combo.ComboPopup_OnComboKeyEvent(*args, **kwargs)
|
||||||
|
|
||||||
|
def OnComboDoubleClick(*args, **kwargs):
|
||||||
|
"""OnComboDoubleClick(self)"""
|
||||||
|
return _combo.ComboPopup_OnComboDoubleClick(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetAdjustedSize(*args, **kwargs):
|
||||||
|
"""GetAdjustedSize(self, int minWidth, int prefHeight, int maxHeight) -> Size"""
|
||||||
|
return _combo.ComboPopup_GetAdjustedSize(*args, **kwargs)
|
||||||
|
|
||||||
|
def LazyCreate(*args, **kwargs):
|
||||||
|
"""LazyCreate(self) -> bool"""
|
||||||
|
return _combo.ComboPopup_LazyCreate(*args, **kwargs)
|
||||||
|
|
||||||
|
def Dismiss(*args, **kwargs):
|
||||||
|
"""Dismiss(self)"""
|
||||||
|
return _combo.ComboPopup_Dismiss(*args, **kwargs)
|
||||||
|
|
||||||
|
def IsCreated(*args, **kwargs):
|
||||||
|
"""IsCreated(self) -> bool"""
|
||||||
|
return _combo.ComboPopup_IsCreated(*args, **kwargs)
|
||||||
|
|
||||||
|
def DefaultPaintComboControl(*args, **kwargs):
|
||||||
|
"""DefaultPaintComboControl(wxComboCtrlBase combo, DC dc, Rect rect)"""
|
||||||
|
return _combo.ComboPopup_DefaultPaintComboControl(*args, **kwargs)
|
||||||
|
|
||||||
|
DefaultPaintComboControl = staticmethod(DefaultPaintComboControl)
|
||||||
|
def GetCombo(*args, **kwargs):
|
||||||
|
"""GetCombo(self) -> ComboCtrl"""
|
||||||
|
return _combo.ComboPopup_GetCombo(*args, **kwargs)
|
||||||
|
|
||||||
|
_combo.ComboPopup_swigregister(ComboPopup)
|
||||||
|
|
||||||
|
def ComboPopup_DefaultPaintComboControl(*args, **kwargs):
|
||||||
|
"""ComboPopup_DefaultPaintComboControl(wxComboCtrlBase combo, DC dc, Rect rect)"""
|
||||||
|
return _combo.ComboPopup_DefaultPaintComboControl(*args, **kwargs)
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ODCB_DCLICK_CYCLES = _combo.ODCB_DCLICK_CYCLES
|
||||||
|
ODCB_STD_CONTROL_PAINT = _combo.ODCB_STD_CONTROL_PAINT
|
||||||
|
ODCB_PAINTING_CONTROL = _combo.ODCB_PAINTING_CONTROL
|
||||||
|
ODCB_PAINTING_SELECTED = _combo.ODCB_PAINTING_SELECTED
|
||||||
|
class OwnerDrawnComboBox(ComboCtrl,_core.ItemContainer):
|
||||||
|
"""Proxy of C++ OwnerDrawnComboBox class"""
|
||||||
|
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
|
||||||
|
__repr__ = _swig_repr
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
"""
|
||||||
|
__init__(self, Window parent, int id=-1, String value=EmptyString,
|
||||||
|
Point pos=DefaultPosition, Size size=DefaultSize,
|
||||||
|
wxArrayString choices=wxPyEmptyStringArray,
|
||||||
|
long style=0, Validator validator=DefaultValidator,
|
||||||
|
String name=wxPyComboBoxNameStr) -> OwnerDrawnComboBox
|
||||||
|
"""
|
||||||
|
_combo.OwnerDrawnComboBox_swiginit(self,_combo.new_OwnerDrawnComboBox(*args, **kwargs))
|
||||||
|
self._setOORInfo(self);OwnerDrawnComboBox._setCallbackInfo(self, self, OwnerDrawnComboBox)
|
||||||
|
|
||||||
|
def Create(*args, **kwargs):
|
||||||
|
"""
|
||||||
|
Create(self, Window parent, int id=-1, String value=EmptyString,
|
||||||
|
Point pos=DefaultPosition, Size size=DefaultSize,
|
||||||
|
wxArrayString choices=wxPyEmptyStringArray,
|
||||||
|
long style=0, Validator validator=DefaultValidator,
|
||||||
|
String name=wxPyComboBoxNameStr) -> bool
|
||||||
|
"""
|
||||||
|
return _combo.OwnerDrawnComboBox_Create(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetWidestItemWidth(*args, **kwargs):
|
||||||
|
"""GetWidestItemWidth(self) -> int"""
|
||||||
|
return _combo.OwnerDrawnComboBox_GetWidestItemWidth(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetWidestItem(*args, **kwargs):
|
||||||
|
"""GetWidestItem(self) -> int"""
|
||||||
|
return _combo.OwnerDrawnComboBox_GetWidestItem(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetMark(*args, **kwargs):
|
||||||
|
"""SetMark(self, long from, long to)"""
|
||||||
|
return _combo.OwnerDrawnComboBox_SetMark(*args, **kwargs)
|
||||||
|
|
||||||
|
_combo.OwnerDrawnComboBox_swigregister(OwnerDrawnComboBox)
|
||||||
|
|
||||||
|
def PreOwnerDrawnComboBox(*args, **kwargs):
|
||||||
|
"""PreOwnerDrawnComboBox() -> OwnerDrawnComboBox"""
|
||||||
|
val = _combo.new_PreOwnerDrawnComboBox(*args, **kwargs)
|
||||||
|
return val
|
||||||
|
|
||||||
|
|
||||||
|
|
8364
wxPython/src/mac/combo_wrap.cpp
Normal file
8364
wxPython/src/mac/combo_wrap.cpp
Normal file
File diff suppressed because one or more lines are too long
480
wxPython/src/msw/combo.py
Normal file
480
wxPython/src/msw/combo.py
Normal file
@@ -0,0 +1,480 @@
|
|||||||
|
# This file was created automatically by SWIG 1.3.29.
|
||||||
|
# Don't modify this file, modify the SWIG interface instead.
|
||||||
|
|
||||||
|
"""
|
||||||
|
ComboCtrl class that can have any type of popup widget, and also an
|
||||||
|
owner-drawn combobox control.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import _combo
|
||||||
|
import new
|
||||||
|
new_instancemethod = new.instancemethod
|
||||||
|
def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
|
||||||
|
if (name == "thisown"): return self.this.own(value)
|
||||||
|
if (name == "this"):
|
||||||
|
if type(value).__name__ == 'PySwigObject':
|
||||||
|
self.__dict__[name] = value
|
||||||
|
return
|
||||||
|
method = class_type.__swig_setmethods__.get(name,None)
|
||||||
|
if method: return method(self,value)
|
||||||
|
if (not static) or hasattr(self,name):
|
||||||
|
self.__dict__[name] = value
|
||||||
|
else:
|
||||||
|
raise AttributeError("You cannot add attributes to %s" % self)
|
||||||
|
|
||||||
|
def _swig_setattr(self,class_type,name,value):
|
||||||
|
return _swig_setattr_nondynamic(self,class_type,name,value,0)
|
||||||
|
|
||||||
|
def _swig_getattr(self,class_type,name):
|
||||||
|
if (name == "thisown"): return self.this.own()
|
||||||
|
method = class_type.__swig_getmethods__.get(name,None)
|
||||||
|
if method: return method(self)
|
||||||
|
raise AttributeError,name
|
||||||
|
|
||||||
|
def _swig_repr(self):
|
||||||
|
try: strthis = "proxy of " + self.this.__repr__()
|
||||||
|
except: strthis = ""
|
||||||
|
return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
|
||||||
|
|
||||||
|
import types
|
||||||
|
try:
|
||||||
|
_object = types.ObjectType
|
||||||
|
_newclass = 1
|
||||||
|
except AttributeError:
|
||||||
|
class _object : pass
|
||||||
|
_newclass = 0
|
||||||
|
del types
|
||||||
|
|
||||||
|
|
||||||
|
def _swig_setattr_nondynamic_method(set):
|
||||||
|
def set_attr(self,name,value):
|
||||||
|
if (name == "thisown"): return self.this.own(value)
|
||||||
|
if hasattr(self,name) or (name == "this"):
|
||||||
|
set(self,name,value)
|
||||||
|
else:
|
||||||
|
raise AttributeError("You cannot add attributes to %s" % self)
|
||||||
|
return set_attr
|
||||||
|
|
||||||
|
|
||||||
|
import _windows
|
||||||
|
import _core
|
||||||
|
wx = _core
|
||||||
|
__docfilter__ = wx.__DocFilter(globals())
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
CC_BUTTON_OUTSIDE_BORDER = _combo.CC_BUTTON_OUTSIDE_BORDER
|
||||||
|
CC_POPUP_ON_MOUSE_UP = _combo.CC_POPUP_ON_MOUSE_UP
|
||||||
|
CC_NO_TEXT_AUTO_SELECT = _combo.CC_NO_TEXT_AUTO_SELECT
|
||||||
|
CC_MF_ON_BUTTON = _combo.CC_MF_ON_BUTTON
|
||||||
|
CC_MF_ON_CLICK_AREA = _combo.CC_MF_ON_CLICK_AREA
|
||||||
|
class ComboCtrlFeatures(object):
|
||||||
|
"""Proxy of C++ ComboCtrlFeatures class"""
|
||||||
|
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
|
||||||
|
def __init__(self): raise AttributeError, "No constructor defined"
|
||||||
|
__repr__ = _swig_repr
|
||||||
|
MovableButton = _combo.ComboCtrlFeatures_MovableButton
|
||||||
|
BitmapButton = _combo.ComboCtrlFeatures_BitmapButton
|
||||||
|
ButtonSpacing = _combo.ComboCtrlFeatures_ButtonSpacing
|
||||||
|
TextIndent = _combo.ComboCtrlFeatures_TextIndent
|
||||||
|
PaintControl = _combo.ComboCtrlFeatures_PaintControl
|
||||||
|
PaintWritable = _combo.ComboCtrlFeatures_PaintWritable
|
||||||
|
Borderless = _combo.ComboCtrlFeatures_Borderless
|
||||||
|
All = _combo.ComboCtrlFeatures_All
|
||||||
|
_combo.ComboCtrlFeatures_swigregister(ComboCtrlFeatures)
|
||||||
|
|
||||||
|
class ComboCtrl(_core.Control):
|
||||||
|
"""Proxy of C++ ComboCtrl class"""
|
||||||
|
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
|
||||||
|
__repr__ = _swig_repr
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
"""
|
||||||
|
__init__(self, Window parent, int id=ID_ANY, String value=wxEmptyString,
|
||||||
|
Point pos=DefaultPosition, Size size=DefaultSize,
|
||||||
|
long style=0, Validator validator=DefaultValidator,
|
||||||
|
String name=wxPyComboBoxNameStr) -> ComboCtrl
|
||||||
|
"""
|
||||||
|
_combo.ComboCtrl_swiginit(self,_combo.new_ComboCtrl(*args, **kwargs))
|
||||||
|
self._setOORInfo(self);ComboCtrl._setCallbackInfo(self, self, ComboCtrl)
|
||||||
|
|
||||||
|
def _setCallbackInfo(*args, **kwargs):
|
||||||
|
"""_setCallbackInfo(self, PyObject self, PyObject _class)"""
|
||||||
|
return _combo.ComboCtrl__setCallbackInfo(*args, **kwargs)
|
||||||
|
|
||||||
|
def ShowPopup(*args, **kwargs):
|
||||||
|
"""ShowPopup(self)"""
|
||||||
|
return _combo.ComboCtrl_ShowPopup(*args, **kwargs)
|
||||||
|
|
||||||
|
def HidePopup(*args, **kwargs):
|
||||||
|
"""HidePopup(self)"""
|
||||||
|
return _combo.ComboCtrl_HidePopup(*args, **kwargs)
|
||||||
|
|
||||||
|
def OnButtonClick(*args, **kwargs):
|
||||||
|
"""OnButtonClick(self)"""
|
||||||
|
return _combo.ComboCtrl_OnButtonClick(*args, **kwargs)
|
||||||
|
|
||||||
|
def IsPopupShown(*args, **kwargs):
|
||||||
|
"""IsPopupShown(self) -> bool"""
|
||||||
|
return _combo.ComboCtrl_IsPopupShown(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetPopupControl(*args, **kwargs):
|
||||||
|
"""SetPopupControl(self, ComboPopup popup)"""
|
||||||
|
return _combo.ComboCtrl_SetPopupControl(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetPopupControl(*args, **kwargs):
|
||||||
|
"""GetPopupControl(self) -> ComboPopup"""
|
||||||
|
return _combo.ComboCtrl_GetPopupControl(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetPopupWindow(*args, **kwargs):
|
||||||
|
"""GetPopupWindow(self) -> Window"""
|
||||||
|
return _combo.ComboCtrl_GetPopupWindow(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetTextCtrl(*args, **kwargs):
|
||||||
|
"""GetTextCtrl(self) -> wxTextCtrl"""
|
||||||
|
return _combo.ComboCtrl_GetTextCtrl(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetButton(*args, **kwargs):
|
||||||
|
"""GetButton(self) -> Window"""
|
||||||
|
return _combo.ComboCtrl_GetButton(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetValue(*args, **kwargs):
|
||||||
|
"""GetValue(self) -> String"""
|
||||||
|
return _combo.ComboCtrl_GetValue(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetValue(*args, **kwargs):
|
||||||
|
"""SetValue(self, String value)"""
|
||||||
|
return _combo.ComboCtrl_SetValue(*args, **kwargs)
|
||||||
|
|
||||||
|
def Copy(*args, **kwargs):
|
||||||
|
"""Copy(self)"""
|
||||||
|
return _combo.ComboCtrl_Copy(*args, **kwargs)
|
||||||
|
|
||||||
|
def Cut(*args, **kwargs):
|
||||||
|
"""Cut(self)"""
|
||||||
|
return _combo.ComboCtrl_Cut(*args, **kwargs)
|
||||||
|
|
||||||
|
def Paste(*args, **kwargs):
|
||||||
|
"""Paste(self)"""
|
||||||
|
return _combo.ComboCtrl_Paste(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetInsertionPoint(*args, **kwargs):
|
||||||
|
"""SetInsertionPoint(self, long pos)"""
|
||||||
|
return _combo.ComboCtrl_SetInsertionPoint(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetInsertionPointEnd(*args, **kwargs):
|
||||||
|
"""SetInsertionPointEnd(self)"""
|
||||||
|
return _combo.ComboCtrl_SetInsertionPointEnd(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetInsertionPoint(*args, **kwargs):
|
||||||
|
"""GetInsertionPoint(self) -> long"""
|
||||||
|
return _combo.ComboCtrl_GetInsertionPoint(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetLastPosition(*args, **kwargs):
|
||||||
|
"""GetLastPosition(self) -> long"""
|
||||||
|
return _combo.ComboCtrl_GetLastPosition(*args, **kwargs)
|
||||||
|
|
||||||
|
def Replace(*args, **kwargs):
|
||||||
|
"""Replace(self, long from, long to, String value)"""
|
||||||
|
return _combo.ComboCtrl_Replace(*args, **kwargs)
|
||||||
|
|
||||||
|
def Remove(*args, **kwargs):
|
||||||
|
"""Remove(self, long from, long to)"""
|
||||||
|
return _combo.ComboCtrl_Remove(*args, **kwargs)
|
||||||
|
|
||||||
|
def Undo(*args, **kwargs):
|
||||||
|
"""Undo(self)"""
|
||||||
|
return _combo.ComboCtrl_Undo(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetMark(*args, **kwargs):
|
||||||
|
"""SetMark(self, long from, long to)"""
|
||||||
|
return _combo.ComboCtrl_SetMark(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetText(*args, **kwargs):
|
||||||
|
"""SetText(self, String value)"""
|
||||||
|
return _combo.ComboCtrl_SetText(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetValueWithEvent(*args, **kwargs):
|
||||||
|
"""SetValueWithEvent(self, String value, bool withEvent=True)"""
|
||||||
|
return _combo.ComboCtrl_SetValueWithEvent(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetPopupMinWidth(*args, **kwargs):
|
||||||
|
"""SetPopupMinWidth(self, int width)"""
|
||||||
|
return _combo.ComboCtrl_SetPopupMinWidth(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetPopupMaxHeight(*args, **kwargs):
|
||||||
|
"""SetPopupMaxHeight(self, int height)"""
|
||||||
|
return _combo.ComboCtrl_SetPopupMaxHeight(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetPopupExtents(*args, **kwargs):
|
||||||
|
"""SetPopupExtents(self, int extLeft, int extRight)"""
|
||||||
|
return _combo.ComboCtrl_SetPopupExtents(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetCustomPaintWidth(*args, **kwargs):
|
||||||
|
"""SetCustomPaintWidth(self, int width)"""
|
||||||
|
return _combo.ComboCtrl_SetCustomPaintWidth(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetCustomPaintWidth(*args, **kwargs):
|
||||||
|
"""GetCustomPaintWidth(self) -> int"""
|
||||||
|
return _combo.ComboCtrl_GetCustomPaintWidth(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetPopupAnchor(*args, **kwargs):
|
||||||
|
"""SetPopupAnchor(self, int anchorSide)"""
|
||||||
|
return _combo.ComboCtrl_SetPopupAnchor(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetButtonPosition(*args, **kwargs):
|
||||||
|
"""SetButtonPosition(self, int width=-1, int height=-1, int side=RIGHT, int spacingX=0)"""
|
||||||
|
return _combo.ComboCtrl_SetButtonPosition(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetButtonSize(*args, **kwargs):
|
||||||
|
"""GetButtonSize(self) -> Size"""
|
||||||
|
return _combo.ComboCtrl_GetButtonSize(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetButtonBitmaps(*args, **kwargs):
|
||||||
|
"""
|
||||||
|
SetButtonBitmaps(self, Bitmap bmpNormal, bool pushButtonBg=False, Bitmap bmpPressed=wxNullBitmap,
|
||||||
|
Bitmap bmpHover=wxNullBitmap,
|
||||||
|
Bitmap bmpDisabled=wxNullBitmap)
|
||||||
|
"""
|
||||||
|
return _combo.ComboCtrl_SetButtonBitmaps(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetTextIndent(*args, **kwargs):
|
||||||
|
"""SetTextIndent(self, int indent)"""
|
||||||
|
return _combo.ComboCtrl_SetTextIndent(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetTextIndent(*args, **kwargs):
|
||||||
|
"""GetTextIndent(self) -> int"""
|
||||||
|
return _combo.ComboCtrl_GetTextIndent(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetTextRect(*args, **kwargs):
|
||||||
|
"""GetTextRect(self) -> Rect"""
|
||||||
|
return _combo.ComboCtrl_GetTextRect(*args, **kwargs)
|
||||||
|
|
||||||
|
def UseAltPopupWindow(*args, **kwargs):
|
||||||
|
"""UseAltPopupWindow(self, bool enable=True)"""
|
||||||
|
return _combo.ComboCtrl_UseAltPopupWindow(*args, **kwargs)
|
||||||
|
|
||||||
|
def EnablePopupAnimation(*args, **kwargs):
|
||||||
|
"""EnablePopupAnimation(self, bool enable=True)"""
|
||||||
|
return _combo.ComboCtrl_EnablePopupAnimation(*args, **kwargs)
|
||||||
|
|
||||||
|
def IsKeyPopupToggle(*args, **kwargs):
|
||||||
|
"""IsKeyPopupToggle(self, KeyEvent event) -> bool"""
|
||||||
|
return _combo.ComboCtrl_IsKeyPopupToggle(*args, **kwargs)
|
||||||
|
|
||||||
|
def PrepareBackground(*args, **kwargs):
|
||||||
|
"""PrepareBackground(self, DC dc, Rect rect, int flags)"""
|
||||||
|
return _combo.ComboCtrl_PrepareBackground(*args, **kwargs)
|
||||||
|
|
||||||
|
def ShouldDrawFocus(*args, **kwargs):
|
||||||
|
"""ShouldDrawFocus(self) -> bool"""
|
||||||
|
return _combo.ComboCtrl_ShouldDrawFocus(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetBitmapNormal(*args, **kwargs):
|
||||||
|
"""GetBitmapNormal(self) -> Bitmap"""
|
||||||
|
return _combo.ComboCtrl_GetBitmapNormal(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetBitmapPressed(*args, **kwargs):
|
||||||
|
"""GetBitmapPressed(self) -> Bitmap"""
|
||||||
|
return _combo.ComboCtrl_GetBitmapPressed(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetBitmapHover(*args, **kwargs):
|
||||||
|
"""GetBitmapHover(self) -> Bitmap"""
|
||||||
|
return _combo.ComboCtrl_GetBitmapHover(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetBitmapDisabled(*args, **kwargs):
|
||||||
|
"""GetBitmapDisabled(self) -> Bitmap"""
|
||||||
|
return _combo.ComboCtrl_GetBitmapDisabled(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetInternalFlags(*args, **kwargs):
|
||||||
|
"""GetInternalFlags(self) -> unsigned int"""
|
||||||
|
return _combo.ComboCtrl_GetInternalFlags(*args, **kwargs)
|
||||||
|
|
||||||
|
def IsCreated(*args, **kwargs):
|
||||||
|
"""IsCreated(self) -> bool"""
|
||||||
|
return _combo.ComboCtrl_IsCreated(*args, **kwargs)
|
||||||
|
|
||||||
|
def OnPopupDismiss(*args, **kwargs):
|
||||||
|
"""OnPopupDismiss(self)"""
|
||||||
|
return _combo.ComboCtrl_OnPopupDismiss(*args, **kwargs)
|
||||||
|
|
||||||
|
Hidden = _combo.ComboCtrl_Hidden
|
||||||
|
Animating = _combo.ComboCtrl_Animating
|
||||||
|
Visible = _combo.ComboCtrl_Visible
|
||||||
|
def IsPopupWindowState(*args, **kwargs):
|
||||||
|
"""IsPopupWindowState(self, int state) -> bool"""
|
||||||
|
return _combo.ComboCtrl_IsPopupWindowState(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetPopupWindowState(*args, **kwargs):
|
||||||
|
"""GetPopupWindowState(self) -> int"""
|
||||||
|
return _combo.ComboCtrl_GetPopupWindowState(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetCtrlMainWnd(*args, **kwargs):
|
||||||
|
"""SetCtrlMainWnd(self, Window wnd)"""
|
||||||
|
return _combo.ComboCtrl_SetCtrlMainWnd(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetFeatures(*args, **kwargs):
|
||||||
|
"""GetFeatures() -> int"""
|
||||||
|
return _combo.ComboCtrl_GetFeatures(*args, **kwargs)
|
||||||
|
|
||||||
|
GetFeatures = staticmethod(GetFeatures)
|
||||||
|
ShowBelow = _combo.ComboCtrl_ShowBelow
|
||||||
|
ShowAbove = _combo.ComboCtrl_ShowAbove
|
||||||
|
CanDeferShow = _combo.ComboCtrl_CanDeferShow
|
||||||
|
def DoShowPopup(*args, **kwargs):
|
||||||
|
"""DoShowPopup(self, Rect rect, int flags)"""
|
||||||
|
return _combo.ComboCtrl_DoShowPopup(*args, **kwargs)
|
||||||
|
|
||||||
|
def AnimateShow(*args, **kwargs):
|
||||||
|
"""AnimateShow(self, Rect rect, int flags) -> bool"""
|
||||||
|
return _combo.ComboCtrl_AnimateShow(*args, **kwargs)
|
||||||
|
|
||||||
|
_combo.ComboCtrl_swigregister(ComboCtrl)
|
||||||
|
|
||||||
|
def PreComboCtrl(*args, **kwargs):
|
||||||
|
"""PreComboCtrl() -> ComboCtrl"""
|
||||||
|
val = _combo.new_PreComboCtrl(*args, **kwargs)
|
||||||
|
return val
|
||||||
|
|
||||||
|
def ComboCtrl_GetFeatures(*args):
|
||||||
|
"""ComboCtrl_GetFeatures() -> int"""
|
||||||
|
return _combo.ComboCtrl_GetFeatures(*args)
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class ComboPopup(object):
|
||||||
|
"""Proxy of C++ ComboPopup class"""
|
||||||
|
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
|
||||||
|
__repr__ = _swig_repr
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
"""__init__(self) -> ComboPopup"""
|
||||||
|
_combo.ComboPopup_swiginit(self,_combo.new_ComboPopup(*args, **kwargs))
|
||||||
|
ComboPopup._setCallbackInfo(self, self, ComboPopup)
|
||||||
|
|
||||||
|
__swig_destroy__ = _combo.delete_ComboPopup
|
||||||
|
__del__ = lambda self : None;
|
||||||
|
def _setCallbackInfo(*args, **kwargs):
|
||||||
|
"""_setCallbackInfo(self, PyObject self, PyObject _class)"""
|
||||||
|
return _combo.ComboPopup__setCallbackInfo(*args, **kwargs)
|
||||||
|
|
||||||
|
def Init(*args, **kwargs):
|
||||||
|
"""Init(self)"""
|
||||||
|
return _combo.ComboPopup_Init(*args, **kwargs)
|
||||||
|
|
||||||
|
def Create(*args, **kwargs):
|
||||||
|
"""Create(self, Window parent) -> bool"""
|
||||||
|
return _combo.ComboPopup_Create(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetControl(*args, **kwargs):
|
||||||
|
"""GetControl(self) -> Window"""
|
||||||
|
return _combo.ComboPopup_GetControl(*args, **kwargs)
|
||||||
|
|
||||||
|
def OnPopup(*args, **kwargs):
|
||||||
|
"""OnPopup(self)"""
|
||||||
|
return _combo.ComboPopup_OnPopup(*args, **kwargs)
|
||||||
|
|
||||||
|
def OnDismiss(*args, **kwargs):
|
||||||
|
"""OnDismiss(self)"""
|
||||||
|
return _combo.ComboPopup_OnDismiss(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetStringValue(*args, **kwargs):
|
||||||
|
"""SetStringValue(self, String value)"""
|
||||||
|
return _combo.ComboPopup_SetStringValue(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetStringValue(*args, **kwargs):
|
||||||
|
"""GetStringValue(self) -> String"""
|
||||||
|
return _combo.ComboPopup_GetStringValue(*args, **kwargs)
|
||||||
|
|
||||||
|
def PaintComboControl(*args, **kwargs):
|
||||||
|
"""PaintComboControl(self, DC dc, Rect rect)"""
|
||||||
|
return _combo.ComboPopup_PaintComboControl(*args, **kwargs)
|
||||||
|
|
||||||
|
def OnComboKeyEvent(*args, **kwargs):
|
||||||
|
"""OnComboKeyEvent(self, KeyEvent event)"""
|
||||||
|
return _combo.ComboPopup_OnComboKeyEvent(*args, **kwargs)
|
||||||
|
|
||||||
|
def OnComboDoubleClick(*args, **kwargs):
|
||||||
|
"""OnComboDoubleClick(self)"""
|
||||||
|
return _combo.ComboPopup_OnComboDoubleClick(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetAdjustedSize(*args, **kwargs):
|
||||||
|
"""GetAdjustedSize(self, int minWidth, int prefHeight, int maxHeight) -> Size"""
|
||||||
|
return _combo.ComboPopup_GetAdjustedSize(*args, **kwargs)
|
||||||
|
|
||||||
|
def LazyCreate(*args, **kwargs):
|
||||||
|
"""LazyCreate(self) -> bool"""
|
||||||
|
return _combo.ComboPopup_LazyCreate(*args, **kwargs)
|
||||||
|
|
||||||
|
def Dismiss(*args, **kwargs):
|
||||||
|
"""Dismiss(self)"""
|
||||||
|
return _combo.ComboPopup_Dismiss(*args, **kwargs)
|
||||||
|
|
||||||
|
def IsCreated(*args, **kwargs):
|
||||||
|
"""IsCreated(self) -> bool"""
|
||||||
|
return _combo.ComboPopup_IsCreated(*args, **kwargs)
|
||||||
|
|
||||||
|
def DefaultPaintComboControl(*args, **kwargs):
|
||||||
|
"""DefaultPaintComboControl(wxComboCtrlBase combo, DC dc, Rect rect)"""
|
||||||
|
return _combo.ComboPopup_DefaultPaintComboControl(*args, **kwargs)
|
||||||
|
|
||||||
|
DefaultPaintComboControl = staticmethod(DefaultPaintComboControl)
|
||||||
|
def GetCombo(*args, **kwargs):
|
||||||
|
"""GetCombo(self) -> ComboCtrl"""
|
||||||
|
return _combo.ComboPopup_GetCombo(*args, **kwargs)
|
||||||
|
|
||||||
|
_combo.ComboPopup_swigregister(ComboPopup)
|
||||||
|
|
||||||
|
def ComboPopup_DefaultPaintComboControl(*args, **kwargs):
|
||||||
|
"""ComboPopup_DefaultPaintComboControl(wxComboCtrlBase combo, DC dc, Rect rect)"""
|
||||||
|
return _combo.ComboPopup_DefaultPaintComboControl(*args, **kwargs)
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ODCB_DCLICK_CYCLES = _combo.ODCB_DCLICK_CYCLES
|
||||||
|
ODCB_STD_CONTROL_PAINT = _combo.ODCB_STD_CONTROL_PAINT
|
||||||
|
ODCB_PAINTING_CONTROL = _combo.ODCB_PAINTING_CONTROL
|
||||||
|
ODCB_PAINTING_SELECTED = _combo.ODCB_PAINTING_SELECTED
|
||||||
|
class OwnerDrawnComboBox(ComboCtrl,_core.ItemContainer):
|
||||||
|
"""Proxy of C++ OwnerDrawnComboBox class"""
|
||||||
|
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
|
||||||
|
__repr__ = _swig_repr
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
"""
|
||||||
|
__init__(self, Window parent, int id=-1, String value=EmptyString,
|
||||||
|
Point pos=DefaultPosition, Size size=DefaultSize,
|
||||||
|
wxArrayString choices=wxPyEmptyStringArray,
|
||||||
|
long style=0, Validator validator=DefaultValidator,
|
||||||
|
String name=wxPyComboBoxNameStr) -> OwnerDrawnComboBox
|
||||||
|
"""
|
||||||
|
_combo.OwnerDrawnComboBox_swiginit(self,_combo.new_OwnerDrawnComboBox(*args, **kwargs))
|
||||||
|
self._setOORInfo(self);OwnerDrawnComboBox._setCallbackInfo(self, self, OwnerDrawnComboBox)
|
||||||
|
|
||||||
|
def Create(*args, **kwargs):
|
||||||
|
"""
|
||||||
|
Create(self, Window parent, int id=-1, String value=EmptyString,
|
||||||
|
Point pos=DefaultPosition, Size size=DefaultSize,
|
||||||
|
wxArrayString choices=wxPyEmptyStringArray,
|
||||||
|
long style=0, Validator validator=DefaultValidator,
|
||||||
|
String name=wxPyComboBoxNameStr) -> bool
|
||||||
|
"""
|
||||||
|
return _combo.OwnerDrawnComboBox_Create(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetWidestItemWidth(*args, **kwargs):
|
||||||
|
"""GetWidestItemWidth(self) -> int"""
|
||||||
|
return _combo.OwnerDrawnComboBox_GetWidestItemWidth(*args, **kwargs)
|
||||||
|
|
||||||
|
def GetWidestItem(*args, **kwargs):
|
||||||
|
"""GetWidestItem(self) -> int"""
|
||||||
|
return _combo.OwnerDrawnComboBox_GetWidestItem(*args, **kwargs)
|
||||||
|
|
||||||
|
def SetMark(*args, **kwargs):
|
||||||
|
"""SetMark(self, long from, long to)"""
|
||||||
|
return _combo.OwnerDrawnComboBox_SetMark(*args, **kwargs)
|
||||||
|
|
||||||
|
_combo.OwnerDrawnComboBox_swigregister(OwnerDrawnComboBox)
|
||||||
|
|
||||||
|
def PreOwnerDrawnComboBox(*args, **kwargs):
|
||||||
|
"""PreOwnerDrawnComboBox() -> OwnerDrawnComboBox"""
|
||||||
|
val = _combo.new_PreOwnerDrawnComboBox(*args, **kwargs)
|
||||||
|
return val
|
||||||
|
|
||||||
|
|
||||||
|
|
8364
wxPython/src/msw/combo_wrap.cpp
Normal file
8364
wxPython/src/msw/combo_wrap.cpp
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user