]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/wx/lib/editor/selection.py
Added wxAutoNSAutoreleasePool to Create(Tool|Status)Bar
[wxWidgets.git] / wxPython / wx / lib / editor / selection.py
index cf3cebedc042502658c439545d4b287a34407961..9a9ed9b2c88a6c821223db44d4a4dd7304dcd1c9 100644 (file)
@@ -1,11 +1,42 @@
+True  = 1
+False = 0
 
-"""Renamer stub: provides a way to drop the wx prefix from wxPython objects."""
+def RestOfLine(sx, width, data, bool):
+    if len(data) == 0 and sx == 0:
+        return [('', bool)]
+    if sx >= len(data):
+        return []
+    return [(data[sx:sx+width], bool)]
+
+def Selection(SelectBegin,SelectEnd, sx, width, line, data):
+    if SelectEnd is None or SelectBegin is None:
+        return RestOfLine(sx, width, data, False)
+    (bRow, bCol) = SelectBegin
+    (eRow, eCol) = SelectEnd
+    if (eRow < bRow):
+        (bRow, bCol) = SelectEnd
+        (eRow, eCol) = SelectBegin
+    if (line < bRow or eRow < line):
+        return RestOfLine(sx, width, data, False)
+    if (bRow < line and line < eRow):
+        return RestOfLine(sx, width, data, True)
+    if (bRow == eRow) and (eCol < bCol):
+        (bCol, eCol) = (eCol, bCol)
+    # selection either starts or ends on this line
+    end = min(sx+width, len(data))
+    if (bRow < line):
+        bCol = 0
+    if (line < eRow):
+        eCol = end
+    pieces = []
+    if (sx < bCol):
+        if bCol <= end:
+            pieces += [(data[sx:bCol], False)]
+        else:
+            return [(data[sx:end], False)]
+    pieces += [(data[max(bCol,sx):min(eCol,end)], True)]
+    if (eCol < end):
+        pieces += [(data[eCol:end], False)]
+    return pieces
 
-__cvsid__ = "$Id$"
-__revision__ = "$Revision$"[11:-2]
 
-from wx import _rename
-from wxPython.lib.editor import selection
-_rename(globals(), selection.__dict__, modulename='lib.editor.selection')
-del selection
-del _rename