Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2012-10-25 20:00:16 (GMT)
committer Walter Bender <walter.bender@gmail.com>2012-10-25 20:00:16 (GMT)
commitc83fa3c8f61aaf9a240681ee2c530ca0c8be92d3 (patch)
treefa9f999195ef1c0cd1492c8ef62fc2b7bd37de64
parent02da29866e77d6e5563a1cb76a6392b5e625a820 (diff)
scale text_entry font when blocks scalev162
-rw-r--r--TurtleArt/tablock.py44
-rw-r--r--TurtleArt/tawindow.py10
2 files changed, 32 insertions, 22 deletions
diff --git a/TurtleArt/tablock.py b/TurtleArt/tablock.py
index bb78b9d..f210330 100644
--- a/TurtleArt/tablock.py
+++ b/TurtleArt/tablock.py
@@ -148,7 +148,7 @@ class Block:
self.ey = 0
self.ey2 = 0
self._ei = 0
- self._font_size = [6.0, 4.5]
+ self.font_size = [6.0, 4.5]
self._image = None
self._visible = True
self.unknown = False # Block is of unknown style
@@ -194,8 +194,8 @@ class Block:
if self.name in OLD_NAMES:
self.name = OLD_NAMES[self.name]
- for i in range(len(self._font_size)):
- self._font_size[i] *= self.scale * \
+ for i in range(len(self.font_size)):
+ self.font_size[i] *= self.scale * \
self.block_list.font_scale_factor
for v in (values):
@@ -292,11 +292,11 @@ class Block:
""" We may want to rescale blocks as well. """
if self.spr is None:
return
- for i in range(len(self._font_size)):
- self._font_size[i] /= self.scale
+ for i in range(len(self.font_size)):
+ self.font_size[i] /= self.scale
self.scale = scale
- for i in range(len(self._font_size)):
- self._font_size[i] *= self.scale
+ for i in range(len(self.font_size)):
+ self.font_size[i] *= self.scale
self.svg.set_scale(self.scale)
self.refresh()
self.spr.inval()
@@ -532,9 +532,9 @@ class Block:
n = 0
for i in range(n):
if i > 0:
- size = int(self._font_size[1] + 0.5)
+ size = int(self.font_size[1] + 0.5)
else:
- size = int(self._font_size[0] + 0.5)
+ size = int(self.font_size[0] + 0.5)
if self.name in block_styles['compare-porch-style']:
self.spr.set_label_attributes(size, True, 'center', 'bottom',
i=i)
@@ -560,28 +560,28 @@ class Block:
if self.name in block_styles['clamp-style'] or \
self.name in block_styles['clamp-style-collapsible']:
y = int((self.docks[0][3] + self.docks[1][3]) / 3)
- self.spr.set_label_attributes(int(self._font_size[0] + 0.5),
+ self.spr.set_label_attributes(int(self.font_size[0] + 0.5),
True, 'right', y_pos=y, i=0)
elif self.name in block_styles['clamp-style-1arg']:
- y = self.docks[1][3] - int(int(self._font_size[0] * 1.3))
- self.spr.set_label_attributes(int(self._font_size[0] + 0.5),
+ y = self.docks[1][3] - int(int(self.font_size[0] * 1.3))
+ self.spr.set_label_attributes(int(self.font_size[0] + 0.5),
True, 'right', y_pos=y, i=0)
elif self.name in block_styles['clamp-style-boolean']:
- y = self.docks[1][3] - int(int(self._font_size[0] * 1.3))
- self.spr.set_label_attributes(int(self._font_size[0] + 0.5),
+ y = self.docks[1][3] - int(int(self.font_size[0] * 1.3))
+ self.spr.set_label_attributes(int(self.font_size[0] + 0.5),
True, 'right', y_pos=y, i=0)
- y = self.docks[2][3] - int(int(self._font_size[0] * 1.3))
- self.spr.set_label_attributes(int(self._font_size[1] + 0.5),
+ y = self.docks[2][3] - int(int(self.font_size[0] * 1.3))
+ self.spr.set_label_attributes(int(self.font_size[1] + 0.5),
True, 'right', y_pos=y, i=1)
elif self.name in block_styles['clamp-style-else']:
- y = self.docks[1][3] - int(int(self._font_size[0] * 1.3))
- self.spr.set_label_attributes(int(self._font_size[0] + 0.5),
+ y = self.docks[1][3] - int(int(self.font_size[0] * 1.3))
+ self.spr.set_label_attributes(int(self.font_size[0] + 0.5),
True, 'right', y_pos=y, i=0)
- y = self.docks[2][3] - int(int(self._font_size[0] * 1.3))
- self.spr.set_label_attributes(int(self._font_size[1] + 0.5),
+ y = self.docks[2][3] - int(int(self.font_size[0] * 1.3))
+ self.spr.set_label_attributes(int(self.font_size[1] + 0.5),
True, 'right', y_pos=y, i=1)
- y = self.docks[3][3] - int(int(self._font_size[0] * 1.3))
- self.spr.set_label_attributes(int(self._font_size[1] + 0.5),
+ y = self.docks[3][3] - int(int(self.font_size[0] * 1.3))
+ self.spr.set_label_attributes(int(self.font_size[1] + 0.5),
True, 'right', y_pos=y, i=2)
diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py
index 17369d1..aab2a52 100644
--- a/TurtleArt/tawindow.py
+++ b/TurtleArt/tawindow.py
@@ -26,6 +26,7 @@ import pygtk
pygtk.require('2.0')
import gtk
import gobject
+import pango
from StringIO import StringIO
from gettext import gettext as _
@@ -765,6 +766,12 @@ class TurtleArtWindow():
if blk.name in BLOCKS_WITH_SKIN:
self._resize_skin(blk)
+ # Resize text_entry widget
+ if hasattr(self, '_text_entry') and len(blocks) > 0:
+ font_desc = pango.FontDescription('Sans')
+ font_desc.set_size(int(blocks[0].font_size[0] * pango.SCALE))
+ self._text_entry.modify_font(font_desc)
+
def _shift_toolbar_palette(self, n):
''' Shift blocks on specified palette '''
x, y = self.palette_sprs[n][self.orientation].get_xy()
@@ -2370,6 +2377,9 @@ class TurtleArtWindow():
self._text_entry = gtk.TextView()
self._text_entry.set_justification(gtk.JUSTIFY_CENTER)
self._text_buffer = self._text_entry.get_buffer()
+ font_desc = pango.FontDescription('Sans')
+ font_desc.set_size(int(blk.font_size[0] * pango.SCALE))
+ self._text_entry.modify_font(font_desc)
self.activity.fixed.put(self._text_entry, 0, 0)
self._text_entry.show()
self._text_buffer.set_text(