From 92abfbf99c8ebe87c80d3730759715791fe90602 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Sat, 08 Feb 2014 21:30:57 +0000 Subject: make public methods public --- 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 == '': -- cgit v0.9.1