Added wxMimeTypesManager and wxFileType Other updates... git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12206 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			124 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			124 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
 | 
						|
from wxPython.wx import *
 | 
						|
 | 
						|
#----------------------------------------------------------------------
 | 
						|
 | 
						|
class MyURLDropTarget(wxPyDropTarget):
 | 
						|
    def __init__(self, window):
 | 
						|
        wxPyDropTarget.__init__(self)
 | 
						|
        self.window = window
 | 
						|
 | 
						|
        self.data = wxURLDataObject();
 | 
						|
        self.SetDataObject(self.data)
 | 
						|
 | 
						|
    def OnDragOver(self, x, y, d):
 | 
						|
        return wxDragLink
 | 
						|
 | 
						|
    def OnData(self, x, y, d):
 | 
						|
        if not self.GetData():
 | 
						|
            return wxDragNone
 | 
						|
 | 
						|
        url = self.data.GetURL()
 | 
						|
        self.window.AppendText(url + "\n")
 | 
						|
 | 
						|
        return d
 | 
						|
 | 
						|
 | 
						|
#----------------------------------------------------------------------
 | 
						|
 | 
						|
class TestPanel(wxPanel):
 | 
						|
    def __init__(self, parent, log):
 | 
						|
        wxPanel.__init__(self, parent, -1)
 | 
						|
 | 
						|
        self.SetAutoLayout(true)
 | 
						|
        outsideSizer = wxBoxSizer(wxVERTICAL)
 | 
						|
 | 
						|
        msg = "Drag-And-Drop of URLs"
 | 
						|
        text = wxStaticText(self, -1, "", style=wxALIGN_CENTRE)
 | 
						|
        text.SetFont(wxFont(24, wxSWISS, wxNORMAL, wxBOLD, false))
 | 
						|
        text.SetLabel(msg)
 | 
						|
        w,h = text.GetTextExtent(msg)
 | 
						|
        text.SetSize(wxSize(w,h+1))
 | 
						|
        text.SetForegroundColour(wxBLUE)
 | 
						|
        outsideSizer.Add(text, 0, wxEXPAND|wxALL, 5)
 | 
						|
        outsideSizer.Add(wxStaticLine(self, -1), 0, wxEXPAND)
 | 
						|
        outsideSizer.Add(20,20)
 | 
						|
 | 
						|
        self.SetFont(wxFont(10, wxSWISS, wxNORMAL, wxBOLD, false))
 | 
						|
 | 
						|
        inSizer = wxFlexGridSizer(2, 2, 5, 5)
 | 
						|
        inSizer.AddGrowableCol(0)
 | 
						|
 | 
						|
        inSizer.Add(20,20)
 | 
						|
        inSizer.Add(20,20)
 | 
						|
        inSizer.Add(wxStaticText(self, -1,
 | 
						|
                                 "Drag URLs from your browser to\nthis window:",
 | 
						|
                                 style = wxALIGN_RIGHT),
 | 
						|
                    0, wxALIGN_RIGHT )
 | 
						|
        self.dropText = wxTextCtrl(self, -1, "", size=(380, 180),
 | 
						|
                                   style=wxTE_MULTILINE|wxTE_READONLY)
 | 
						|
        inSizer.Add(self.dropText, 0, wxEXPAND)
 | 
						|
 | 
						|
 | 
						|
        inSizer.Add(wxStaticText(self, -1,
 | 
						|
                                 "Drag this URL to your browser:",
 | 
						|
                                 style = wxALIGN_RIGHT),
 | 
						|
                    0, wxALIGN_RIGHT )
 | 
						|
        self.dragText = wxTextCtrl(self, -1, "http://wxPython.org/")
 | 
						|
        inSizer.Add(self.dragText, 0, wxEXPAND)
 | 
						|
        EVT_MOTION(self.dragText, self.OnStartDrag)
 | 
						|
 | 
						|
 | 
						|
##         inSizer.Add(wxStaticText(self, -1,
 | 
						|
##                                  "Drag this TEXT to your browser:",
 | 
						|
##                                  style = wxALIGN_RIGHT),
 | 
						|
##                     0, wxALIGN_RIGHT )
 | 
						|
##         self.dragText2 = wxTextCtrl(self, -1, "http://wxPython.org/")
 | 
						|
##         inSizer.Add(self.dragText2, 0, wxEXPAND)
 | 
						|
##         EVT_MOTION(self.dragText2, self.OnStartDrag2)
 | 
						|
 | 
						|
 | 
						|
        outsideSizer.Add(inSizer, 1, wxEXPAND)
 | 
						|
        self.SetSizer(outsideSizer)
 | 
						|
 | 
						|
 | 
						|
        self.dropText.SetDropTarget(MyURLDropTarget(self.dropText))
 | 
						|
 | 
						|
 | 
						|
 | 
						|
    def OnStartDrag(self, evt):
 | 
						|
        if evt.Dragging():
 | 
						|
            url = self.dragText.GetValue()
 | 
						|
            data = wxURLDataObject()
 | 
						|
            data.SetURL(url)
 | 
						|
 | 
						|
            dropSource = wxDropSource(self.dragText)
 | 
						|
            dropSource.SetData(data)
 | 
						|
            result = dropSource.DoDragDrop()
 | 
						|
 | 
						|
 | 
						|
    def OnStartDrag2(self, evt):
 | 
						|
        if evt.Dragging():
 | 
						|
            url = self.dragText2.GetValue()
 | 
						|
            data = wxTextDataObject()
 | 
						|
            data.SetText(url)
 | 
						|
 | 
						|
            dropSource = wxDropSource(self.dragText2)
 | 
						|
            dropSource.SetData(data)
 | 
						|
            result = dropSource.DoDragDrop()
 | 
						|
 | 
						|
 | 
						|
#----------------------------------------------------------------------
 | 
						|
 | 
						|
def runTest(frame, nb, log):
 | 
						|
    win = TestPanel(nb, log)
 | 
						|
    return win
 | 
						|
 | 
						|
#----------------------------------------------------------------------
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
overview = """\
 | 
						|
"""
 |