Example #1
0
        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;
        }
Example #2
0
        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);
        }