wxEVT_COMMAND_LIST_COL_BEGIN_DRAG,
wxEVT_COMMAND_LIST_COL_DRAGGING,
wxEVT_COMMAND_LIST_COL_END_DRAG,
-
+ wxEVT_COMMAND_LIST_ITEM_FOCUSED,
};
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)
"
bool HasBackgroundColour();
bool HasFont();
- const wxColour& GetTextColour();
- const wxColour& GetBackgroundColour();
- const wxFont& GetFont();
+ wxColour GetTextColour();
+ wxColour GetBackgroundColour();
+ wxFont GetFont();
};
wxListEvent(wxEventType commandType = wxEVT_NULL, int id = 0);
int m_code;
- long m_itemIndex;
long m_oldItemIndex;
+ long m_itemIndex;
int m_col;
- bool m_cancelled;
wxPoint m_pointDrag;
wxListItem m_item;
int GetCode();
long GetIndex();
- long GetOldIndex();
- long GetOldItem();
int GetColumn();
- bool Cancelled();
wxPoint GetPoint();
const wxString& GetLabel();
const wxString& GetText();
%}
+
%name(wxListCtrl)class wxPyListCtrl : public wxControl {
public:
wxPyListCtrl(wxWindow* parent, wxWindowID id = -1,
const wxValidator& validator = wxDefaultValidator,
char* name = "listCtrl");
- void _setSelf(PyObject* self, PyObject* _class);
- %pragma(python) addtomethod = "__init__:self._setSelf(self, wxListCtrl)"
+ void _setCallbackInfo(PyObject* self, PyObject* _class);
+ %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxListCtrl)"
+ %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
+ %pragma(python) addtomethod = "wxPreListCtrl:val._setOORInfo(val)"
// Set the control colours
bool SetForegroundColour(const wxColour& col);
int GetItemCount() const;
// Gets the number of columns in the list control
- int GetColumnCount() const { return m_colCount; }
+ int GetColumnCount() const;
// Retrieves the spacing between icons in pixels.
// If small is TRUE, gets the spacing for the small icon
void RefreshItem(long item);
void RefreshItems(long itemFrom, long itemTo);
-
-
-
// Arranges the items
bool Arrange(int flag = wxLIST_ALIGN_DEFAULT);
int wxCALLBACK wxPyListCtrl_SortItems(long item1, long item2, long funcPtr) {
int retval = 0;
PyObject* func = (PyObject*)funcPtr;
- bool doSave = wxPyRestoreThread();
+ wxPyTState* state = wxPyBeginBlockThreads();
PyObject* args = Py_BuildValue("(ii)", item1, item2);
PyObject* result = PyEval_CallObject(func, args);
Py_DECREF(result);
}
- wxPySaveThread(doSave);
+ wxPyEndBlockThreads(state);
return retval;
}
const wxValidator& validator = wxDefaultValidator,
const wxString &name = "listctrl" );
+ %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
+ %pragma(python) addtomethod = "wxPreListView:val._setOORInfo(val)"
// [de]select an item
void Select(long n, bool on = TRUE);
bool HasBackgroundColour();
bool HasFont();
- const wxColour& GetTextColour();
- const wxColour& GetBackgroundColour();
- const wxFont& GetFont();
+ wxColour GetTextColour();
+ wxColour GetBackgroundColour();
+ wxFont GetFont();
};
wxTreeItemId();
~wxTreeItemId();
bool IsOk();
+ %pragma(python) addtoclass = "Ok = IsOk"
%addmethods {
int __cmp__(wxTreeItemId* other) {
}
~wxPyTreeItemData() {
- bool doSave = wxPyRestoreThread();
+ wxPyTState* state = wxPyBeginBlockThreads();
Py_DECREF(m_obj);
- wxPySaveThread(doSave);
+ wxPyEndBlockThreads(state);
}
PyObject* GetData() {
}
void SetData(PyObject* obj) {
- bool doSave = wxPyRestoreThread();
+ wxPyTState* state = wxPyBeginBlockThreads();
Py_DECREF(m_obj);
- wxPySaveThread(doSave);
+ wxPyEndBlockThreads(state);
m_obj = obj;
Py_INCREF(obj);
}
wxTreeItemId GetItem();
wxTreeItemId GetOldItem();
wxPoint GetPoint();
+ const wxKeyEvent& GetKeyEvent();
int GetCode();
const wxString& GetLabel();
};
int OnCompareItems(const wxTreeItemId& item1,
const wxTreeItemId& item2) {
int rval = 0;
- bool doSave = wxPyRestoreThread();
- if (m_myInst.findCallback("OnCompareItems"))
+ bool found;
+ wxPyTState* state = wxPyBeginBlockThreads();
+ if ((found = m_myInst.findCallback("OnCompareItems")))
rval = m_myInst.callCallback(Py_BuildValue(
"(OO)",
wxPyConstructObject((void*)&item1, "wxTreeItemId"),
wxPyConstructObject((void*)&item2, "wxTreeItemId")));
- else
+ wxPyEndBlockThreads(state);
+ if (! found)
rval = wxTreeCtrl::OnCompareItems(item1, item2);
- wxPySaveThread(doSave);
return rval;
}
PYPRIVATE;
const wxValidator& validator = wxDefaultValidator,
char* name = "wxTreeCtrl");
- void _setSelf(PyObject* self, PyObject* _class);
- %pragma(python) addtomethod = "__init__:self._setSelf(self, wxTreeCtrl)"
+ void _setCallbackInfo(PyObject* self, PyObject* _class);
+ %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxTreeCtrl)"
+
+ %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
+ %pragma(python) addtomethod = "wxPreTreeCtrl:val._setOORInfo(val)"
size_t GetCount();
unsigned int GetIndent();
//size_t GetSelections(wxArrayTreeItemIds& selection);
%addmethods {
PyObject* GetSelections() {
- bool doSave = wxPyRestoreThread();
+ wxPyTState* state = wxPyBeginBlockThreads();
PyObject* rval = PyList_New(0);
wxArrayTreeItemIds array;
size_t num, x;
PyObject* item = wxPyConstructObject((void*)tii, "wxTreeItemId", TRUE);
PyList_Append(rval, item);
}
- wxPySaveThread(doSave);
+ wxPyEndBlockThreads(state);
return rval;
}
}
#ifdef __WXMSW__
void SetItemDropHighlight(const wxTreeItemId& item, int highlight = TRUE);
+#endif
//bool GetBoundingRect(const wxTreeItemId& item, wxRect& rect, int textOnly = FALSE)
%addmethods {
PyObject* GetBoundingRect(const wxTreeItemId& item, int textOnly = FALSE) {
wxRect rect;
if (self->GetBoundingRect(item, rect, textOnly)) {
- bool doSave = wxPyRestoreThread();
+ wxPyTState* state = wxPyBeginBlockThreads();
wxRect* r = new wxRect(rect);
PyObject* val = wxPyConstructObject((void*)r, "wxRect");
- wxPySaveThread(doSave);
+ wxPyEndBlockThreads(state);
return val;
}
else {
}
}
}
-#endif
+
%pragma(python) addtoclass = "
# Redefine some methods that SWIG gets a bit confused on...
val1.thisown = 1
return (val1,val2)
"
+
};
//----------------------------------------------------------------------
%init %{
+ // Map renamed classes back to their common name for OOR
wxPyPtrTypeMap_Add("wxTreeItemData", "wxPyTreeItemData");
wxPyPtrTypeMap_Add("wxTreeCtrl", "wxPyTreeCtrl");
+ wxPyPtrTypeMap_Add("wxListCtrl", "wxPyListCtrl");
%}
//----------------------------------------------------------------------