diff options
-rw-r--r-- | block.py | 7 | ||||
-rw-r--r-- | constants.py | 5 | ||||
-rwxr-xr-x | sprite_factory.py | 25 |
3 files changed, 36 insertions, 1 deletions
@@ -138,6 +138,7 @@ class Block: def expand_in_y(self, dy): self._ey += dy self.svg.set_hide(True) + self.svg.set_show(True) self._make_block(self.svg) self.spr.set_shape(self.shapes[0]) @@ -145,6 +146,7 @@ class Block: def expand_in_x(self, dx): self._ex += dx self.svg.set_hide(True) + self.svg.set_show(True) self._make_block(self.svg) self.spr.set_shape(self.shapes[0]) @@ -153,6 +155,7 @@ class Block: dx = -self._ex self._ex = 0 self.svg.set_hide(False) + self.svg.set_show(True) self._make_block(self.svg) self.spr.set_shape(self.shapes[0]) return dx @@ -161,6 +164,7 @@ class Block: dy = -self._ey self._ey = 0 self.svg.set_hide(False) + self.svg.set_show(True) self._make_block(self.svg) self.spr.set_shape(self.shapes[0]) return dy @@ -174,6 +178,9 @@ class Block: self.svg.set_tab(True) self.svg.set_slot(True) + if self.name in EXPANDABLE and self.type == 'block': + self.svg.set_show(True) + self._make_block(self.svg) self.spr = sprites.Sprite(sprite_list, x, y, self.shapes[0]) diff --git a/constants.py b/constants.py index 7a2182a..e4f17c5 100644 --- a/constants.py +++ b/constants.py @@ -112,6 +112,11 @@ PORTFOLIO_STYLE_1PIX = ['template1'] PORTFOLIO_STYLE_2PIX = ['template2', 'template6'] # +# blocks that are expandable +# +EXPANDABLE = ['vspace', 'hspace'] + +# # blocks that contain media # CONTENT_BLOCKS = ['number', 'string', 'description', 'audio', 'journal'] diff --git a/sprite_factory.py b/sprite_factory.py index 140a3cd..3cd595b 100755 --- a/sprite_factory.py +++ b/sprite_factory.py @@ -61,6 +61,7 @@ class SVG: self._expand_y = 0 self._else = False self._hide = False + self._show = False self._fill = "#00FF00" self._stroke = "#00A000" self._gradiant = False @@ -97,8 +98,13 @@ class SVG: self._calculate_w_h() svg += self._close_path() svg += self._style() + if self._show is True: + svg += self._show_dot(12, + self._height-12-self._innie_y2-self._slot_y) if self._hide is True: - svg += self._hide_dot(self._width-12, self._height-12-self._slot_y) + svg += self._hide_dot(self._width-12, + self._height-12-self._innie_y2-self._slot_y) + svg += self._footer() return self._header() + svg @@ -149,6 +155,9 @@ class SVG: if self._hide is True: svg += self._hide_dot(hh, self._height-12-self._innie_y2-self._slot_y) + if self._show is True: + svg += self._show_dot(hh-24, + self._height-12-self._innie_y2-self._slot_y) svg += self._footer() return self._header() + svg @@ -324,6 +333,9 @@ class SVG: def set_hide(self, flag=False): self._hide = flag + def set_show(self, flag=False): + self._show = flag + def get_width(self): return self._width @@ -584,6 +596,17 @@ class SVG: self._fill, self._stroke = _saved_fill, _saved_stroke return svg + def _show_dot(self, x, y): + _saved_fill, _saved_stroke = self._fill, self._stroke + self._fill, self._stroke = "#00FE00", "#00FE00" + svg = "</g>/n<g>/n" + svg += self._circle(8, x, y) + self._fill, self._stroke = "#FEFEFE", "#FEFEFE" + svg += self._rect(10, 2, x-5, y-1) + svg += self._rect(2, 10, x-1, y-5) + self._fill, self._stroke = _saved_fill, _saved_stroke + return svg + def _do_slot(self): if self._slot is True: self.docks.append((int(self._x*self._scale), |