Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGary Martin <gary@garycmartin.com>2012-10-08 02:36:09 (GMT)
committer Gary Martin <gary@garycmartin.com>2012-10-08 02:36:09 (GMT)
commit98fa9117e097498f43ad41023137984d003a2090 (patch)
tree462024202ce5003b37b83c4894d49b0de58b8a54
parent0283714fa3a08bf83e1d60293b70c290d8b3be4d (diff)
Use user fill and stroke colours for variable view, using black or white text based on fill intensity to keep text contrast.
-rw-r--r--calculate.py24
1 files changed, 20 insertions, 4 deletions
diff --git a/calculate.py b/calculate.py
index ebe4f10..c894eef 100644
--- a/calculate.py
+++ b/calculate.py
@@ -526,15 +526,31 @@ class Calculate(ShareableActivity):
if name in reserved:
return None
w = gtk.TextView()
+ w.modify_base(gtk.STATE_NORMAL, gtk.gdk.color_parse(self.color.get_fill_color()))
+ w.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(self.color.get_stroke_color()))
+ w.set_wrap_mode(gtk.WRAP_WORD_CHAR)
+ w.set_border_window_size(gtk.TEXT_WINDOW_LEFT, 4)
+ w.set_border_window_size(gtk.TEXT_WINDOW_RIGHT, 4)
+ w.set_border_window_size(gtk.TEXT_WINDOW_TOP, 4)
+ w.set_border_window_size(gtk.TEXT_WINDOW_BOTTOM, 4)
w.connect('realize', _textview_realize_cb)
- w.set_left_margin(5)
- w.set_right_margin(5)
buf = w.get_buffer()
- col = self.color.get_fill_color()
+ bright = (gtk.gdk.color_parse(self.color.get_fill_color()).red_float +
+ gtk.gdk.color_parse(self.color.get_fill_color()).green_float +
+ gtk.gdk.color_parse(self.color.get_fill_color()).blue_float) / 3.0
+ if bright < 0.5:
+ col = gtk.gdk.color_parse('white')
+ else:
+ col = gtk.gdk.color_parse('black')
+
tag = buf.create_tag(font=CalcLayout.FONT_SMALL_NARROW,
foreground=col)
- text = '%s:\t%s' % (name,str(value))
+ text = '%s:' % (name)
+ buf.insert_with_tags(buf.get_end_iter(), text, tag)
+ tag = buf.create_tag(font=CalcLayout.FONT_SMALL,
+ foreground=col)
+ text = '%s' % (str(value))
buf.insert_with_tags(buf.get_end_iter(), text, tag)
return w