Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/block.py
diff options
context:
space:
mode:
authorWalter Bender <walter@walter-laptop.(none)>2010-01-29 18:48:02 (GMT)
committer Walter Bender <walter@walter-laptop.(none)>2010-01-29 18:48:02 (GMT)
commitda3c83800dafe0c9d3cab46cede1fe02cfb66802 (patch)
tree6dd6b90abc3b8e71a5079b2aed63fbff77e715dc /block.py
parent2c3095f9d3b0f2bc6377112a55113bf5c3b0029f (diff)
ifelse
Diffstat (limited to 'block.py')
-rw-r--r--block.py27
1 files changed, 25 insertions, 2 deletions
diff --git a/block.py b/block.py
index 276308d..0725075 100644
--- a/block.py
+++ b/block.py
@@ -205,6 +205,8 @@ class Block:
self._make_flow_style_1arg(e, svg)
elif self.name in FLOW_STYLE_BOOLEAN:
self._make_flow_style_boolean(e, svg)
+ elif self.name in FLOW_STYLE_ELSE:
+ self._make_flow_style_else(e, svg)
else:
self._make_basic_style(e, svg)
print ">>>>> I don't know how to create a %s block" % (self.name)
@@ -379,7 +381,7 @@ class Block:
('bool', False, self.svg.docks[2][0],
self.svg.docks[2][1]))
self._left, self._right = self.svg.get_width()-self.svg.docks[1][0], 0
-
+
def _make_not_style(self, e, svg):
self.svg.expand(15+e, 0)
self._make_boolean_not(svg)
@@ -415,7 +417,9 @@ class Block:
self.svg.docks[2][1], '['),
('flow', False, self.svg.docks[3][0],
self.svg.docks[3][1], ']'))
- self._left, self._right = 2, self.svg.get_width()-self.svg.docks[1][0]
+ self._left = 2
+ self._right = self.svg.get_width()-self.svg.docks[1][0]+ \
+ self.svg.get_innie_width()*1.5
def _make_flow_style_boolean(self, e, svg):
self.svg.expand(25+e, 0)
@@ -433,6 +437,25 @@ class Block:
self.svg.docks[3][1], ']'))
self._left, self._right = 2, self.svg.get_width()-self.svg.docks[1][0]
+ def _make_flow_style_else(self, e, svg):
+ self.svg.expand(25+e, 0)
+ self.svg.set_slot(True)
+ self.svg.set_tab(True)
+ self.svg.set_else(True)
+ self.svg.set_boolean(True)
+ self._make_basic_flow(svg)
+ self.docks = (('flow', True, self.svg.docks[0][0],
+ self.svg.docks[0][1]),
+ ('bool', False, self.svg.docks[1][0],
+ self.svg.docks[1][1]),
+ ('flow', False, self.svg.docks[3][0],
+ self.svg.docks[3][1], '['),
+ ('flow', False, self.svg.docks[2][0],
+ self.svg.docks[2][1], ']['),
+ ('flow', False, self.svg.docks[4][0],
+ self.svg.docks[4][1], ']'))
+ self._left, self._right = 2, self.svg.get_width()-self.svg.docks[1][0]
+
def _make_basic_block(self, svg):
self.shapes.append(svg_str_to_pixbuf(self.svg.basic_block()))
self.width = self.svg.get_width()