[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r9384 - in trunk/gnue-forms/src/uidrivers/curses: . widgets
From: |
johannes |
Subject: |
[gnue] r9384 - in trunk/gnue-forms/src/uidrivers/curses: . widgets |
Date: |
Wed, 14 Feb 2007 08:20:41 -0600 (CST) |
Author: johannes
Date: 2007-02-14 08:20:41 -0600 (Wed, 14 Feb 2007)
New Revision: 9384
Modified:
trunk/gnue-forms/src/uidrivers/curses/UIdriver.py
trunk/gnue-forms/src/uidrivers/curses/widgets/menu.py
trunk/gnue-forms/src/uidrivers/curses/widgets/menuitem.py
Log:
Added support for enabled/disabled menu items
Modified: trunk/gnue-forms/src/uidrivers/curses/UIdriver.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/curses/UIdriver.py 2007-02-14 13:36:51 UTC
(rev 9383)
+++ trunk/gnue-forms/src/uidrivers/curses/UIdriver.py 2007-02-14 14:20:41 UTC
(rev 9384)
@@ -76,7 +76,7 @@
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['disabled'] = curses.color_pair(5) + curses.A_BOLD
self.attr['status'] = curses.color_pair(7)
self.attr['fkeys'] = curses.color_pair(4)
self.attr['infomsg'] = curses.color_pair(8) + curses.A_BOLD
@@ -84,6 +84,7 @@
self.attr['errormsg'] = curses.color_pair(9) + curses.A_BOLD \
+ curses.A_BLINK
self.attr['window 1'] = curses.color_pair(5)
+ self.attr['focusdisabled'] = curses.color_pair(6)
self.__current_form = None
Modified: trunk/gnue-forms/src/uidrivers/curses/widgets/menu.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/curses/widgets/menu.py 2007-02-14
13:36:51 UTC (rev 9383)
+++ trunk/gnue-forms/src/uidrivers/curses/widgets/menu.py 2007-02-14
14:20:41 UTC (rev 9384)
@@ -56,6 +56,7 @@
if isinstance (event.container, UIMenu):
event.container.add_subitem(self)
+ self.is_enabled = True
self._container = self
self.__menu_items = []
@@ -204,8 +205,9 @@
self.__window.keypad(1)
self.__window.box()
- self.__normal = self._uiDriver.attr['window 1']
+ self.__normal = self._uiDriver.attr['entry']
self.__reverse = self._uiDriver.attr['focusentry']
+ self.__disabled = self._uiDriver.attr['disabled']
count = self.height - 2
data = self.__data[self.offset:self.offset+count]
@@ -213,9 +215,17 @@
data.extend([''] * (count - len(data)))
for row, value in enumerate(data):
- attr = self.__normal
+ mitem = self.__menu_items[self.offset+row]
+ if mitem.is_enabled:
+ attr = self.__normal
+ else:
+ attr = self.__disabled
+
if highlight and row == self.display:
- attr = self.__reverse
+ if mitem.is_enabled:
+ attr = self.__reverse
+ else:
+ attr = self._uiDriver.attr['focusdisabled']
if isinstance(value, basestring):
text = value.ljust(self.width - 2)[:self.width - 2]
@@ -268,8 +278,8 @@
elif key != curses.KEY_RIGHT:
# Don't fire an event on separators
if current._gfObject.label is not None:
- current._event_fire()
- break
+ if current._event_fire():
+ break
elif key == curses.KEY_LEFT:
result = False
Modified: trunk/gnue-forms/src/uidrivers/curses/widgets/menuitem.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/curses/widgets/menuitem.py 2007-02-14
13:36:51 UTC (rev 9383)
+++ trunk/gnue-forms/src/uidrivers/curses/widgets/menuitem.py 2007-02-14
14:20:41 UTC (rev 9384)
@@ -47,6 +47,7 @@
self.hotkey = self._gfObject.hotkey
self.check = (self._gfObject.action_off is not None)
self.is_checked = False
+ self.is_enabled = True
if self._gfObject.label is not None:
if self.hotkey is not None and self.hotkey in _HOTKEYS:
@@ -69,10 +70,15 @@
Call the action bound to this menu item
"""
- if self._gfObject.label is not None:
+ if self.is_enabled and self._gfObject.label is not None:
self._gfObject._event_fire()
+ result = True
+ else:
+ result = False
+ return result
+
# -------------------------------------------------------------------------
# Check/uncheck menu item
# -------------------------------------------------------------------------
@@ -94,13 +100,15 @@
# -------------------------------------------------------------------------
def _ui_enable_(self):
- # TODO: need implementation
+
+ self.is_enabled = True
return
# -------------------------------------------------------------------------
def _ui_disable_(self):
- # TODO: need implmementation
+
+ self.is_enabled = False
return
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r9384 - in trunk/gnue-forms/src/uidrivers/curses: . widgets,
johannes <=