Author: dmeyer
Date: Sun Feb 25 19:15:51 2007
New Revision: 2525

Modified:
   trunk/display/src/lcdproc.py

Log:
add support for screens with a special duration

Modified: trunk/display/src/lcdproc.py
==============================================================================
--- trunk/display/src/lcdproc.py        (original)
+++ trunk/display/src/lcdproc.py        Sun Feb 25 19:15:51 2007
@@ -62,16 +62,19 @@
     """
     LCD Screen with widgets.
     """
-    def __init__(self, lcd, name, priority=100):
+    def __init__(self, lcd, name, priority='foreground', duration=0):
         self._send = lcd
         self.width, self.height, self.size = lcd.width, lcd.height, lcd.size
         self.name = name
         self._priority = priority
+        self._duration = duration
         self._send = lcd._send
         self._send('screen_add %s' % name)
         self._send('screen_set %s name %s' % (name, name))
         self._send('screen_set %s -priority %s -heartbeat off' % \
                    (name, priority))
+        if duration:
+            self._send('screen_set %s -timeout %s' % (name, duration*8))
         self.widgets = []
         self.nextid = 0
 
@@ -183,8 +186,9 @@
         Destructor. It will wipe the screen and remove it from
         the lcd.
         """
-        self.wipe()
-        self._send('screen_del %s' % self.name)
+        if not self._duration:
+            self.wipe()
+            self._send('screen_del %s' % self.name)
 
 
 class LCD(object):
@@ -196,13 +200,17 @@
             'connected': kaa.notifier.Signal()
         }
         self._connect(server, port)
+        self._screenno = 0
 
 
-    def create_screen(self, name):
+    def create_screen(self, name = None, priority='foreground', duration=0):
         """
         Create a new screen with the given name.
         """
-        return Screen(self, name)
+        if not name:
+            name = 'lcd%d' % self._screenno
+            self._screenno += 1
+        return Screen(self, name, priority, duration)
 
 
     def _send(self, line):

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to