wxRemotelyScrolledTreeCtrl now draws its own lines
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12847 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
74bcba0e33
commit
07c99b2608
@ -10,7 +10,6 @@ class TestTree(wxRemotelyScrolledTreeCtrl):
|
||||
style=wxTR_HAS_BUTTONS):
|
||||
wxRemotelyScrolledTreeCtrl.__init__(self, parent, ID, pos, size, style)
|
||||
##self.SetBackgroundColour("LIGHT BLUE")
|
||||
EVT_PAINT(self, self.OnPaint)
|
||||
|
||||
# make an image list
|
||||
im1 = im2 = -1
|
||||
@ -28,34 +27,6 @@ class TestTree(wxRemotelyScrolledTreeCtrl):
|
||||
|
||||
self.Expand(root)
|
||||
|
||||
def OnPaint(self, evt):
|
||||
dc = wxPaintDC(self)
|
||||
|
||||
wxTreeCtrl.OnPaint(self, evt)
|
||||
|
||||
# Reset the device origin since it may have been set
|
||||
dc.SetDeviceOrigin(0, 0)
|
||||
|
||||
pen = wxPen(wxSystemSettings_GetSystemColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID)
|
||||
dc.SetPen(pen)
|
||||
dc.SetBrush(wxTRANSPARENT_BRUSH)
|
||||
|
||||
clientSize = self.GetClientSize()
|
||||
cy = 0
|
||||
h = self.GetFirstVisibleItem()
|
||||
while h.Ok():
|
||||
rect = self.GetBoundingRect(h)
|
||||
if rect is not None:
|
||||
cy = rect.GetTop()
|
||||
dc.DrawLine(0, cy, clientSize.x, cy)
|
||||
lastH = h
|
||||
h = self.GetNextVisible(h)
|
||||
|
||||
rect = self.GetBoundingRect(lastH)
|
||||
if rect is not None:
|
||||
cy = rect.GetBottom()
|
||||
dc.DrawLine(0, cy, clientSize.x, cy)
|
||||
|
||||
|
||||
|
||||
class TestValueWindow(wxTreeCompanionWindow):
|
||||
@ -99,7 +70,8 @@ class TestPanel(wxPanel):
|
||||
style=wxNO_BORDER | wxCLIP_CHILDREN | wxVSCROLL)
|
||||
splitter = wxThinSplitterWindow(scroller, -1, style=wxSP_3DBORDER | wxCLIP_CHILDREN)
|
||||
splitter.SetSashSize(2)
|
||||
self.tree = TestTree(splitter, -1, style=wxTR_HAS_BUTTONS | wxTR_NO_LINES | wxNO_BORDER)
|
||||
self.tree = TestTree(splitter, -1, style =
|
||||
wxTR_HAS_BUTTONS | wxTR_NO_LINES | wxTR_ROW_LINES | wxNO_BORDER )
|
||||
valueWindow = TestValueWindow(splitter, -1, style=wxNO_BORDER)
|
||||
|
||||
splitter.SplitVertically(self.tree, valueWindow)
|
||||
|
@ -1274,8 +1274,6 @@ public:
|
||||
return (val1,val2)
|
||||
"
|
||||
|
||||
// This seems pretty bogus, but is currently needed for SplitTree
|
||||
void OnPaint(wxPaintEvent& event);
|
||||
};
|
||||
|
||||
|
||||
|
@ -5787,8 +5787,8 @@ static PyObject *_wrap_wxWindow_GetAcceleratorTable(PyObject *self, PyObject *ar
|
||||
return _resultobj;
|
||||
}
|
||||
|
||||
#define wxWindow_base_OnPaint(_swigobj,_swigarg0) (_swigobj->OnPaint(_swigarg0))
|
||||
static PyObject *_wrap_wxWindow_base_OnPaint(PyObject *self, PyObject *args, PyObject *kwargs) {
|
||||
#define wxWindow_OnPaint(_swigobj,_swigarg0) (_swigobj->OnPaint(_swigarg0))
|
||||
static PyObject *_wrap_wxWindow_OnPaint(PyObject *self, PyObject *args, PyObject *kwargs) {
|
||||
PyObject * _resultobj;
|
||||
wxWindow * _arg0;
|
||||
wxPaintEvent * _arg1;
|
||||
@ -5797,25 +5797,25 @@ static PyObject *_wrap_wxWindow_base_OnPaint(PyObject *self, PyObject *args, PyO
|
||||
char *_kwnames[] = { "self","event", NULL };
|
||||
|
||||
self = self;
|
||||
if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxWindow_base_OnPaint",_kwnames,&_argo0,&_argo1))
|
||||
if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxWindow_OnPaint",_kwnames,&_argo0,&_argo1))
|
||||
return NULL;
|
||||
if (_argo0) {
|
||||
if (_argo0 == Py_None) { _arg0 = NULL; }
|
||||
else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
|
||||
PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxWindow_base_OnPaint. Expected _wxWindow_p.");
|
||||
PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxWindow_OnPaint. Expected _wxWindow_p.");
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
if (_argo1) {
|
||||
if (_argo1 == Py_None) { _arg1 = NULL; }
|
||||
else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPaintEvent_p")) {
|
||||
PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxWindow_base_OnPaint. Expected _wxPaintEvent_p.");
|
||||
PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxWindow_OnPaint. Expected _wxPaintEvent_p.");
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
{
|
||||
wxPy_BEGIN_ALLOW_THREADS;
|
||||
wxWindow_base_OnPaint(_arg0,*_arg1);
|
||||
wxWindow_OnPaint(_arg0,*_arg1);
|
||||
|
||||
wxPy_END_ALLOW_THREADS;
|
||||
if (PyErr_Occurred()) return NULL;
|
||||
@ -10599,7 +10599,7 @@ static PyMethodDef windowscMethods[] = {
|
||||
{ "wxPanel_Create", (PyCFunction) _wrap_wxPanel_Create, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "new_wxPrePanel", (PyCFunction) _wrap_new_wxPrePanel, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "new_wxPanel", (PyCFunction) _wrap_new_wxPanel, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "wxWindow_base_OnPaint", (PyCFunction) _wrap_wxWindow_base_OnPaint, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "wxWindow_OnPaint", (PyCFunction) _wrap_wxWindow_OnPaint, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "wxWindow_GetAcceleratorTable", (PyCFunction) _wrap_wxWindow_GetAcceleratorTable, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "wxWindow_SetAcceleratorTable", (PyCFunction) _wrap_wxWindow_SetAcceleratorTable, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "wxWindow_PrevControlId", (PyCFunction) _wrap_wxWindow_PrevControlId, METH_VARARGS | METH_KEYWORDS },
|
||||
|
@ -556,8 +556,8 @@ class wxWindowPtr(wxEvtHandlerPtr):
|
||||
val = apply(windowsc.wxWindow_GetAcceleratorTable,(self,) + _args, _kwargs)
|
||||
if val: val = wxAcceleratorTablePtr(val)
|
||||
return val
|
||||
def base_OnPaint(self, *_args, **_kwargs):
|
||||
val = apply(windowsc.wxWindow_base_OnPaint,(self,) + _args, _kwargs)
|
||||
def OnPaint(self, *_args, **_kwargs):
|
||||
val = apply(windowsc.wxWindow_OnPaint,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def __repr__(self):
|
||||
return "<C wxWindow instance at %s>" % (self.this,)
|
||||
|
@ -402,7 +402,7 @@ public:
|
||||
wxAcceleratorTable *GetAcceleratorTable();
|
||||
|
||||
#ifdef __WXMSW__
|
||||
// This seems pretty bogus, but is currently needed for SplitTree
|
||||
// A way to do the native draw first... Too bad it isn't in wxGTK too.
|
||||
void OnPaint(wxPaintEvent& event);
|
||||
#endif
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user