summaryrefslogtreecommitdiff
path: root/asciifarm/client/display/messages.py
diff options
context:
space:
mode:
Diffstat (limited to 'asciifarm/client/display/messages.py')
-rw-r--r--asciifarm/client/display/messages.py56
1 files changed, 0 insertions, 56 deletions
diff --git a/asciifarm/client/display/messages.py b/asciifarm/client/display/messages.py
deleted file mode 100644
index d551cc2..0000000
--- a/asciifarm/client/display/messages.py
+++ /dev/null
@@ -1,56 +0,0 @@
-
-import textwrap
-
-from .widimp import WidImp
-
-class Messages(WidImp):
-
- def __init__(self, colours):
- self.changed = False
- self.messages = []
- self.scrolledBack = 0
- self.colours = colours
-
- def addMessage(self, message, type=None):
- self.messages.append([message, type])
- if self.scrolledBack:
- self.scrolledBack += 1
- self.change()
-
- def scroll(self, amount, relative=True):
- if relative:
- self.scrolledBack += amount
- else:
- self.scrolledBack = amount
- self.scrolledBack = max(self.scrolledBack, 0)
- self.change()
-
- def update(self, win):
- width, height = win.getSize()
- if height < 1:
- return
- lines = []
- messages = self.messages
- for message, type in messages:
- colour = self.colours.get(type, (7,0))
- for line in textwrap.wrap(message, width):
- lines.append((line, colour))
- self.scrolledBack = max(min(self.scrolledBack, len(lines)-height), 0)
- moreDown = False
- if self.scrolledBack > 0:
- lines = lines[:-self.scrolledBack]
- moreDown = True
- moreUp = False
- if len(lines) > height:
- moreUp = True
- lines = lines[len(lines)-height:]
- elif len(lines) < height:
- lines = (height-len(lines)) * [("",)] + lines
- win.erase()
- for i, line in enumerate(lines):
- win.addLine((0,i), *line)
- if moreUp:
- win.addLine((width-1, 0), '-')
- if moreDown:
- win.addLine((width-1, height-1), '+')
- win.noutrefresh()