public DiagramDocument(NodeEditorCore.IDiagramDocument underlyingDoc, Uri uri) : base(underlyingDoc.ViewModel) { UnderlyingDocument = underlyingDoc; _uri = uri; // tracking for dirty flag -- Model.NodeAdded += Model_NodeAdded; Model.NodeRemoved += Model_NodeRemoved; Model.ConnectionAdded += Model_ConnectionAdded; Model.ConnectionRemoved += Model_ConnectionRemoved; Model.MiscChange += Model_MiscChange; }
public DiagramSettings(NodeEditorCore.IDiagramDocument context) { InitializeComponent(); _context = context; // We need to calculate the interface for the node graph and // find the variables from there... var interf = ShaderPatcherLayer.NodeGraph.GetInterface(context.NodeGraph); var sugg = interf.Variables.Select(x => x.Name); { _variables.AutoGenerateColumns = false; _variables.Columns.Add( new DataGridViewTextBoxColumn() { CellTemplate = new ControlsLibrary.VariableNameCell { Suggestions = sugg }, Name = "Variable", HeaderText = "Variable", ToolTipText = "Name of the variable", DataPropertyName = "Key", FillWeight = 30, AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill }); _variables.Columns.Add( new DataGridViewTextBoxColumn() { CellTemplate = new ControlsLibrary.VariableRestrictionCell(), Name = "Value", HeaderText = "Restrictions", ToolTipText = "Restrictions applied to the variable", DataPropertyName = "Value", FillWeight = 70, AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill }); } _variablesList = new BindingList<ControlsLibrary.StringPair>(); foreach (var i in _context.GraphContext.Variables) _variablesList.Add(new ControlsLibrary.StringPair { Key = i.Key, Value = i.Value }); _variables.DataSource = _variablesList; var diagContext = _context.GraphContext; _type.SelectedIndex = diagContext.HasTechniqueConfig ? 1 : 0; _needsWorldPosition.CheckState = CheckState.Unchecked; foreach (var i in diagContext.ShaderParameters) if (i.Key.Equals("OUTPUT_WORLD_POSITION")) _needsWorldPosition.CheckState = CheckState.Checked; _previewModel.Text = diagContext.PreviewModelFile; _okButton.Click += _okButton_Click; }
public ShaderFragmentArchiveControl( NodeEditorCore.ShaderFragmentArchiveModel archiveModel) { DoubleBuffered = false; Margin = new System.Windows.Forms.Padding(0); var fragmentTree = new Aga.Controls.Tree.TreeViewAdv(); var treeColumn1 = new Aga.Controls.Tree.TreeColumn(); var treeColumn3 = new Aga.Controls.Tree.TreeColumn(); var treeColumn4 = new Aga.Controls.Tree.TreeColumn(); var treeColumn5 = new Aga.Controls.Tree.TreeColumn(); var icon = new Aga.Controls.Tree.NodeControls.NodeStateIcon(); var visibleName = new Aga.Controls.Tree.NodeControls.NodeTextBox(); var returnType = new Aga.Controls.Tree.NodeControls.NodeTextBox(); var parameters = new Aga.Controls.Tree.NodeControls.NodeTextBox(); var exceptionString = new Aga.Controls.Tree.NodeControls.NodeTextBox(); // treeColumn1 treeColumn1.Header = "Name"; treeColumn1.SortOrder = System.Windows.Forms.SortOrder.None; treeColumn1.TooltipText = null; treeColumn1.Width = 300; // treeColumn3 treeColumn3.Header = "ReturnType"; treeColumn3.SortOrder = System.Windows.Forms.SortOrder.None; treeColumn3.TooltipText = null; treeColumn3.Width = 75; // treeColumn4 treeColumn4.Header = "Parameters"; treeColumn4.SortOrder = System.Windows.Forms.SortOrder.None; treeColumn4.TooltipText = null; treeColumn4.Width = 400; // treeColumn5 treeColumn5.Header = "Exception"; treeColumn5.SortOrder = System.Windows.Forms.SortOrder.None; treeColumn5.TooltipText = null; treeColumn5.Width = 200; // _icon icon.DataPropertyName = "Icon"; icon.LeftMargin = 1; icon.ParentColumn = treeColumn1; icon.ScaleMode = Aga.Controls.Tree.ImageScaleMode.Clip; // _visibleName visibleName.DataPropertyName = "Name"; visibleName.IncrementalSearchEnabled = true; visibleName.LeftMargin = 8; visibleName.ParentColumn = treeColumn1; visibleName.Trimming = System.Drawing.StringTrimming.EllipsisCharacter; // visibleName.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0))); visibleName.UseCompatibleTextRendering = true; // _returnType returnType.DataPropertyName = "ReturnType"; returnType.IncrementalSearchEnabled = true; returnType.LeftMargin = 3; returnType.ParentColumn = treeColumn3; returnType.UseCompatibleTextRendering = true; // _parameters parameters.DataPropertyName = "Parameters"; parameters.IncrementalSearchEnabled = true; parameters.LeftMargin = 3; parameters.ParentColumn = treeColumn4; parameters.UseCompatibleTextRendering = true; // _exceptionString exceptionString.DataPropertyName = "ExceptionString"; exceptionString.IncrementalSearchEnabled = true; exceptionString.LeftMargin = 3; exceptionString.ParentColumn = treeColumn5; exceptionString.UseCompatibleTextRendering = true; // fragment tree fragmentTree.BackColor = System.Drawing.Color.Silver; fragmentTree.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; fragmentTree.ColumnFont = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); fragmentTree.Columns.Add(treeColumn1); fragmentTree.Columns.Add(treeColumn3); fragmentTree.Columns.Add(treeColumn4); fragmentTree.Columns.Add(treeColumn5); fragmentTree.DefaultToolTipProvider = null; fragmentTree.Dock = System.Windows.Forms.DockStyle.Fill; fragmentTree.DragDropMarkColor = System.Drawing.Color.Black; fragmentTree.Font = System.Drawing.SystemFonts.MenuFont; // new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0))); fragmentTree.ForeColor = System.Drawing.Color.Gray; fragmentTree.FullRowSelect = true; fragmentTree.GridLineStyle = ((Aga.Controls.Tree.GridLineStyle)((Aga.Controls.Tree.GridLineStyle.Horizontal | Aga.Controls.Tree.GridLineStyle.Vertical))); fragmentTree.LineColor = System.Drawing.Color.White; fragmentTree.LoadOnDemand = true; fragmentTree.Location = new System.Drawing.Point(0, 0); fragmentTree.Model = null; fragmentTree.Name = "_fragmentTree"; fragmentTree.NodeControls.Add(icon); fragmentTree.NodeControls.Add(visibleName); fragmentTree.NodeControls.Add(returnType); fragmentTree.NodeControls.Add(parameters); fragmentTree.NodeControls.Add(exceptionString); fragmentTree.RowHeight = 32; fragmentTree.SelectedNode = null; fragmentTree.Size = new System.Drawing.Size(288, 311); fragmentTree.TabIndex = 3; fragmentTree.UseColumns = true; // fragmentTree.MouseEnter += new System.EventHandler(this.OnFragmentsMouseEnter); // fragmentTree.MouseLeave += new System.EventHandler(this.OnFragmentsMouseLeave); fragmentTree.Padding = new System.Windows.Forms.Padding(0); fragmentTree.Dock = System.Windows.Forms.DockStyle.Fill; fragmentTree.Model = new Aga.Controls.Tree.SortedTreeModel(archiveModel); fragmentTree.ItemDrag += new ItemDragEventHandler(OnFragmentTreeItemDrag); Controls.Add(fragmentTree); }