Updated wxColumnSorterMixin to also be able to place sort icons on the
column headers, and updated the wxListCtrl demo to show it off by using wxColumnSorterMixin. Other odds and ends... git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11549 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -53,6 +53,18 @@ def EVT_LIST_INSERT_ITEM(win, id, func):
|
||||
def EVT_LIST_COL_CLICK(win, id, func):
|
||||
win.Connect(id, -1, wxEVT_COMMAND_LIST_COL_CLICK, func)
|
||||
|
||||
def EVT_LIST_COL_RIGHT_CLICK(win, id, func):
|
||||
win.Connect(id, -1, wxEVT_COMMAND_LIST_COL_RIGHT_CLICK, func)
|
||||
|
||||
def EVT_LIST_COL_BEGIN_DRAG(win, id, func):
|
||||
win.Connect(id, -1, wxEVT_COMMAND_LIST_COL_BEGIN_DRAG, func)
|
||||
|
||||
def EVT_LIST_COL_DRAGGING(win, id, func):
|
||||
win.Connect(id, -1, wxEVT_COMMAND_LIST_COL_DRAGGING, func)
|
||||
|
||||
def EVT_LIST_COL_END_DRAG(win, id, func):
|
||||
win.Connect(id, -1, wxEVT_COMMAND_LIST_COL_END_DRAG, func)
|
||||
|
||||
def EVT_LIST_ITEM_RIGHT_CLICK(win, id, func):
|
||||
win.Connect(id, -1, wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, func)
|
||||
|
||||
@@ -371,6 +383,12 @@ class wxListEventPtr(wxNotifyEventPtr):
|
||||
def GetItem(self, *_args, **_kwargs):
|
||||
val = apply(controls2c.wxListEvent_GetItem,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def GetCacheFrom(self, *_args, **_kwargs):
|
||||
val = apply(controls2c.wxListEvent_GetCacheFrom,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def GetCacheTo(self, *_args, **_kwargs):
|
||||
val = apply(controls2c.wxListEvent_GetCacheTo,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def __setattr__(self,name,value):
|
||||
if name == "m_code" :
|
||||
controls2c.wxListEvent_m_code_set(self,value)
|
||||
@@ -413,8 +431,9 @@ class wxListEventPtr(wxNotifyEventPtr):
|
||||
def __repr__(self):
|
||||
return "<C wxListEvent instance at %s>" % (self.this,)
|
||||
class wxListEvent(wxListEventPtr):
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
def __init__(self,*_args,**_kwargs):
|
||||
self.this = apply(controls2c.new_wxListEvent,_args,_kwargs)
|
||||
self.thisown = 1
|
||||
|
||||
|
||||
|
||||
@@ -618,6 +637,37 @@ class wxListCtrlPtr(wxControlPtr):
|
||||
val.thisown = 1
|
||||
return val
|
||||
|
||||
|
||||
# Some helpers...
|
||||
|
||||
def Select(self, idx, on=true):
|
||||
'''[de]select an item'''
|
||||
if on: state = wxLIST_STATE_SELECTED
|
||||
else: state = 0
|
||||
self.SetItemState(idx, state, wxLIST_STATE_SELECTED)
|
||||
|
||||
def Focus(self, idx):
|
||||
'''Focus and show the given item'''
|
||||
self.SetItemState(idx, wxLIST_STATE_FOCUSED, wxLIST_STATE_FOCUSED)
|
||||
self.EnsureVisible(idx)
|
||||
|
||||
def GetFocusedItem(self):
|
||||
'''get the currently focused item or -1 if none'''
|
||||
return self.GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_FOCUSED)
|
||||
|
||||
def IsSelected(self, idx):
|
||||
'''return TRUE if the item is selected'''
|
||||
return self.GetItemState(idx, wxLIST_STATE_SELECTED) != 0
|
||||
|
||||
def SetColumnImage(self, col, image):
|
||||
item = wxListItem()
|
||||
item.SetMask(wxLIST_MASK_IMAGE)
|
||||
item.SetImage(image)
|
||||
self.SetColumn(col, item)
|
||||
|
||||
def ClearColumnImage(self, col):
|
||||
self.SetColumnImage(col, -1)
|
||||
|
||||
class wxListCtrl(wxListCtrlPtr):
|
||||
def __init__(self,*_args,**_kwargs):
|
||||
self.this = apply(controls2c.new_wxListCtrl,_args,_kwargs)
|
||||
@@ -632,6 +682,52 @@ def wxPreListCtrl(*_args,**_kwargs):
|
||||
return val
|
||||
|
||||
|
||||
class wxListViewPtr(wxListCtrlPtr):
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
self.thisown = 0
|
||||
def Create(self, *_args, **_kwargs):
|
||||
val = apply(controls2c.wxListView_Create,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def Select(self, *_args, **_kwargs):
|
||||
val = apply(controls2c.wxListView_Select,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def Focus(self, *_args, **_kwargs):
|
||||
val = apply(controls2c.wxListView_Focus,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def GetFocusedItem(self, *_args, **_kwargs):
|
||||
val = apply(controls2c.wxListView_GetFocusedItem,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def GetNextSelected(self, *_args, **_kwargs):
|
||||
val = apply(controls2c.wxListView_GetNextSelected,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def GetFirstSelected(self, *_args, **_kwargs):
|
||||
val = apply(controls2c.wxListView_GetFirstSelected,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def IsSelected(self, *_args, **_kwargs):
|
||||
val = apply(controls2c.wxListView_IsSelected,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def SetColumnImage(self, *_args, **_kwargs):
|
||||
val = apply(controls2c.wxListView_SetColumnImage,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def ClearColumnImage(self, *_args, **_kwargs):
|
||||
val = apply(controls2c.wxListView_ClearColumnImage,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def __repr__(self):
|
||||
return "<C wxListView instance at %s>" % (self.this,)
|
||||
class wxListView(wxListViewPtr):
|
||||
def __init__(self,*_args,**_kwargs):
|
||||
self.this = apply(controls2c.new_wxListView,_args,_kwargs)
|
||||
self.thisown = 1
|
||||
|
||||
|
||||
|
||||
def wxPreListView(*_args,**_kwargs):
|
||||
val = wxListViewPtr(apply(controls2c.new_wxPreListView,_args,_kwargs))
|
||||
val.thisown = 1
|
||||
return val
|
||||
|
||||
|
||||
class wxTreeItemAttrPtr :
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
@@ -1048,6 +1144,10 @@ wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK = controls2c.wxEVT_COMMAND_LIST_ITEM_RIGHT_C
|
||||
wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK = controls2c.wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK
|
||||
wxEVT_COMMAND_LIST_ITEM_ACTIVATED = controls2c.wxEVT_COMMAND_LIST_ITEM_ACTIVATED
|
||||
wxEVT_COMMAND_LIST_CACHE_HINT = controls2c.wxEVT_COMMAND_LIST_CACHE_HINT
|
||||
wxEVT_COMMAND_LIST_COL_RIGHT_CLICK = controls2c.wxEVT_COMMAND_LIST_COL_RIGHT_CLICK
|
||||
wxEVT_COMMAND_LIST_COL_BEGIN_DRAG = controls2c.wxEVT_COMMAND_LIST_COL_BEGIN_DRAG
|
||||
wxEVT_COMMAND_LIST_COL_DRAGGING = controls2c.wxEVT_COMMAND_LIST_COL_DRAGGING
|
||||
wxEVT_COMMAND_LIST_COL_END_DRAG = controls2c.wxEVT_COMMAND_LIST_COL_END_DRAG
|
||||
wxLC_VRULES = controls2c.wxLC_VRULES
|
||||
wxLC_HRULES = controls2c.wxLC_HRULES
|
||||
wxLC_ICON = controls2c.wxLC_ICON
|
||||
@@ -1067,6 +1167,7 @@ wxLC_SORT_DESCENDING = controls2c.wxLC_SORT_DESCENDING
|
||||
wxLC_MASK_TYPE = controls2c.wxLC_MASK_TYPE
|
||||
wxLC_MASK_ALIGN = controls2c.wxLC_MASK_ALIGN
|
||||
wxLC_MASK_SORT = controls2c.wxLC_MASK_SORT
|
||||
wxLC_USER_TEXT = controls2c.wxLC_USER_TEXT
|
||||
wxLIST_MASK_STATE = controls2c.wxLIST_MASK_STATE
|
||||
wxLIST_MASK_TEXT = controls2c.wxLIST_MASK_TEXT
|
||||
wxLIST_MASK_IMAGE = controls2c.wxLIST_MASK_IMAGE
|
||||
|
||||
Reference in New Issue
Block a user