X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cd096152351bd8a1a2073b4e5816f3c4efad563e..e8788ed0c675708ff488032b4697fa2455e9fc41:/wxPython/src/gtk/controls2.py diff --git a/wxPython/src/gtk/controls2.py b/wxPython/src/gtk/controls2.py index 3c1a63ea4f..8a02e2b25c 100644 --- a/wxPython/src/gtk/controls2.py +++ b/wxPython/src/gtk/controls2.py @@ -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) @@ -65,6 +77,65 @@ def EVT_LIST_ITEM_ACTIVATED(win, id, func): def EVT_LIST_CACHE_HINT(win, id, func): win.Connect(id, -1, wxEVT_COMMAND_LIST_CACHE_HINT, func) +def EVT_LIST_ITEM_FOCUSED(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_LIST_ITEM_FOCUSED, func) + + +# wxTreeCtrl events +def EVT_TREE_BEGIN_DRAG(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TREE_BEGIN_DRAG, func) + +def EVT_TREE_BEGIN_RDRAG(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TREE_BEGIN_RDRAG, func) + +def EVT_TREE_END_DRAG(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TREE_END_DRAG, func) + +def EVT_TREE_BEGIN_LABEL_EDIT(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT, func) + +def EVT_TREE_END_LABEL_EDIT(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TREE_END_LABEL_EDIT, func) + +def EVT_TREE_GET_INFO(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TREE_GET_INFO, func) + +def EVT_TREE_SET_INFO(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TREE_SET_INFO, func) + +def EVT_TREE_ITEM_EXPANDED(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_EXPANDED, func) + +def EVT_TREE_ITEM_EXPANDING(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_EXPANDING, func) + +def EVT_TREE_ITEM_COLLAPSED(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_COLLAPSED, func) + +def EVT_TREE_ITEM_COLLAPSING(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_COLLAPSING, func) + +def EVT_TREE_SEL_CHANGED(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TREE_SEL_CHANGED, func) + +def EVT_TREE_SEL_CHANGING(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TREE_SEL_CHANGING, func) + +def EVT_TREE_KEY_DOWN(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TREE_KEY_DOWN, func) + +def EVT_TREE_DELETE_ITEM(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TREE_DELETE_ITEM, func) + +def EVT_TREE_ITEM_ACTIVATED(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_ACTIVATED, func) + +def EVT_TREE_ITEM_RIGHT_CLICK(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK, func) + +def EVT_TREE_ITEM_MIDDLE_CLICK(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK, func) + class wxListItemAttrPtr : def __init__(self,this): self.this = this @@ -89,15 +160,15 @@ class wxListItemAttrPtr : return val def GetTextColour(self, *_args, **_kwargs): val = apply(controls2c.wxListItemAttr_GetTextColour,(self,) + _args, _kwargs) - if val: val = wxColourPtr(val) + if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetBackgroundColour(self, *_args, **_kwargs): val = apply(controls2c.wxListItemAttr_GetBackgroundColour,(self,) + _args, _kwargs) - if val: val = wxColourPtr(val) + if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetFont(self, *_args, **_kwargs): val = apply(controls2c.wxListItemAttr_GetFont,(self,) + _args, _kwargs) - if val: val = wxFontPtr(val) + if val: val = wxFontPtr(val) ; val.thisown = 1 return val def __repr__(self): return "" % (self.this,) @@ -281,18 +352,9 @@ class wxListEventPtr(wxNotifyEventPtr): def GetIndex(self, *_args, **_kwargs): val = apply(controls2c.wxListEvent_GetIndex,(self,) + _args, _kwargs) return val - def GetOldIndex(self, *_args, **_kwargs): - val = apply(controls2c.wxListEvent_GetOldIndex,(self,) + _args, _kwargs) - return val - def GetOldItem(self, *_args, **_kwargs): - val = apply(controls2c.wxListEvent_GetOldItem,(self,) + _args, _kwargs) - return val def GetColumn(self, *_args, **_kwargs): val = apply(controls2c.wxListEvent_GetColumn,(self,) + _args, _kwargs) return val - def Cancelled(self, *_args, **_kwargs): - val = apply(controls2c.wxListEvent_Cancelled,(self,) + _args, _kwargs) - return val def GetPoint(self, *_args, **_kwargs): val = apply(controls2c.wxListEvent_GetPoint,(self,) + _args, _kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 @@ -315,22 +377,25 @@ 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) return - if name == "m_itemIndex" : - controls2c.wxListEvent_m_itemIndex_set(self,value) - return if name == "m_oldItemIndex" : controls2c.wxListEvent_m_oldItemIndex_set(self,value) return + if name == "m_itemIndex" : + controls2c.wxListEvent_m_itemIndex_set(self,value) + return if name == "m_col" : controls2c.wxListEvent_m_col_set(self,value) return - if name == "m_cancelled" : - controls2c.wxListEvent_m_cancelled_set(self,value) - return if name == "m_pointDrag" : controls2c.wxListEvent_m_pointDrag_set(self,value.this) return @@ -341,14 +406,12 @@ class wxListEventPtr(wxNotifyEventPtr): def __getattr__(self,name): if name == "m_code" : return controls2c.wxListEvent_m_code_get(self) - if name == "m_itemIndex" : - return controls2c.wxListEvent_m_itemIndex_get(self) if name == "m_oldItemIndex" : return controls2c.wxListEvent_m_oldItemIndex_get(self) + if name == "m_itemIndex" : + return controls2c.wxListEvent_m_itemIndex_get(self) if name == "m_col" : return controls2c.wxListEvent_m_col_get(self) - if name == "m_cancelled" : - return controls2c.wxListEvent_m_cancelled_get(self) if name == "m_pointDrag" : return wxPointPtr(controls2c.wxListEvent_m_pointDrag_get(self)) if name == "m_item" : @@ -357,8 +420,9 @@ class wxListEventPtr(wxNotifyEventPtr): def __repr__(self): return "" % (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 @@ -367,8 +431,11 @@ class wxListCtrlPtr(wxControlPtr): def __init__(self,this): self.this = this self.thisown = 0 - def _setSelf(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl__setSelf,(self,) + _args, _kwargs) + def Create(self, *_args, **_kwargs): + val = apply(controls2c.wxListCtrl_Create,(self,) + _args, _kwargs) + return val + def _setCallbackInfo(self, *_args, **_kwargs): + val = apply(controls2c.wxListCtrl__setCallbackInfo,(self,) + _args, _kwargs) return val def SetForegroundColour(self, *_args, **_kwargs): val = apply(controls2c.wxListCtrl_SetForegroundColour,(self,) + _args, _kwargs) @@ -550,12 +617,141 @@ class wxListCtrlPtr(wxControlPtr): val.thisown = 1 return val + + # Some helpers... + + def Select(self, idx, on=1): + '''[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) self.thisown = 1 - #wx._StdWindowCallbacks(self) - self._setSelf(self, wxListCtrl) + self._setCallbackInfo(self, wxListCtrl) + self._setOORInfo(self) + + + +def wxPreListCtrl(*_args,**_kwargs): + val = wxListCtrlPtr(apply(controls2c.new_wxPreListCtrl,_args,_kwargs)) + val.thisown = 1 + val._setOORInfo(val) + 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 "" % (self.this,) +class wxListView(wxListViewPtr): + def __init__(self,*_args,**_kwargs): + self.this = apply(controls2c.new_wxListView,_args,_kwargs) + self.thisown = 1 + self._setOORInfo(self) + + + +def wxPreListView(*_args,**_kwargs): + val = wxListViewPtr(apply(controls2c.new_wxPreListView,_args,_kwargs)) + val.thisown = 1 + val._setOORInfo(val) + return val + + +class wxTreeItemAttrPtr : + def __init__(self,this): + self.this = this + self.thisown = 0 + def SetTextColour(self, *_args, **_kwargs): + val = apply(controls2c.wxTreeItemAttr_SetTextColour,(self,) + _args, _kwargs) + return val + def SetBackgroundColour(self, *_args, **_kwargs): + val = apply(controls2c.wxTreeItemAttr_SetBackgroundColour,(self,) + _args, _kwargs) + return val + def SetFont(self, *_args, **_kwargs): + val = apply(controls2c.wxTreeItemAttr_SetFont,(self,) + _args, _kwargs) + return val + def HasTextColour(self, *_args, **_kwargs): + val = apply(controls2c.wxTreeItemAttr_HasTextColour,(self,) + _args, _kwargs) + return val + def HasBackgroundColour(self, *_args, **_kwargs): + val = apply(controls2c.wxTreeItemAttr_HasBackgroundColour,(self,) + _args, _kwargs) + return val + def HasFont(self, *_args, **_kwargs): + val = apply(controls2c.wxTreeItemAttr_HasFont,(self,) + _args, _kwargs) + return val + def GetTextColour(self, *_args, **_kwargs): + val = apply(controls2c.wxTreeItemAttr_GetTextColour,(self,) + _args, _kwargs) + if val: val = wxColourPtr(val) ; val.thisown = 1 + return val + def GetBackgroundColour(self, *_args, **_kwargs): + val = apply(controls2c.wxTreeItemAttr_GetBackgroundColour,(self,) + _args, _kwargs) + if val: val = wxColourPtr(val) ; val.thisown = 1 + return val + def GetFont(self, *_args, **_kwargs): + val = apply(controls2c.wxTreeItemAttr_GetFont,(self,) + _args, _kwargs) + if val: val = wxFontPtr(val) ; val.thisown = 1 + return val + def __repr__(self): + return "" % (self.this,) +class wxTreeItemAttr(wxTreeItemAttrPtr): + def __init__(self,*_args,**_kwargs): + self.this = apply(controls2c.new_wxTreeItemAttr,_args,_kwargs) + self.thisown = 1 @@ -575,6 +771,7 @@ class wxTreeItemIdPtr : return val def __repr__(self): return "" % (self.this,) + Ok = IsOk class wxTreeItemId(wxTreeItemIdPtr): def __init__(self,*_args,**_kwargs): self.this = apply(controls2c.new_wxTreeItemId,_args,_kwargs) @@ -626,6 +823,10 @@ class wxTreeEventPtr(wxNotifyEventPtr): val = apply(controls2c.wxTreeEvent_GetPoint,(self,) + _args, _kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val + def GetKeyEvent(self, *_args, **_kwargs): + val = apply(controls2c.wxTreeEvent_GetKeyEvent,(self,) + _args, _kwargs) + if val: val = wxKeyEventPtr(val) + return val def GetCode(self, *_args, **_kwargs): val = apply(controls2c.wxTreeEvent_GetCode,(self,) + _args, _kwargs) return val @@ -635,8 +836,9 @@ class wxTreeEventPtr(wxNotifyEventPtr): def __repr__(self): return "" % (self.this,) class wxTreeEvent(wxTreeEventPtr): - def __init__(self,this): - self.this = this + def __init__(self,*_args,**_kwargs): + self.this = apply(controls2c.new_wxTreeEvent,_args,_kwargs) + self.thisown = 1 @@ -645,12 +847,11 @@ class wxTreeCtrlPtr(wxControlPtr): def __init__(self,this): self.this = this self.thisown = 0 - def _setSelf(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl__setSelf,(self,) + _args, _kwargs) + def Create(self, *_args, **_kwargs): + val = apply(controls2c.wxTreeCtrl_Create,(self,) + _args, _kwargs) return val - def AssignImageList(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_AssignImageList,(self,) + _args, _kwargs) - _args[0].thisown = 0 + def _setCallbackInfo(self, *_args, **_kwargs): + val = apply(controls2c.wxTreeCtrl__setCallbackInfo,(self,) + _args, _kwargs) return val def GetCount(self, *_args, **_kwargs): val = apply(controls2c.wxTreeCtrl_GetCount,(self,) + _args, _kwargs) @@ -673,6 +874,14 @@ class wxTreeCtrlPtr(wxControlPtr): def SetStateImageList(self, *_args, **_kwargs): val = apply(controls2c.wxTreeCtrl_SetStateImageList,(self,) + _args, _kwargs) return val + def AssignImageList(self, *_args, **_kwargs): + val = apply(controls2c.wxTreeCtrl_AssignImageList,(self,) + _args, _kwargs) + _args[0].thisown = 0 + return val + def AssignStateImageList(self, *_args, **_kwargs): + val = apply(controls2c.wxTreeCtrl_AssignStateImageList,(self,) + _args, _kwargs) + _args[0].thisown = 0 + return val def GetSpacing(self, *_args, **_kwargs): val = apply(controls2c.wxTreeCtrl_GetSpacing,(self,) + _args, _kwargs) return val @@ -853,6 +1062,9 @@ class wxTreeCtrlPtr(wxControlPtr): def SetItemFont(self, *_args, **_kwargs): val = apply(controls2c.wxTreeCtrl_SetItemFont,(self,) + _args, _kwargs) return val + def GetBoundingRect(self, *_args, **_kwargs): + val = apply(controls2c.wxTreeCtrl_GetBoundingRect,(self,) + _args, _kwargs) + return val def __repr__(self): return "" % (self.this,) @@ -877,10 +1089,16 @@ class wxTreeCtrl(wxTreeCtrlPtr): def __init__(self,*_args,**_kwargs): self.this = apply(controls2c.new_wxTreeCtrl,_args,_kwargs) self.thisown = 1 - #wx._StdWindowCallbacks(self) - self._setSelf(self, wxTreeCtrl) + self._setCallbackInfo(self, wxTreeCtrl) + self._setOORInfo(self) + +def wxPreTreeCtrl(*_args,**_kwargs): + val = wxTreeCtrlPtr(apply(controls2c.new_wxPreTreeCtrl,_args,_kwargs)) + val.thisown = 1 + val._setOORInfo(val) + return val @@ -908,6 +1126,11 @@ 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 +wxEVT_COMMAND_LIST_ITEM_FOCUSED = controls2c.wxEVT_COMMAND_LIST_ITEM_FOCUSED wxLC_VRULES = controls2c.wxLC_VRULES wxLC_HRULES = controls2c.wxLC_HRULES wxLC_ICON = controls2c.wxLC_ICON @@ -927,6 +1150,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 @@ -971,6 +1195,20 @@ wxLIST_FORMAT_LEFT = controls2c.wxLIST_FORMAT_LEFT wxLIST_FORMAT_RIGHT = controls2c.wxLIST_FORMAT_RIGHT wxLIST_FORMAT_CENTRE = controls2c.wxLIST_FORMAT_CENTRE wxLIST_FORMAT_CENTER = controls2c.wxLIST_FORMAT_CENTER +wxTR_NO_BUTTONS = controls2c.wxTR_NO_BUTTONS +wxTR_HAS_BUTTONS = controls2c.wxTR_HAS_BUTTONS +wxTR_TWIST_BUTTONS = controls2c.wxTR_TWIST_BUTTONS +wxTR_NO_LINES = controls2c.wxTR_NO_LINES +wxTR_MAC_BUTTONS = controls2c.wxTR_MAC_BUTTONS +wxTR_SINGLE = controls2c.wxTR_SINGLE +wxTR_MULTIPLE = controls2c.wxTR_MULTIPLE +wxTR_EXTENDED = controls2c.wxTR_EXTENDED +wxTR_EDIT_LABELS = controls2c.wxTR_EDIT_LABELS +wxTR_LINES_AT_ROOT = controls2c.wxTR_LINES_AT_ROOT +wxTR_HIDE_ROOT = controls2c.wxTR_HIDE_ROOT +wxTR_ROW_LINES = controls2c.wxTR_ROW_LINES +wxTR_HAS_VARIABLE_ROW_HEIGHT = controls2c.wxTR_HAS_VARIABLE_ROW_HEIGHT +wxTR_DEFAULT_STYLE = controls2c.wxTR_DEFAULT_STYLE wxTreeItemIcon_Normal = controls2c.wxTreeItemIcon_Normal wxTreeItemIcon_Selected = controls2c.wxTreeItemIcon_Selected wxTreeItemIcon_Expanded = controls2c.wxTreeItemIcon_Expanded