X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ec873c943d71f0d5f13e3398557071448cda6c23..a4027e74873007e3430af3bd77019bcab76f6c04:/wxPython/demo/GridDragAndDrop.py diff --git a/wxPython/demo/GridDragAndDrop.py b/wxPython/demo/GridDragAndDrop.py deleted file mode 100644 index 6188e1f9f4..0000000000 --- a/wxPython/demo/GridDragAndDrop.py +++ /dev/null @@ -1,104 +0,0 @@ - -""" -Example showing how to make a grid a drop target for files. - -""" - -import wx -import wx.grid as gridlib - -#--------------------------------------------------------------------------- -# Set VIRTUAL to 1 to use a virtual grid -VIRTUAL = 1 -#--------------------------------------------------------------------------- - -class GridFileDropTarget(wx.FileDropTarget): - def __init__(self, grid): - wx.FileDropTarget.__init__(self) - self.grid = grid - - def OnDropFiles(self, x, y, filenames): - # the x,y coordinates here are Unscrolled coordinates. They must be changed - # to scrolled coordinates. - x, y = self.grid.CalcUnscrolledPosition(x, y) - - # now we need to get the row and column from the grid - # but we need to first remove the RowLabel and ColumnLabel - # bounding boxes - # Why this isn't done for us, I'll never know... - x = x - self.grid.GetGridRowLabelWindow().GetRect().width - y = y - self.grid.GetGridColLabelWindow().GetRect().height - col = self.grid.XToCol(x) - row = self.grid.YToRow(y) - - if row > -1 and col > -1: - self.grid.SetCellValue(row, col, filenames[0]) - self.grid.AutoSizeColumn(col) - self.grid.Refresh() - - - -class FooTable(gridlib.PyGridTableBase): - def __init__(self): - gridlib.PyGridTableBase.__init__(self) - self.dropTargets = {(0,0):"Drag", - (1,0):"A", - (2,0):"File", - (3,0):"To", - (4,0):"A", - (5,0):"Cell"} - def GetNumberCols(self): - return 100 - def GetNumberRows(self): - return 100 - def GetValue(self, row, col): - return self.dropTargets.get((row, col), "") - - -class SimpleGrid(gridlib.Grid): - def __init__(self, parent, log): - gridlib.Grid.__init__(self, parent, -1) - self.log = log - self.moveTo = None - - if VIRTUAL: - self.table = FooTable() - self.SetTable(self.table) - else: - self.CreateGrid(25, 25) - - # set the drag and drop target - dropTarget = GridFileDropTarget(self) - self.SetDropTarget(dropTarget) - self.EnableDragRowSize() - self.EnableDragColSize() - - def SetCellValue(self, row, col, value): - if VIRTUAL: - self.table.dropTargets[row, col] = value - else: - gridlib.Grid.SetCellValue(self, row, col, value) - - -class TestFrame(wx.Frame): - def __init__(self, parent, log): - wx.Frame.__init__(self, parent, -1, "DragAndDrop Grid", size=(640,480)) - grid = SimpleGrid(self, log) - - - -#--------------------------------------------------------------------------- - -if __name__ == '__main__': - import sys - app = wx.PySimpleApp() - frame = TestFrame(None, sys.stdout) - frame.Show(True) - app.MainLoop() - - -#--------------------------------------------------------------------------- - - - -