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:
Robin Dunn
2006-11-16 23:38:29 +00:00
parent 41fa9bfc46
commit 84bc0d49e4
12 changed files with 27841 additions and 5 deletions

469
wxPython/demo/ComboCtrl.py Normal file
View 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:])

View File

@@ -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',

View File

@@ -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

View File

@@ -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,9 +2315,26 @@ 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 { \
@@ -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

View File

@@ -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
View 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
View 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

File diff suppressed because one or more lines are too long

480
wxPython/src/mac/combo.py Normal file
View 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

File diff suppressed because one or more lines are too long

480
wxPython/src/msw/combo.py Normal file
View 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

File diff suppressed because one or more lines are too long