Merge recent changes from 2.8 branch.

Make updates for recent changes on CVS HEAD.
Remove or workaround deprecated items.
Fix compile errors.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45088 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2007-03-27 01:49:46 +00:00
parent fd4081aa33
commit cbfc9df676
131 changed files with 12811 additions and 4397 deletions

View File

@@ -3,7 +3,7 @@
# Inspired By And Heavily Based On wxGenericTreeCtrl.
#
# Andrea Gavana, @ 17 May 2006
# Latest Revision: 26 May 2006, 22.30 CET
# Latest Revision: 02 Mar 2007, 22.30 CET
#
#
# TODO List
@@ -134,8 +134,8 @@ CustomTreeCtrl has been tested on the following platforms:
* Mac OS (Thanks to John Jackson).
Latest Revision: Andrea Gavana @ 26 May 2006, 22.30 CET
Version 0.8
Latest Revision: Andrea Gavana @ 02 Mar 2007, 22.30 CET
Version 0.9
"""
@@ -1736,7 +1736,7 @@ def EventFlagsToSelType(style, shiftDown=False, ctrlDown=False):
class CustomTreeCtrl(wx.PyScrolledWindow):
def __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize,
style=0, ctstyle=TR_DEFAULT_STYLE, validator=wx.DefaultValidator,
style=TR_DEFAULT_STYLE, ctstyle=0, validator=wx.DefaultValidator,
name="CustomTreeCtrl"):
"""
Default class constructor.
@@ -1749,9 +1749,8 @@ class CustomTreeCtrl(wx.PyScrolledWindow):
size: window size. If the default size (-1, -1) is specified then the window is sized appropriately.
style: the underlying wx.ScrolledWindow style
style: the underlying wx.ScrolledWindow style + CustomTreeCtrl window style. This can be one of:
ctstyle: CustomTreeCtrl window style. This can be one of:
TR_NO_BUTTONS
TR_HAS_BUTTONS # draw collapsed/expanded btns
TR_NO_LINES # don't draw lines at all
@@ -1769,10 +1768,14 @@ class CustomTreeCtrl(wx.PyScrolledWindow):
TR_AUTO_CHECK_PARENT # only meaningful for checkboxes
TR_AUTO_TOGGLE_CHILD # only meaningful for checkboxes
ctstyle: kept for backward compatibility.
validator: window validator.
name: window name.
"""
style = style | ctstyle
self._current = self._key_current = self._anchor = self._select_me = None
self._hasFocus = False
@@ -1873,14 +1876,14 @@ class CustomTreeCtrl(wx.PyScrolledWindow):
self._itemWithWindow = []
if wx.Platform == "__WXMAC__":
ctstyle &= ~TR_LINES_AT_ROOT
ctstyle |= TR_NO_LINES
style &= ~TR_LINES_AT_ROOT
style |= TR_NO_LINES
platform, major, minor = wx.GetOsVersion()
if major < 10:
ctstyle |= TR_ROW_LINES
style |= TR_ROW_LINES
self._windowStyle = ctstyle
self._windowStyle = style
# Create the default check image list
self.SetImageListCheck(13, 13)
@@ -2370,7 +2373,7 @@ class CustomTreeCtrl(wx.PyScrolledWindow):
return item.GetText()
def GetItemImage(self, item, which):
def GetItemImage(self, item, which=TreeItemIcon_Normal):
"""Returns the item image."""
if not item:
@@ -3467,8 +3470,8 @@ class CustomTreeCtrl(wx.PyScrolledWindow):
self.ProcessEvent(event)
def ExpandAll(self, item):
"""Expands all the items."""
def ExpandAllChildren(self, item):
"""Expands all the items children of the input item."""
if not item:
raise Exception("\nERROR: Invalid Tree Item. ")
@@ -3481,10 +3484,17 @@ class CustomTreeCtrl(wx.PyScrolledWindow):
child, cookie = self.GetFirstChild(item)
while child:
self.ExpandAll(child)
self.ExpandAllChildren(child)
child, cookie = self.GetNextChild(item, cookie)
def ExpandAll(self):
"""Expands all CustomTreeCtrl items."""
if self._anchor:
self.ExpandAllChildren(self._anchor)
def Collapse(self, item):
"""
Collapse an item, sending a EVT_TREE_ITEM_COLLAPSING and
@@ -3578,7 +3588,8 @@ class CustomTreeCtrl(wx.PyScrolledWindow):
# the tree might not have the root item at all
if rootItem:
self.UnselectAllChildren(rootItem)
self.Unselect()
# Recursive function !
# To stop we must have crt_item<last_item
@@ -3958,21 +3969,22 @@ class CustomTreeCtrl(wx.PyScrolledWindow):
self._imageListNormal = imageList
self._ownsImageListNormal = False
self._dirty = True
# Don't do any drawing if we're setting the list to NULL,
# since we may be in the process of deleting the tree control.
if imageList:
self.CalculateLineHeight()
# We gray out the image list to use the grayed icons with disabled items
self._grayedImageList = wx.ImageList(16, 16, True, 0)
for ii in xrange(imageList.GetImageCount()):
bmp = imageList.GetBitmap(ii)
image = wx.ImageFromBitmap(bmp)
image = GrayOut(image)
newbmp = wx.BitmapFromImage(image)
self._grayedImageList.Add(newbmp)
# We gray out the image list to use the grayed icons with disabled items
sz = imageList.GetSize(0)
self._grayedImageList = wx.ImageList(sz[0], sz[1], True, 0)
for ii in xrange(imageList.GetImageCount()):
bmp = imageList.GetBitmap(ii)
image = wx.ImageFromBitmap(bmp)
image = GrayOut(image)
newbmp = wx.BitmapFromImage(image)
self._grayedImageList.Add(newbmp)
def SetStateImageList(self, imageList):
@@ -4402,6 +4414,7 @@ class CustomTreeCtrl(wx.PyScrolledWindow):
if wnd:
wndx = wcheck + image_w + item.GetX() + text_w + 4
xa, ya = self.CalcScrolledPosition((0, item.GetY()))
wndx += xa
if not wnd.IsShown():
wnd.Show()
if wnd.GetPosition() != (wndx, ya):
@@ -5733,4 +5746,6 @@ class CustomTreeCtrl(wx.PyScrolledWindow):
attr.font = wx.SystemSettings_GetFont(wx.SYS_DEFAULT_GUI_FONT)
return attr
GetClassDefaultAttributes = classmethod(GetClassDefaultAttributes)