/// <inheritdoc /> public MaterialWindow(Editor editor, AssetItem item) : base(editor, item) { // Split Panel 1 _split1 = new SplitPanel(Orientation.Horizontal, ScrollBars.None, ScrollBars.None) { DockStyle = DockStyle.Fill, SplitterValue = 0.7f, Parent = this }; // Split Panel 2 _split2 = new SplitPanel(Orientation.Vertical, ScrollBars.None, ScrollBars.Vertical) { DockStyle = DockStyle.Fill, SplitterValue = 0.4f, Parent = _split1.Panel2 }; // Material preview _preview = new MaterialPreview(true) { Parent = _split2.Panel1 }; // Material properties editor var propertiesEditor = new CustomEditorPresenter(null); propertiesEditor.Panel.Parent = _split2.Panel2; _properties = new PropertiesProxy(); propertiesEditor.Select(_properties); propertiesEditor.Modified += OnMaterialPropertyEdited; // Surface _surface = new MaterialSurface(this, Save) { Parent = _split1.Panel1, Enabled = false }; // Toolstrip _saveButton = (ToolStripButton)_toolstrip.AddButton(Editor.Icons.Save32, Save).LinkTooltip("Save"); _toolstrip.AddSeparator(); _toolstrip.AddButton(editor.Icons.PageScale32, _surface.ShowWholeGraph).LinkTooltip("Show whole graph"); _toolstrip.AddSeparator(); _toolstrip.AddButton(editor.Icons.BracketsSlash32, () => ShowSourceCode(_asset)).LinkTooltip("Show generated shader source code"); _toolstrip.AddButton(editor.Icons.Docs32, () => Application.StartProcess(Utilities.Constants.DocsUrl + "manual/graphics/materials/index.html")).LinkTooltip("See documentation to learn more"); }