public CsgEditorUnion(Union target)
            : base(FlowDirection.TopToBottom)
        {
            this.target = target;

            AddChild(new TextWidget("Union"));
            foreach (CsgObject part in target.AllObjects)
            {
                FlowLayoutWidget row = new FlowLayoutWidget();
                row.AddChild(new GuiWidget(10, 2));
                row.AddChild(CsgEditorBase.CreateEditorForCsg(part));
                AddChild(row);
            }
        }
        public CsgEditorTranslate(Translate target)
            : base(FlowDirection.TopToBottom)
        {
            this.target = target;

            FlowLayoutWidget row = new FlowLayoutWidget();

            row.AddChild(new TextWidget("Translate"));
            AddVectorEdit(row, target, 0);
            AddVectorEdit(row, target, 1);
            AddVectorEdit(row, target, 2);
            AddChild(row);

            row = new FlowLayoutWidget();
            row.AddChild(new GuiWidget(10, 3));
            row.AddChild(CsgEditorBase.CreateEditorForCsg(target.ObjectToTransform));
            AddChild(row);
        }