Exemple #1
0
        private Widget CreateMaterialEffectsPane()
        {
            var pane = new ThemedScrollView {
                Padding = new Thickness {
                    Right = 15,
                },
            };
            var list = new Widget {
                Layout = new VBoxLayout(),
            };

            pane.Content.Layout = new VBoxLayout {
                Spacing = AttachmentMetrics.Spacing
            };
            pane.Content.AddNode(list);
            var widgetFactory = new AttachmentWidgetFactory <Model3DAttachment.MaterialEffect>(
                w => new MaterialEffectRow(w, attachment.MaterialEffects), attachment.MaterialEffects);

            widgetFactory.AddHeader(MaterialEffectRow.CreateHeader());
            widgetFactory.AddFooter(DeletableRow <Model3DAttachment.MaterialEffect> .CreateFooter(() => {
                attachment.MaterialEffects.Add(new Model3DAttachment.MaterialEffect {
                    Name         = "MaterialEffect",
                    MaterialName = "MaterialName",
                    Path         = "MaterialPath",
                });
            }));
            list.Components.Add(widgetFactory);
            return(pane);
        }
Exemple #2
0
        private static Widget CreateMaterialEffectsPane(Model3DAttachment attachment)
        {
            var pane = new ThemedScrollView();

            pane.Content.Padding = new Thickness {
                Right = 10
            };
            var list = new Widget {
                Layout = new VBoxLayout(),
            };

            pane.Content.Layout = new VBoxLayout {
                Spacing = AttachmentMetrics.Spacing
            };
            pane.Content.AddNode(list);
            var widgetFactory = new AttachmentWidgetFactory <Model3DAttachment.MaterialEffect>(
                w => new MaterialEffectRow(w, attachment.MaterialEffects), attachment.MaterialEffects);

            widgetFactory.AddHeader(MaterialEffectRow.CreateHeader());
            widgetFactory.AddFooter(DeletableRow <Model3DAttachment.MaterialEffect> .CreateFooter(() => {
                history.DoTransaction(() => {
                    Core.Operations.InsertIntoList.Perform(
                        attachment.MaterialEffects,
                        attachment.MaterialEffects.Count,
                        new Model3DAttachment.MaterialEffect {
                        Name         = "MaterialEffect",
                        MaterialName = "MaterialName",
                        Path         = "MaterialPath",
                    }
                        );
                });
            }));
            list.Components.Add(widgetFactory);
            return(pane);
        }