Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2014-02-08 21:30:57 (GMT)
committer Walter Bender <walter@sugarlabs.org>2014-02-08 21:30:57 (GMT)
commit92abfbf99c8ebe87c80d3730759715791fe90602 (patch)
tree6bbc0f0cae3be11110ec20a283543a13af57a9db
parentbd2118f3f737120661455cbdc3e3964775749b39 (diff)
make public methods public
-rw-r--r--NEWS1
-rw-r--r--TurtleArt/sprites.py18
-rw-r--r--TurtleArt/tapaletteview.py16
-rw-r--r--TurtleArt/taselector.py8
-rwxr-xr-xTurtleArt/tasprite_factory.py2
-rw-r--r--TurtleArt/tawindow.py16
6 files changed, 35 insertions, 26 deletions
diff --git a/NEWS b/NEWS
index afdd919..32f3c83 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,7 @@
BUG FIX:
* Eliminate extra space around protoblock labels
+* Code cleanup: separate classes for Selectors and PaletteViews
198
diff --git a/TurtleArt/sprites.py b/TurtleArt/sprites.py
index 3f5d7df..c8a0f6c 100644
--- a/TurtleArt/sprites.py
+++ b/TurtleArt/sprites.py
@@ -167,8 +167,8 @@ class Sprite:
self.rect = gtk.gdk.Rectangle(int(x), int(y), 0, 0)
self._scale = [12]
self._rescale = [True]
- self._horiz_align = ["center"]
- self._vert_align = ["middle"]
+ self._horiz_align = ['center']
+ self._vert_align = ['middle']
self._x_pos = [None]
self._y_pos = [None]
self._fd = None
@@ -269,7 +269,7 @@ class Sprite:
self._extend_labels_array(i)
if isinstance(new_label, (str, unicode)):
# pango doesn't like nulls
- self.labels[i] = new_label.replace("\0", " ")
+ self.labels[i] = new_label.replace('\0', ' ')
else:
self.labels[i] = str(new_label)
self.inval()
@@ -285,7 +285,7 @@ class Sprite:
if self._color is None:
self._color = (0., 0., 0.)
while len(self.labels) < i + 1:
- self.labels.append(" ")
+ self.labels.append(' ')
self._scale.append(self._scale[0])
self._rescale.append(self._rescale[0])
self._horiz_align.append(self._horiz_align[0])
@@ -312,8 +312,8 @@ class Sprite:
int('0x' + rgb[5:7], 16) / 256.)
return
- def set_label_attributes(self, scale, rescale=True, horiz_align="center",
- vert_align="middle", x_pos=None, y_pos=None, i=0):
+ def set_label_attributes(self, scale, rescale=True, horiz_align='center',
+ vert_align='middle', x_pos=None, y_pos=None, i=0):
''' Set the various label attributes '''
self._extend_labels_array(i)
self._scale[i] = scale
@@ -407,7 +407,7 @@ class Sprite:
w = pl.get_size()[0] / pango.SCALE
if self._x_pos[i] is not None:
x = int(self.rect.x + self._x_pos[i])
- elif self._horiz_align[i] == "center":
+ elif self._horiz_align[i] == 'center':
x = int(self.rect.x + self._margins[0] + (my_width - w) / 2)
elif self._horiz_align[i] == 'left':
x = int(self.rect.x + self._margins[0])
@@ -416,9 +416,9 @@ class Sprite:
h = pl.get_size()[1] / pango.SCALE
if self._y_pos[i] is not None:
y = int(self.rect.y + self._y_pos[i])
- elif self._vert_align[i] == "middle":
+ elif self._vert_align[i] == 'middle':
y = int(self.rect.y + self._margins[1] + (my_height - h) / 2)
- elif self._vert_align[i] == "top":
+ elif self._vert_align[i] == 'top':
y = int(self.rect.y + self._margins[1])
else: # bottom
y = int(self.rect.y + self.rect.height - h - self._margins[3])
diff --git a/TurtleArt/tapaletteview.py b/TurtleArt/tapaletteview.py
index 505ad9d..945be0f 100644
--- a/TurtleArt/tapaletteview.py
+++ b/TurtleArt/tapaletteview.py
@@ -43,11 +43,11 @@ class PaletteView():
'''
self.blocks = []
self.backgrounds = [None, None]
+ self.visible = False
+ self.populated = False
self._turtle_window = turtle_window
self._palette_index = n
- self._visible = False
- self._populated = False
if not n < len(palette_names):
# Shouldn't happen, but hey...
@@ -63,7 +63,7 @@ class PaletteView():
self._create_proto_blocks()
save_selected = self._turtle_window.selected_palette
- self.layout_palette(regenerate=regenerate,
+ self.layout(regenerate=regenerate,
show=(show or
save_selected == self._palette_index))
@@ -82,6 +82,8 @@ class PaletteView():
self.display_palette_shift_buttons()
+ self.visible = True
+
def hide(self):
''' Hide the palette. '''
for background in self.backgrounds:
@@ -98,6 +100,8 @@ class PaletteView():
for gblk in find_group(blk):
gblk.spr.hide()
+ self.visible = False
+
def move(self, x, y):
''' Move the palette. '''
buttons = self._turtle_window.palette_button
@@ -197,9 +201,11 @@ class PaletteView():
elif len(self.blocks[-1].spr.labels) > 0:
self.blocks[-1].refresh()
+ self.populated = True
+
def _proto_skin(self, name, spr):
''' Utility for creating proto block skins '''
- x, y = self._turtle_window._calc_image_offset(name, spr)
+ x, y = self._turtle_window.calc_image_offset(name, spr)
spr.set_image(self._turtle_window.media_shapes[name], _SKIN_IMAGE,
x, y)
@@ -215,7 +221,7 @@ class PaletteView():
return 'trash' in palette_names and \
self._palette_index == palette_names.index('trash')
- def layout_palette(self, regenerate=False, show=True):
+ def layout(self, regenerate=False, show=True):
''' Layout prototypes in a palette. '''
offset = self._turtle_window.toolbar_offset
diff --git a/TurtleArt/taselector.py b/TurtleArt/taselector.py
index 269b4eb..5e680f4 100644
--- a/TurtleArt/taselector.py
+++ b/TurtleArt/taselector.py
@@ -59,7 +59,7 @@ class Selector():
self._name = palette_names[n]
icon_pathname = None
- for path in self._turtle_window._icon_paths:
+ for path in self._turtle_window.icon_paths:
if os.path.exists(os.path.join(path, '%soff.svg' % (self._name))):
icon_pathname = os.path.join(path, '%soff.svg' % (self._name))
break
@@ -68,12 +68,12 @@ class Selector():
off_shape = svg_str_to_pixbuf(svg_from_file(icon_pathname))
else:
off_shape = svg_str_to_pixbuf(svg_from_file(os.path.join(
- self._turtle_window._icon_paths[0], 'extrasoff.svg')))
+ self._turtle_window.icon_paths[0], 'extrasoff.svg')))
error_output('Unable to open %soff.svg' % (self._name),
self._turtle_window.running_sugar)
icon_pathname = None
- for path in self._turtle_window._icon_paths:
+ for path in self._turtle_window.icon_paths:
if os.path.exists(os.path.join(path, '%son.svg' % (self._name))):
icon_pathname = os.path.join(path, '%son.svg' % (self._name))
break
@@ -82,7 +82,7 @@ class Selector():
on_shape = svg_str_to_pixbuf(svg_from_file(icon_pathname))
else:
on_shape = svg_str_to_pixbuf(svg_from_file(os.path.join(
- self._turtle_window._icon_paths[0], 'extrason.svg')))
+ self._turtle_window.icon_paths[0], 'extrason.svg')))
error_output('Unable to open %son.svg' % (self._name),
self._turtle_window.running_sugar)
diff --git a/TurtleArt/tasprite_factory.py b/TurtleArt/tasprite_factory.py
index 8360dbb..21777df 100755
--- a/TurtleArt/tasprite_factory.py
+++ b/TurtleArt/tasprite_factory.py
@@ -1504,6 +1504,7 @@ def generator(datapath):
svg_str = svg.clamp()
f.write(svg_str)
close_file(f)
+ '''
svg = SVG()
f = open_file(datapath, "clampn.svg")
@@ -1517,6 +1518,7 @@ def generator(datapath):
f.write(svg_str)
close_file(f)
+ '''
svg = SVG()
f = open_file(datapath, "clampe.svg")
svg.set_scale(2)
diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py
index eecc69f..5dbec73 100644
--- a/TurtleArt/tawindow.py
+++ b/TurtleArt/tawindow.py
@@ -293,7 +293,7 @@ class TurtleArtWindow():
self._configure_cb(None)
- self._icon_paths = [os.path.join(self.path, 'icons')]
+ self.icon_paths = [os.path.join(self.path, 'icons')]
self.lc = LogoCode(self)
@@ -417,7 +417,7 @@ class TurtleArtWindow():
icon_path = os.path.join(dirname, 'icons')
if os.path.exists(icon_path):
icon_theme.append_search_path(icon_path)
- self._icon_paths.append(icon_path)
+ self.icon_paths.append(icon_path)
def _get_plugin_instance(self, plugin_name):
''' Returns the plugin 'plugin_name' instance '''
@@ -772,7 +772,7 @@ class TurtleArtWindow():
''' Change icon for user-defined blocks after loading Python code. '''
if blk is not None:
if blk.name in PYTHON_SKIN:
- x, y = self._calc_image_offset('pythonon', blk.spr)
+ x, y = self.calc_image_offset('pythonon', blk.spr)
blk.set_image(self.media_shapes['pythonon'], x, y)
self._resize_skin(blk)
@@ -3348,7 +3348,7 @@ before making changes to your program'))
else:
blk.name = 'description'
if pixbuf is not None:
- x, y = self._calc_image_offset('', blk.spr)
+ x, y = self.calc_image_offset('', blk.spr)
blk.set_image(pixbuf, x, y)
self._resize_skin(blk)
@@ -3981,7 +3981,7 @@ before making changes to your program'))
w, h, = calc_image_size(blk.spr)
pixbuf = get_pixbuf_from_journal(dsobject, w, h)
if pixbuf is not None:
- x, y = self._calc_image_offset('', blk.spr)
+ x, y = self.calc_image_offset('', blk.spr)
blk.set_image(pixbuf, x, y)
else:
self._block_skin('journalon', blk)
@@ -3991,7 +3991,7 @@ before making changes to your program'))
w, h, = calc_image_size(blk.spr)
pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(
blk.values[0], w, h)
- x, y = self._calc_image_offset('', blk.spr)
+ x, y = self.calc_image_offset('', blk.spr)
blk.set_image(pixbuf, x, y)
except:
debug_output('Could not open dsobject (%s)' %
@@ -4003,7 +4003,7 @@ before making changes to your program'))
w, h, = calc_image_size(blk.spr)
pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(
blk.values[0], w, h)
- x, y = self._calc_image_offset('', blk.spr)
+ x, y = self.calc_image_offset('', blk.spr)
blk.set_image(pixbuf, x, y)
except:
self._block_skin('journaloff', blk)
@@ -4577,7 +4577,7 @@ before making changes to your program'))
# Utilities related to putting a image 'skin' on a block
- def _calc_image_offset(self, name, spr, iw=0, ih=0):
+ def calc_image_offset(self, name, spr, iw=0, ih=0):
''' Calculate the postion for placing an image onto a sprite. '''
_l, _t = spr.label_left_top()
if name == '':