Rewritten GetPartialText; moved in util.py

This commit is contained in:
HomeWorld
2010-11-28 17:31:29 +02:00
parent ae6cc539f1
commit 99c2661b45
2 changed files with 34 additions and 14 deletions

31
util.py
View File

@@ -94,6 +94,37 @@ def fromClipboard():
return None
def GetPartialText(dc, text , maxWidth):
ellipsis = "..."
base_w, h = dc.GetTextExtent(ellipsis)
lenText = len(text)
drawntext = text
w, dummy = dc.GetTextExtent(text)
while lenText > 1:
if w + base_w <= maxWidth:
break
w_c, h_c = dc.GetTextExtent(drawntext[-1])
drawntext = drawntext[0:-1]
lenText -= 1
w -= w_c
while len(ellipsis) > 0 and w + base_w > maxWidth:
ellipsis = ellipsis[0:-1]
base_w, h = dc.GetTextExtent(ellipsis)
if len(text) > lenText:
return drawntext + ellipsis
else:
return text
def set_float(val,default=None):
""" utility to set a floating value, useful for converting from strings """
if val in (None,''): return default