[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r6105 - in trunk/gnue-forms/src/uidrivers/curses: . widgets
From: |
reinhard |
Subject: |
r6105 - in trunk/gnue-forms/src/uidrivers/curses: . widgets |
Date: |
Thu, 29 Jul 2004 15:28:13 -0500 (CDT) |
Author: reinhard
Date: 2004-07-29 15:28:12 -0500 (Thu, 29 Jul 2004)
New Revision: 6105
Modified:
trunk/gnue-forms/src/uidrivers/curses/UIdriver.py
trunk/gnue-forms/src/uidrivers/curses/widgets/form.py
Log:
Implemented status bar.
Modified: trunk/gnue-forms/src/uidrivers/curses/UIdriver.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/curses/UIdriver.py 2004-07-29 11:43:36 UTC
(rev 6104)
+++ trunk/gnue-forms/src/uidrivers/curses/UIdriver.py 2004-07-29 20:28:12 UTC
(rev 6105)
@@ -155,8 +155,8 @@
def setTitle (self, event):
# Exactly this should actually be done by the base ui driver
- ui = self._gfObjToUIWidget [event._form]
- ui.setTitle (event.title)
+ uiForm = self._gfObjToUIWidget [event._form]
+ uiForm.setTitle (event.title)
# ---------------------------------------------------------------------------
# Display warning message
@@ -164,8 +164,12 @@
def formAlert (self, event):
+ # Exactly this should actually be done by the base ui driver
+ uiForm = self._gfObjToUIWidget [event._form]
+ uiForm.statusMessage (event.data)
+
+ # Curses specific
curses.beep ()
- curses.flash ()
# ---------------------------------------------------------------------------
# Indicate start of nonresponsive phase
@@ -173,7 +177,7 @@
def beginWait (self, event):
- pass
+ self.__currentForm.statusMessage (u_("processing..."))
# ---------------------------------------------------------------------------
# Indicate end of nonresponsive phase
@@ -181,7 +185,7 @@
def endWait (self, event):
- pass
+ self.__currentForm.statusMessage (None)
# ---------------------------------------------------------------------------
# Show a message
Modified: trunk/gnue-forms/src/uidrivers/curses/widgets/form.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/curses/widgets/form.py 2004-07-29
11:43:36 UTC (rev 6104)
+++ trunk/gnue-forms/src/uidrivers/curses/widgets/form.py 2004-07-29
20:28:12 UTC (rev 6105)
@@ -33,14 +33,31 @@
class UIForm (UIWidget):
# ---------------------------------------------------------------------------
- # Initialize form
+ # Initialization
# ---------------------------------------------------------------------------
- def createWidget (self, event, spacer):
+ def __init__ (self, event):
+ UIWidget.__init__ (self, event)
+
self.__pages = []
self.__currentPage = None
+ # Status bar values
+ self.__tip = ''
+ self.__status = ''
+ self.__insert = ''
+ self.__curRec = 0
+ self.__maxRec = 0
+ self.__curPage = 0
+ self.__maxPage = 0
+
+ # ---------------------------------------------------------------------------
+ # Initialize form
+ # ---------------------------------------------------------------------------
+
+ def createWidget (self, event, spacer):
+
(x, y) = event.interface.screenSize ()
self.__window = curses.newpad (y, x)
self.__window.bkgd (' ', curses.color_pair (4))
@@ -66,11 +83,38 @@
# Set status bar
# ---------------------------------------------------------------------------
- def _setStatusBar (self, tip, statusValue, insertValue, currentRecord,
- maxRecord, currentPage, maxPage):
- pass
+ def _setStatusBar (self, tip, status, insert, curRec, maxRec, curPage,
+ maxPage):
+ # Gets called with incomplete parameters, so we always have to remember the
+ # old values for missing parameters
+ if tip is not None: self.__tip = tip
+ if status is not None: self.__status = status
+ if insert is not None: self.__insert = insert
+ if curRec is not None: self.__curRec = curRec
+ if maxRec is not None: self.__maxRec = maxRec
+ if curPage is not None: self.__curPage = curPage
+ if maxPage is not None: self.__maxPage = maxPage
+
+ self.__updateStatusBar ()
+
# ---------------------------------------------------------------------------
+ # Output a message on the status bar
+ # ---------------------------------------------------------------------------
+
+ def statusMessage (self, message):
+
+ if message:
+ (y, x) = self.__window.getmaxyx ()
+ self.__window.move (y - 2, 0)
+ self.__window.clrtobot ()
+ self.__window.addstr (y - 2, 1, message,
+ curses.color_pair (5) + curses.A_BOLD)
+ self.__window.refresh (y - 2, 0, y - 2, 0, y, x)
+ else:
+ self.__updateStatusBar ()
+
+ # ---------------------------------------------------------------------------
# Go to a specific page
# ---------------------------------------------------------------------------
@@ -114,6 +158,8 @@
ok = _("Ok")
(y, x) = self.__window.getmaxyx ()
+ self.__window.move (y - 2, 0)
+ self.__window.clrtobot ()
self.__window.addstr (y - 2, 1, message, attr [kind])
@@ -182,6 +228,25 @@
(y, x) = self.__window.getmaxyx ()
self.__window.move (y - 2, 0)
self.__window.clrtobot ()
+
+ attr = curses.color_pair (5) + curses.A_BOLD
+
+ tip = ('%-' + str (x - 25) + 's') % self.__tip
+
+ recstr = '%d/%d' % (self.__curRec, self.__maxRec)
+ pagestr = '%d/%d' % (self.__curPage, self.__maxPage)
+
+ self.__window.addstr (y - 2, 0, '%s' % tip, attr)
+ self.__window.addstr (y - 2, x - 24, '%-4s' % self.__status, attr)
+ self.__window.addstr (y - 2, x - 19, '%-3s' % self.__insert, attr)
+ self.__window.addstr (y - 2, x - 15, '%-9s' % recstr, attr)
+ self.__window.addstr (y - 2, x - 5, '%-5s' % pagestr, attr)
+
+ self.__window.addch (y - 2, x - 25, curses.ACS_VLINE, attr)
+ self.__window.addch (y - 2, x - 20, curses.ACS_VLINE, attr)
+ self.__window.addch (y - 2, x - 16, curses.ACS_VLINE, attr)
+ self.__window.addch (y - 2, x - 6, curses.ACS_VLINE, attr)
+
self.__window.refresh (y - 2, 0, y - 2, 0, y, x)
# =============================================================================
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r6105 - in trunk/gnue-forms/src/uidrivers/curses: . widgets,
reinhard <=