parent
6f6736833e
commit
f478082962
|
@ -238,7 +238,7 @@ class Fundamental(Handler):
|
||||||
c = "\\"
|
c = "\\"
|
||||||
if w.hiddenindicator(y):
|
if w.hiddenindicator(y):
|
||||||
bg = "green"
|
bg = "green"
|
||||||
return [RenderString(c, 0, color.build(fg, bg))]
|
return [RenderString(s=c, attrs=color.build(fg, bg))]
|
||||||
def get_lmargin(self, w, y, x, ended=False, cont=False):
|
def get_lmargin(self, w, y, x, ended=False, cont=False):
|
||||||
lm = self.lmargin
|
lm = self.lmargin
|
||||||
if ended:
|
if ended:
|
||||||
|
@ -248,7 +248,7 @@ class Fundamental(Handler):
|
||||||
s = ('% *d' % (lm - 1, y + 1))[-lm:] + ' '
|
s = ('% *d' % (lm - 1, y + 1))[-lm:] + ' '
|
||||||
else:
|
else:
|
||||||
s = ' ' * lm
|
s = ' ' * lm
|
||||||
return [RenderString(s, 0, color.build('default', 'default', 'bold'))]
|
return [RenderString(s=s, attrs=color.build('default', 'default', 'bold'))]
|
||||||
|
|
||||||
# get mode name
|
# get mode name
|
||||||
def name(self):
|
def name(self):
|
||||||
|
|
16
mode/hex.py
16
mode/hex.py
|
@ -319,7 +319,7 @@ class Hex(mode.Fundamental):
|
||||||
else:
|
else:
|
||||||
addr = self.get_address(y, x)
|
addr = self.get_address(y, x)
|
||||||
s = '0x%08x ' % addr
|
s = '0x%08x ' % addr
|
||||||
return (RenderString(s, 0, self.ccyan),)
|
return (RenderString(s, attrs=self.ccyan),)
|
||||||
|
|
||||||
def get_rmargin(self, w, y, x, ended=False, cont=False):
|
def get_rmargin(self, w, y, x, ended=False, cont=False):
|
||||||
if ended:
|
if ended:
|
||||||
|
@ -331,17 +331,17 @@ class Hex(mode.Fundamental):
|
||||||
i = self.window.buffer.cursorx_to_datax(cy, cx)
|
i = self.window.buffer.cursorx_to_datax(cy, cx)
|
||||||
|
|
||||||
if i is None:
|
if i is None:
|
||||||
rmargins = (RenderString(s, 0, self.cgreen),)
|
rmargins = (RenderString(s, attrs=self.cgreen),)
|
||||||
elif i < len(s):
|
elif i < len(s):
|
||||||
rmargins = (RenderString(s[0:i], 0, self.cgreen),
|
rmargins = (RenderString(s[0:i], attrs=self.cgreen),
|
||||||
RenderString(s[i], i, self.ccursor),
|
RenderString(s[i], x=i, attrs=self.ccursor),
|
||||||
RenderString(s[i+1:], i + 1, self.cgreen))
|
RenderString(s[i+1:], x=i + 1, attrs=self.cgreen))
|
||||||
else:
|
else:
|
||||||
rmargins= (RenderString(s[0:i], 0, self.cgreen),
|
rmargins= (RenderString(s[0:i], attrs=self.cgreen),
|
||||||
RenderString(s[i], i, self.cgreen))
|
RenderString(s[i], x=i, attrs=self.cgreen))
|
||||||
return rmargins
|
return rmargins
|
||||||
else:
|
else:
|
||||||
return (RenderString(s, 0, self.cgreen),)
|
return (RenderString(s, attrs=self.cgreen),)
|
||||||
|
|
||||||
def read_data(self, cy, ix, size):
|
def read_data(self, cy, ix, size):
|
||||||
b = self.window.buffer
|
b = self.window.buffer
|
||||||
|
|
|
@ -2,15 +2,18 @@ import color
|
||||||
from point import Point
|
from point import Point
|
||||||
|
|
||||||
class RenderString(object):
|
class RenderString(object):
|
||||||
def __init__(self, s, x=0, attrs=None):
|
def __init__(self, s, y=0, x=0, attrs=None, name=""):
|
||||||
if attrs is None:
|
if attrs is None:
|
||||||
attrs = color.build('default', 'default')
|
attrs = color.build('default', 'default')
|
||||||
|
|
||||||
self.string = s
|
self.string = s
|
||||||
|
self.y = y
|
||||||
self.x = x
|
self.x = x
|
||||||
self.attrs = attrs
|
self.attrs = attrs
|
||||||
|
self.name = name
|
||||||
def draw(self, cwin, y, x):
|
def draw(self, cwin, y, x):
|
||||||
try:
|
try:
|
||||||
cwin.addstr(y, self.x + x, self.string, self.attrs)
|
cwin.addstr(self.y + y, self.x + x, self.string, self.attrs)
|
||||||
except:
|
except:
|
||||||
#return
|
#return
|
||||||
raise Exception, "cwin.addstr(%d, %d + %d, %r, %r) failed" % \
|
raise Exception, "cwin.addstr(%d, %d + %d, %r, %r) failed" % \
|
||||||
|
|
17
window.py
17
window.py
|
@ -684,21 +684,25 @@ class Window(object):
|
||||||
|
|
||||||
def render_line_raw(self, y, width):
|
def render_line_raw(self, y, width):
|
||||||
if y >= len(self.buffer.lines):
|
if y >= len(self.buffer.lines):
|
||||||
return [[RenderString('~', 0, color.build('red', 'default'))]]
|
r = RenderString(s='~', attrs=color.build('red', 'default'))
|
||||||
|
return [(r,)]
|
||||||
x = 0
|
x = 0
|
||||||
line = self.buffer.lines[y]
|
line = self.buffer.lines[y]
|
||||||
lines = []
|
lines = []
|
||||||
if line:
|
if line:
|
||||||
while x < len(line):
|
while x < len(line):
|
||||||
lines.append(tuple([RenderString(line[x:x + width], 0)]))
|
r = RenderString(s=line[x:x + width])
|
||||||
|
lines.append((r,))
|
||||||
x += width
|
x += width
|
||||||
else:
|
else:
|
||||||
lines.append(tuple([RenderString('', 0)]))
|
r = RenderString(s='')
|
||||||
|
lines.append((r,))
|
||||||
return lines
|
return lines
|
||||||
|
|
||||||
def render_line_lit(self, y, width):
|
def render_line_lit(self, y, width):
|
||||||
if y >= len(self.buffer.lines):
|
if y >= len(self.buffer.lines):
|
||||||
return [[RenderString('~', 0, color.build('red', 'default'))]]
|
r = RenderString(s='~', attrs=color.build('red', 'default'))
|
||||||
|
return [(r,)]
|
||||||
|
|
||||||
modename = self.mode.name()
|
modename = self.mode.name()
|
||||||
highlighter = self.buffer.highlights[modename]
|
highlighter = self.buffer.highlights[modename]
|
||||||
|
@ -722,7 +726,7 @@ class Window(object):
|
||||||
|
|
||||||
# for debugging things like lexing/relexing/etc.
|
# for debugging things like lexing/relexing/etc.
|
||||||
if token._debug:
|
if token._debug:
|
||||||
attr = color.build('blue', 'green')
|
attr = color.build('blue', 'green', 'bold')
|
||||||
elif token.color:
|
elif token.color:
|
||||||
attr = color.build(*token.color)
|
attr = color.build(*token.color)
|
||||||
else:
|
else:
|
||||||
|
@ -730,7 +734,8 @@ class Window(object):
|
||||||
|
|
||||||
# ok, so add a region with data, position, and color info
|
# ok, so add a region with data, position, and color info
|
||||||
x_offset = max(token.x - x, 0)
|
x_offset = max(token.x - x, 0)
|
||||||
line.append(RenderString(s[:width - x_offset], x_offset, attr))
|
r = RenderString(s=s[:width - x_offset], x=x_offset, attrs=attr)
|
||||||
|
line.append(r)
|
||||||
|
|
||||||
# see if the token is wrapping, or if we move on to the next one
|
# see if the token is wrapping, or if we move on to the next one
|
||||||
if x_offset + len(s) > width:
|
if x_offset + len(s) > width:
|
||||||
|
|
Loading…
Reference in New Issue