[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r7494 - in trunk/gnue-forms/src/uidrivers/curses: . widgets
From: |
johannes |
Subject: |
[gnue] r7494 - in trunk/gnue-forms/src/uidrivers/curses: . widgets |
Date: |
Thu, 28 Apr 2005 03:17:48 -0500 (CDT) |
Author: johannes
Date: 2005-04-28 03:17:46 -0500 (Thu, 28 Apr 2005)
New Revision: 7494
Modified:
trunk/gnue-forms/src/uidrivers/curses/UIdriver.py
trunk/gnue-forms/src/uidrivers/curses/widgets/entry.py
trunk/gnue-forms/src/uidrivers/curses/widgets/form.py
trunk/gnue-forms/src/uidrivers/curses/widgets/page.py
Log:
Really fixed issues with field length
Modified: trunk/gnue-forms/src/uidrivers/curses/UIdriver.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/curses/UIdriver.py 2005-04-27 13:39:10 UTC
(rev 7493)
+++ trunk/gnue-forms/src/uidrivers/curses/UIdriver.py 2005-04-28 08:17:46 UTC
(rev 7494)
@@ -111,6 +111,7 @@
self.registerEventListeners ({'can' + name: self.__canEvent,
'cannot' + name: self.__cannotEvent})
+
# ---------------------------------------------------------------------------
# Activate the given form
# ---------------------------------------------------------------------------
@@ -139,7 +140,8 @@
curses.KEY_SIC: (curses.KEY_IC, True, False, False),
curses.KEY_SDC: (curses.KEY_DC, True, False, False),
curses.KEY_SHOME: (curses.KEY_HOME, True, False, False),
- curses.KEY_SEND: (curses.KEY_END, True, False, False)
+ curses.KEY_SEND: (curses.KEY_END, True, False, False),
+ curses.KEY_BTAB: (9 , True, False, False)
}
# ---------------------------------------------------------------------------
@@ -293,6 +295,10 @@
def _showException (self, group, name, message, detail):
+ # Give us a chance to debug exceptions until we have a 'good' exception
+ # dialog
+ gDebug (2, "MESSAGE: %s" % message)
+ gDebug (2, "Detail : %s" % detail)
self.showMessage (message, kind = 'Error')
# ---------------------------------------------------------------------------
Modified: trunk/gnue-forms/src/uidrivers/curses/widgets/entry.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/curses/widgets/entry.py 2005-04-27
13:39:10 UTC (rev 7493)
+++ trunk/gnue-forms/src/uidrivers/curses/widgets/entry.py 2005-04-28
08:17:46 UTC (rev 7494)
@@ -45,9 +45,10 @@
else:
self.__length = None
- self.__value = {}
+ self.__value = {}
+ self.__offset = {}
self.__selection = {}
- self.__enabled = {}
+ self.__enabled = {}
if self.__style == 'checkbox':
self._setCursor (1, 0)
@@ -61,6 +62,7 @@
self.__value [index] = None
self.__selection [index] = None
self.__enabled [index] = True
+ self.__offset [index] = 0
# ---------------------------------------------------------------------------
# Focus has changed to this entry
@@ -84,7 +86,7 @@
def setValue (self, value, index = 0, enabled = True):
- self.__value [index] = value
+ self.__value [index] = value
self.__enabled [index] = enabled
self.__repaint (index)
@@ -96,19 +98,23 @@
def setCursorPosition (self, position, index = 0):
if self.__style != 'checkbox':
- self._setCursor (position, 0)
+ if self.__length:
+ npos = position - self.__offset [index]
+ if npos > self.__length:
+ self.__offset [index] = position - self.__length
+ npos = self.__length
+ self.__repaint (index)
+ elif npos < 0:
+ self.__offset [index] += npos
+ npos = 0
+ self.__repaint (index)
- # ---------------------------------------------------------------------------
- # Move the cursor up to the maximum entry width, but not any further !
- # ---------------------------------------------------------------------------
+ position = npos
- def _setCursor (self, x, y):
+ self._setCursor (position, 0)
- if self.__length and x <= self.__length:
- UIHelper._setCursor (self, x, y)
-
# ---------------------------------------------------------------------------
# Set start and end of selection area
# ---------------------------------------------------------------------------
@@ -128,17 +134,18 @@
def __repaint (self, index):
- value = self.__value [index]
+ value = self.__value [index]
+ offset = self.__offset [index]
if self.__style in ['default', 'label', 'dropdown', 'listbox']:
text = value or ''
+ text = text [offset:offset + self.__length]
text += ' ' * (self.__length - len (text))
- text = text [-self.__length:]
elif self.__style == 'password':
text = '*' * len (value or '')
+ text = text [offset:offset + self.__length]
text += ' ' * (self.__length - len (text))
- text = text [-self.__length:]
elif self.__style == 'checkbox':
if self.__value [index]:
Modified: trunk/gnue-forms/src/uidrivers/curses/widgets/form.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/curses/widgets/form.py 2005-04-27
13:39:10 UTC (rev 7493)
+++ trunk/gnue-forms/src/uidrivers/curses/widgets/form.py 2005-04-28
08:17:46 UTC (rev 7494)
@@ -63,6 +63,7 @@
(x, y) = event.interface.screenSize ()
self.__window = curses.newpad (y, x)
+ self.__window.keypad (1)
self.setTitle (event.object.title)
Modified: trunk/gnue-forms/src/uidrivers/curses/widgets/page.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/curses/widgets/page.py 2005-04-27
13:39:10 UTC (rev 7493)
+++ trunk/gnue-forms/src/uidrivers/curses/widgets/page.py 2005-04-28
08:17:46 UTC (rev 7494)
@@ -47,7 +47,7 @@
(self.__x1, self.__y1, self.__x2, self.__y2) = event.parent.getCanvas ()
self.__window = curses.newpad (self.__y2 - self.__y1, self.__x2 -
self.__x1)
- self.__window.keypad (True)
+ self.__window.keypad (1)
self.__window.bkgd (' ', self._uiDriver.attr ['background'])
self.__cursor = (0, 0)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r7494 - in trunk/gnue-forms/src/uidrivers/curses: . widgets,
johannes <=