[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r6108 - in trunk/gnue-forms/src/uidrivers/curses: . widgets
From: |
reinhard |
Subject: |
r6108 - in trunk/gnue-forms/src/uidrivers/curses: . widgets |
Date: |
Thu, 29 Jul 2004 18:04:44 -0500 (CDT) |
Author: reinhard
Date: 2004-07-29 18:04:43 -0500 (Thu, 29 Jul 2004)
New Revision: 6108
Modified:
trunk/gnue-forms/src/uidrivers/curses/UIdriver.py
trunk/gnue-forms/src/uidrivers/curses/widgets/_base.py
trunk/gnue-forms/src/uidrivers/curses/widgets/button.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/label.py
trunk/gnue-forms/src/uidrivers/curses/widgets/page.py
Log:
Playing with colors.
Modified: trunk/gnue-forms/src/uidrivers/curses/UIdriver.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/curses/UIdriver.py 2004-07-29 22:51:41 UTC
(rev 6107)
+++ trunk/gnue-forms/src/uidrivers/curses/UIdriver.py 2004-07-29 23:04:43 UTC
(rev 6108)
@@ -48,20 +48,31 @@
self.__screen = curses.initscr ()
curses.raw ()
curses.start_color ()
- # Color pairs:
- # 1 = form background
- # 2 = non-focused entry
- # 3 = focused entry
- # 4 = title and status bar
- # 5 = info message and question
- # 6 = warning and error message
+
curses.init_pair (1, curses.COLOR_WHITE, curses.COLOR_BLUE)
- curses.init_pair (2, curses.COLOR_WHITE, curses.COLOR_CYAN)
- curses.init_pair (3, curses.COLOR_WHITE, curses.COLOR_RED)
- curses.init_pair (4, curses.COLOR_WHITE, curses.COLOR_BLACK)
- curses.init_pair (5, curses.COLOR_WHITE, curses.COLOR_MAGENTA)
+ curses.init_pair (2, curses.COLOR_BLACK, curses.COLOR_WHITE)
+ curses.init_pair (3, curses.COLOR_BLACK, curses.COLOR_CYAN)
+ curses.init_pair (4, curses.COLOR_BLACK, curses.COLOR_WHITE)
+ curses.init_pair (5, curses.COLOR_BLACK, curses.COLOR_CYAN)
curses.init_pair (6, curses.COLOR_WHITE, curses.COLOR_RED)
+ curses.init_pair (7, curses.COLOR_WHITE, curses.COLOR_BLUE)
+ curses.init_pair (8, curses.COLOR_WHITE, curses.COLOR_YELLOW)
+ curses.init_pair (9, curses.COLOR_WHITE, curses.COLOR_RED)
+ self.attr = {}
+ self.attr ['title'] = curses.color_pair (1)
+ self.attr ['page'] = curses.color_pair (2)
+ self.attr ['currentpage'] = curses.color_pair (3)
+ self.attr ['background'] = curses.color_pair (4)
+ self.attr ['entry'] = curses.color_pair (5)
+ self.attr ['focusentry'] = curses.color_pair (6) + curses.A_BOLD
+ self.attr ['disabled'] = curses.color_pair (5)
+ self.attr ['status'] = curses.color_pair (7)
+ self.attr ['fkeys'] = curses.color_pair (4)
+ self.attr ['infomsg'] = curses.color_pair (8) + curses.A_BOLD
+ self.attr ['warnmsg'] = curses.color_pair (9) + curses.A_BOLD
+ self.attr ['errormsg'] = curses.color_pair (9) + curses.A_BOLD +
curses.A_BLINK
+
self.__exiting = False
# This should go into the base driver:
Modified: trunk/gnue-forms/src/uidrivers/curses/widgets/_base.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/curses/widgets/_base.py 2004-07-29
22:51:41 UTC (rev 6107)
+++ trunk/gnue-forms/src/uidrivers/curses/widgets/_base.py 2004-07-29
23:04:43 UTC (rev 6108)
@@ -85,16 +85,16 @@
# Set text for widget
# ---------------------------------------------------------------------------
- def _setText (self, index, text, color, attr, selection = None):
+ def _setText (self, index, text, attr, selection = None):
if selection:
(s1, s2) = selection
- self._parent.write (self._x, self._y + index, text[:s1], color, attr)
- self._parent.write (self._x + s1, self._y + index, text[s1:s2], color,
+ self._parent.write (self._x, self._y + index, text[:s1], attr)
+ self._parent.write (self._x + s1, self._y + index, text[s1:s2],
attr + curses.A_STANDOUT)
- self._parent.write (self._x + s2, self._y + index, text[s2:], color,
attr)
+ self._parent.write (self._x + s2, self._y + index, text[s2:], attr)
else:
- self._parent.write (self._x, self._y + index, text, color, attr)
+ self._parent.write (self._x, self._y + index, text, attr)
# ---------------------------------------------------------------------------
# Set cursor position for widget
Modified: trunk/gnue-forms/src/uidrivers/curses/widgets/button.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/curses/widgets/button.py 2004-07-29
22:51:41 UTC (rev 6107)
+++ trunk/gnue-forms/src/uidrivers/curses/widgets/button.py 2004-07-29
23:04:43 UTC (rev 6108)
@@ -78,14 +78,12 @@
def __repaint (self, index):
if index == self._focusIndex:
- color = 3
+ attr = self._uiDriver.attr ['focusentry']
else:
- color = 2
+ attr = self._uiDriver.attr ['entry']
- attr = curses.A_BOLD
+ self._setText (index, self.__text, attr)
- self._setText (index, self.__text, color, attr)
-
# =============================================================================
# Configuration data
# =============================================================================
Modified: trunk/gnue-forms/src/uidrivers/curses/widgets/entry.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/curses/widgets/entry.py 2004-07-29
22:51:41 UTC (rev 6107)
+++ trunk/gnue-forms/src/uidrivers/curses/widgets/entry.py 2004-07-29
23:04:43 UTC (rev 6108)
@@ -131,19 +131,16 @@
text = '[ ]'
if self.__style == 'label':
- color = 1
+ attr = self._uiDriver.attr ['background']
+ elif not self.__enabled [index]:
+ attr = self._uiDriver.attr ['disabled']
elif index == self._focusIndex:
- color = 3
+ attr = self._uiDriver.attr ['focusentry']
else:
- color = 2
+ attr = self._uiDriver.attr ['entry']
- if self.__enabled [index]:
- attr = curses.A_BOLD
- else:
- attr = curses.A_DIM
+ self._setText (index, text, attr, self.__selection [index])
- self._setText (index, text, color, attr, self.__selection [index])
-
# =============================================================================
# Configuration data
# =============================================================================
Modified: trunk/gnue-forms/src/uidrivers/curses/widgets/form.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/curses/widgets/form.py 2004-07-29
22:51:41 UTC (rev 6107)
+++ trunk/gnue-forms/src/uidrivers/curses/widgets/form.py 2004-07-29
23:04:43 UTC (rev 6108)
@@ -60,7 +60,6 @@
(x, y) = event.interface.screenSize ()
self.__window = curses.newpad (y, x)
- self.__window.bkgd (' ', curses.color_pair (4))
self.setTitle (event.object.title)
@@ -73,12 +72,12 @@
(y, x) = self.__window.getmaxyx ()
text = ' ' * ((x - len (title)) / 2) + title
- text += ' ' * (x - len (text))
- self.__window.addstr (0, 0, o(text), curses.A_BOLD)
+ self.__window.bkgdset (' ', self._uiDriver.attr ['title'])
+ self.__window.addstr (0, 0, o(text))
+ self.__window.clrtoeol ()
+ self.__window.refresh (0, 0, 0, 0, 0, x)
- self.__window.refresh (0, 0, 0, 0, 1, x)
-
# ---------------------------------------------------------------------------
# Set status bar
# ---------------------------------------------------------------------------
@@ -106,11 +105,10 @@
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)
+ self.__window.bkgdset (' ', self._uiDriver.attr ['status'])
+ self.__window.addstr (y - 2, 0, message)
+ self.__window.clrtoeol ()
+ self.__window.refresh (y - 2, 0, y - 2, 0, y - 2, x)
else:
self.__updateStatusBar ()
@@ -147,27 +145,30 @@
def showMessage (self, message, kind, cancel):
attr = {
- 'Question': curses.color_pair (5) + curses.A_BOLD,
- 'Info': curses.color_pair (5) + curses.A_BOLD,
- 'Warning': curses.color_pair (6) + curses.A_BOLD,
- 'Error': curses.color_pair (6) + curses.A_BOLD + curses.A_BLINK
+ 'Question': self._uiDriver.attr ['infomsg'],
+ 'Info': self._uiDriver.attr ['infomsg'],
+ 'Warning': self._uiDriver.attr ['warnmsg'],
+ 'Error': self._uiDriver.attr ['errormsg']
}
yes = _("Yes")
no = _("No")
ok = _("Ok")
+ self.__window.bkgdset (' ', attr [kind])
+
(y, x) = self.__window.getmaxyx ()
+
self.__window.move (y - 2, 0)
self.__window.clrtobot ()
- self.__window.addstr (y - 2, 1, message, attr [kind])
+ self.__window.addstr (y - 2, 1, message)
if kind == 'Question':
self.__window.addstr (y - 1, 1, '(' + yes [:1] + ')' + yes [1:] + '/' + \
'(' + no [:1] + ')' + no [1:] + ' ? ')
else:
- self.__window.addstr (y - 1, 1, '[' + ok + ']', attr [kind])
+ self.__window.addstr (y - 1, 1, '[' + ok + ']')
self.__window.move (y - 1, 2)
if kind == 'Question':
@@ -206,16 +207,19 @@
def __updatePageList (self):
+ self.__window.bkgdset (' ', self._uiDriver.attr ['page'])
self.__window.move (1, 0)
for (page, caption) in self.__pages:
- self.__window.addstr (' ')
if page == self.__currentPage:
self.__window.addstr ('[' + o(caption) + ']',
- curses.color_pair (1) + curses.A_BOLD)
+ self._uiDriver.attr ['currentpage'])
else:
- self.__window.addstr ('[' + o(caption) + ']', curses.A_BOLD)
+ self.__window.addstr ('[' + o(caption) + ']')
+ # self.__window.addstr (' ')
+ self.__window.clrtoeol ()
+
(y, x) = self.__window.getmaxyx ()
self.__window.refresh (1, 0, 1, 0, 1, x)
@@ -226,27 +230,29 @@
def __updateStatusBar (self):
(y, x) = self.__window.getmaxyx ()
- self.__window.move (y - 2, 0)
- self.__window.clrtobot ()
+ self.__window.bkgdset (' ', self._uiDriver.attr ['status'])
- 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.addstr (y - 2, 0, '%s' % tip)
+ self.__window.addstr (y - 2, x - 24, '%-4s' % self.__status)
+ self.__window.addstr (y - 2, x - 19, '%-3s' % self.__insert)
+ self.__window.addstr (y - 2, x - 15, '%-9s' % recstr)
+ self.__window.addstr (y - 2, x - 5, '%-5s' % pagestr)
- 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.addch (y - 2, x - 25, curses.ACS_VLINE)
+ self.__window.addch (y - 2, x - 20, curses.ACS_VLINE)
+ self.__window.addch (y - 2, x - 16, curses.ACS_VLINE)
+ self.__window.addch (y - 2, x - 6, curses.ACS_VLINE)
+ self.__window.bkgdset (' ', self._uiDriver.attr ['fkeys'])
+
+ self.__window.addstr (y-1, 0, 'F1=foo F2=bar')
+ self.__window.clrtoeol ()
+
self.__window.refresh (y - 2, 0, y - 2, 0, y, x)
# =============================================================================
Modified: trunk/gnue-forms/src/uidrivers/curses/widgets/label.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/curses/widgets/label.py 2004-07-29
22:51:41 UTC (rev 6107)
+++ trunk/gnue-forms/src/uidrivers/curses/widgets/label.py 2004-07-29
23:04:43 UTC (rev 6108)
@@ -33,7 +33,8 @@
def _init (self, index):
- self._setText (index, self._gfObject.text, 1, curses.A_BOLD)
+ self._setText (index, self._gfObject.text,
+ self._uiDriver.attr ['background'])
# =============================================================================
# Configuration data
Modified: trunk/gnue-forms/src/uidrivers/curses/widgets/page.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/curses/widgets/page.py 2004-07-29
22:51:41 UTC (rev 6107)
+++ trunk/gnue-forms/src/uidrivers/curses/widgets/page.py 2004-07-29
23:04:43 UTC (rev 6108)
@@ -19,7 +19,7 @@
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
-# $Id: $
+# $Id$
import curses
@@ -48,16 +48,16 @@
self.__window = curses.newpad (self.__y2 - self.__y1, self.__x2 -
self.__x1)
self.__window.keypad (True)
- self.__window.bkgd (' ', curses.color_pair (1))
+ self.__window.bkgd (' ', self._uiDriver.attr ['background'])
self.__cursor = (0, 0)
# ---------------------------------------------------------------------------
# Write a text to a given position
# ---------------------------------------------------------------------------
- def write (self, x, y, text, color, attribute):
+ def write (self, x, y, text, attribute):
- self.__window.addstr (y, x, o(text), curses.color_pair (color) + attribute)
+ self.__window.addstr (y, x, o(text), attribute)
# ---------------------------------------------------------------------------
# Move the cursor to a given position
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r6108 - in trunk/gnue-forms/src/uidrivers/curses: . widgets,
reinhard <=