commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnue] r9179 - trunk/gnue-forms/src/uidrivers/curses/widgets


From: johannes
Subject: [gnue] r9179 - trunk/gnue-forms/src/uidrivers/curses/widgets
Date: Tue, 19 Dec 2006 09:54:55 -0600 (CST)

Author: johannes
Date: 2006-12-19 09:54:55 -0600 (Tue, 19 Dec 2006)
New Revision: 9179

Modified:
   trunk/gnue-forms/src/uidrivers/curses/widgets/entry.py
Log:
Better implementation of selections in multiline edits


Modified: trunk/gnue-forms/src/uidrivers/curses/widgets/entry.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/curses/widgets/entry.py      2006-12-19 
15:35:43 UTC (rev 9178)
+++ trunk/gnue-forms/src/uidrivers/curses/widgets/entry.py      2006-12-19 
15:54:55 UTC (rev 9179)
@@ -518,20 +518,20 @@
         if self.selection is not None:
             sel1, sel2 = self.selection
             sel_set = sets.Set(range(sel1, sel2+1))
-            gDebug(2, "SELECTION=%r %s" % (sel_set, sel2))
 
         for (row, line) in enumerate(text.splitlines()):
             if self.selection is not None:
                 left = len(stream)
                 right = left + len(line)
                 current = sets.Set(range(left, right))
-                gDebug(2, "current: %r %r" % (line, current))
                 match = sel_set.intersection(current)
                 if match:
-                    mins = min(min(match) - left - self.__hoffs, 0)
-                    maxs = min(max(match) - left - self.__hoffs + 1, 
self.width)
+                    mins = min(match) - left - self.__hoffs
+                    maxs = min(max(match) - left - self.__hoffs+1, self.width)
+                    if maxs != len(match):
+                        maxs -= 1
+
                     selected[row] = (mins, maxs)
-                    gDebug(2, "MATCH: %s/%s aus %s" % (mins, maxs, match))
 
             stream += line + '\n'
 
@@ -568,8 +568,6 @@
         if not self.entry.ready():
             return
 
-        gDebug(2, "S=%s/%s, H=%s, V=%s" % (self.width, self.height,
-            self.__hoffs, self.__voffs))
         (row, col) = self.__position_to_coord(position)
         self.__vx = col
         self.__vy = row
@@ -577,31 +575,25 @@
         delta_x = col - self.__hoffs
         delta_y = row - self.__voffs
 
-        gDebug(2, "ch/rv: %s/%s" % (delta_x, delta_y))
-
         if (delta_x) > self.width - 1:
             self.__hoffs = col - self.width + 1
             col = self.width - 1
-            gDebug(2, "New HOFFS: %s" % self.__hoffs)
             need_repaint = True
 
         elif (delta_x) < 0:
             self.__hoffs += delta_x
             col = 0
-            gDebug(2, "New HOFFS: %s" % self.__hoffs)
             need_repaint = True
         else:
             col -= self.__hoffs
 
         if delta_y > self.height - 1:
             self.__voffs = row - self.height + 1
-            gDebug(2, "New VOFFS: %s" % self.__voffs)
             row = self.height - 1
             need_repaint = True
 
         elif delta_y < 0:
             self.__voffs += delta_y
-            gDebug(2, "New VOFFS: %s" % self.__voffs)
             row = 0
             need_repaint = True
         else:
@@ -611,7 +603,6 @@
             self._repaint_()
 
         if self.has_focus:
-            gDebug(2, "Point to: %s/%s" % (col, row))
             self.entry._parent.move(self.left + col, self.top + row)
 
     # -------------------------------------------------------------------------
@@ -625,7 +616,6 @@
             self.selection = None
         else:
             self.selection = (selection1, selection2)
-            gDebug(2, "set selection: %s %s" % self.selection)
 
         self._repaint_()
 
@@ -676,7 +666,6 @@
         if paragraph > 0:
             offset = len(part.split('\n')[-1])
 
-        gDebug(2, "pos2virt: %s %s/%s" % (position, paragraph, offset))
         return (paragraph, offset)
 
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]