From 91e149d51b717e9e6993bb7afb1073a6d7f7a678 Mon Sep 17 00:00:00 2001
From: Ray Schamp <ray@scratch.mit.edu>
Date: Wed, 19 Oct 2016 10:22:06 -0400
Subject: [PATCH] Allow overriding GUI children

---
 src/containers/gui.js | 27 ++++++++++++++++++---------
 1 file changed, 18 insertions(+), 9 deletions(-)

diff --git a/src/containers/gui.js b/src/containers/gui.js
index 89193ad6e..937f4446f 100644
--- a/src/containers/gui.js
+++ b/src/containers/gui.js
@@ -47,21 +47,30 @@ class GUI extends React.Component {
                 media: basePath + 'static/blocks-media/'
             }
         });
-        return (
-            <GUIComponent {... guiProps}>
-                <GreenFlag vm={vm} {...greenFlagProps} />
-                <StopAll vm={vm} {...stopAllProps} />
-                <Stage vm={vm} {...stageProps} />
-                <SpriteSelector vm={vm} {... spriteSelectorProps} />
-                <Blocks vm={vm} {... blocksProps} />
-            </GUIComponent>
-        );
+        if (this.props.children) {
+            return (
+                <GUIComponent {... guiProps}>
+                    {this.props.children}
+                </GUIComponent>
+            );
+        } else {
+            return (
+                <GUIComponent {... guiProps}>
+                    <GreenFlag vm={vm} {...greenFlagProps} />
+                    <StopAll vm={vm} {...stopAllProps} />
+                    <Stage vm={vm} {...stageProps} />
+                    <SpriteSelector vm={vm} {... spriteSelectorProps} />
+                    <Blocks vm={vm} {... blocksProps} />
+                </GUIComponent>
+            );
+        }
     }
 }
 
 GUI.propTypes = {
     basePath: React.PropTypes.string,
     blocksProps: React.PropTypes.object,
+    children: React.PropTypes.node,
     greenFlagProps: React.PropTypes.object,
     projectData: React.PropTypes.string,
     spriteSelectorProps: React.PropTypes.object,
-- 
GitLab