This has been driving me crazy for a couple of days and I have finally
narrowed it down to the following code. If the commented section is
uncommented the drag and drop handler is never called. I have included
the .xrc file for reference.
Any help is greatly appreciated. An explanation would be great, but at
the moment I would be eternally grateful for a workaround!
Thanks in advance for those of you that spend some time helping out.
Here is the blasted code,
from wxPython.wx import *
from wxPython.xrc import *
class TestFrame(wxFra me):
def __init__(self,p arent,ID):
wxFrame.__init_ _(self,parent,I D,"test
frame",(100,30) ,(70,60),wxDEFA ULT_FRAME_STYLE )
self.panel=wxPa nel(self,-1)
class FileDropTarget( wxFileDropTarge t):
def __init__(self, window):
wxFileDropTarge t.__init__(self )
def OnDropFiles(sel f, x, y, filenames):
print filenames
class App(wxApp):
def OnInit(self):
self.res=wxXmlR esource("test.x rc")
self.frame=self .res.LoadFrame( None,"FRAME1")
self.frame.pane l=XRCCTRL(self. frame,"test_lis t")
dt=FileDropTarg et(self.frame)
self.frame.pane l.SetDropTarget (dt)
# The following lines break the drag and drop
# self.panel=XRCC TRL(self.frame, "panel")
# sizer=self.pane l.GetSizer()
# sizer.SetSizeHi nts(self.frame)
self.frame.Show ()
self.SetTopWind ow(self.frame)
return True
def main():
app=App(0)
app.MainLoop()
if __name__=="__ma in__":
main()
and here the XRC
<?xml version="1.0" ?>
<resource>
<object class="wxFrame" name="FRAME1">
<title></title>
<object class="wxPanel" name="panel">
<size>100,100 </size>
<object class="wxBoxSiz er">
<orient>wxVERTI CAL</orient>
<object class="sizerite m">
<object class="wxStatic BoxSizer">
<label>test_lis t</label>
<orient>wxVERTI CAL</orient>
<object class="sizerite m">
<object class="wxListBo x" name="test_list ">
<content/>
</object>
</object>
</object>
</object>
</object>
</object>
<size>100,100 </size>
</object>
</resource>
narrowed it down to the following code. If the commented section is
uncommented the drag and drop handler is never called. I have included
the .xrc file for reference.
Any help is greatly appreciated. An explanation would be great, but at
the moment I would be eternally grateful for a workaround!
Thanks in advance for those of you that spend some time helping out.
Here is the blasted code,
from wxPython.wx import *
from wxPython.xrc import *
class TestFrame(wxFra me):
def __init__(self,p arent,ID):
wxFrame.__init_ _(self,parent,I D,"test
frame",(100,30) ,(70,60),wxDEFA ULT_FRAME_STYLE )
self.panel=wxPa nel(self,-1)
class FileDropTarget( wxFileDropTarge t):
def __init__(self, window):
wxFileDropTarge t.__init__(self )
def OnDropFiles(sel f, x, y, filenames):
print filenames
class App(wxApp):
def OnInit(self):
self.res=wxXmlR esource("test.x rc")
self.frame=self .res.LoadFrame( None,"FRAME1")
self.frame.pane l=XRCCTRL(self. frame,"test_lis t")
dt=FileDropTarg et(self.frame)
self.frame.pane l.SetDropTarget (dt)
# The following lines break the drag and drop
# self.panel=XRCC TRL(self.frame, "panel")
# sizer=self.pane l.GetSizer()
# sizer.SetSizeHi nts(self.frame)
self.frame.Show ()
self.SetTopWind ow(self.frame)
return True
def main():
app=App(0)
app.MainLoop()
if __name__=="__ma in__":
main()
and here the XRC
<?xml version="1.0" ?>
<resource>
<object class="wxFrame" name="FRAME1">
<title></title>
<object class="wxPanel" name="panel">
<size>100,100 </size>
<object class="wxBoxSiz er">
<orient>wxVERTI CAL</orient>
<object class="sizerite m">
<object class="wxStatic BoxSizer">
<label>test_lis t</label>
<orient>wxVERTI CAL</orient>
<object class="sizerite m">
<object class="wxListBo x" name="test_list ">
<content/>
</object>
</object>
</object>
</object>
</object>
</object>
<size>100,100 </size>
</object>
</resource>
Comment