Example #1
0
        private void UpdateNodeLabel(TreeNode node)
        {
            if (node == null)
            {
                return;
            }
            clsProjectObject obj = node.Tag as clsProjectObject;

            if (obj == null)
            {
                return;
            }
            node.Name = obj.ToString();
            if (!node.IsEditing)
            {
                if (node == nodeHover)
                {
                    node.Text = obj.Name;
                }
                else
                {
                    node.Text = obj.ToString();
                }
            }
        }
Example #2
0
        private void TreeMain_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
        {
            if (string.IsNullOrEmpty(e.Label))
            {
                return;
            }
            clsProjectObject obj = e.Node.Tag as clsProjectObject;

            obj.Name              = e.Label;
            e.Node.Text           = obj.ToString();
            treeMain.SelectedNode = null;
        }
Example #3
0
        private void TreeMain_BeforeLabelEdit(object sender, NodeLabelEditEventArgs e)
        {
            clsProjectObject obj = e.Node.Tag as clsProjectObject;

            if (obj != null)
            {
                e.Node.Text = obj.Name;
            }
            else
            {
                e.CancelEdit = true;
            }
        }
Example #4
0
 private void UpdateShaderList()
 {
     if (Program != null)
     {
         List <clsProjectObject> lst = projectMain.ProjectObjects.FindAll(itm => itm as clsShader != null);
         Program.Shaders.RemoveAll(itm => !lst.Contains(itm));
         if (Program.Shaders.Count != datagridShaderLinks.Rows.Count - 1)
         {
             List <DataGridViewRow>  aryRowsToRemove = new List <DataGridViewRow>();
             List <clsProjectObject> aryObjsToAdd    = new List <clsProjectObject>(Program.Shaders);
             foreach (DataGridViewRow rowItr in datagridShaderLinks.Rows)
             {
                 if (!rowItr.IsNewRow && !rowItr.Cells["columnShader"].IsInEditMode)
                 {
                     object obj = rowItr.Cells["columnShader"].EditedFormattedValue;
                     if (obj != null)
                     {
                         string           str = obj.ToString();
                         clsProjectObject shd = projectMain.ProjectObjects.Find(itm => itm.ToString() == str);
                         if (lst.FindIndex(itm => itm.ToString() == str) < 0)
                         {
                             aryRowsToRemove.Add(rowItr);
                         }
                         if (Program.Shaders.FindIndex(itm => itm == shd) >= 0)
                         {
                             aryObjsToAdd.Remove(shd);
                         }
                     }
                 }
             }
             foreach (DataGridViewRow rowItr in aryRowsToRemove)
             {
                 datagridShaderLinks.Rows.Remove(rowItr);
             }
             foreach (clsProjectObject shdItr in aryObjsToAdd)
             {
                 datagridShaderLinks.Rows.Add(shdItr.ToString());
             }
         }
         DataGridViewColumn         columnData      = datagridShaderLinks.Columns["columnShader"];
         DataGridViewComboBoxColumn columnDropDowns = columnData as DataGridViewComboBoxColumn;
         columnDropDowns.Items.Clear();
         foreach (clsShader shaderItm in lst)
         {
             columnDropDowns.Items.Add(shaderItm.ToString());
         }
     }
 }
Example #5
0
        public void UpdateProjectTree()
        {
            if (Project.ProjectObjects == null)
            {
                return;
            }
            List <clsProjectObject> aryObjsCurrent   = new List <clsProjectObject>();
            List <clsProjectObject> aryObjsToAdd     = new List <clsProjectObject>();
            List <TreeNode>         aryNodesToRemove = new List <TreeNode>();

            foreach (TreeNode N in treeMain.Nodes["nodeProject"].Nodes)
            {
                clsProjectObject obj = N.Tag as clsProjectObject;
                if (obj != null)
                {
                    if (Project.ProjectObjects.Contains(obj))
                    {
                        aryObjsCurrent.Add(obj);
                    }
                    else
                    {
                        aryNodesToRemove.Add(N);
                    }
                }
            }
            foreach (clsProjectObject obj in Project.ProjectObjects)
            {
                if (!aryObjsCurrent.Contains(obj))
                {
                    aryObjsToAdd.Add(obj);
                }
            }
            foreach (TreeNode N in aryNodesToRemove)
            {
                N.Remove();
            }
            foreach (clsProjectObject obj in aryObjsToAdd)
            {
                TreeNode newNode = new TreeNode();
                newNode.ContextMenuStrip = menuProjectObject;
                newNode.Text             = obj.ToString();
                newNode.Tag = obj;
                treeMain.Nodes["nodeProject"].Nodes.Add(newNode);
            }
        }
Example #6
0
        private void TreeMain_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            TreeNode         nodeClicked = treeMain.GetNodeAt(e.Location);
            clsProjectObject objNode     = nodeClicked.Tag as clsProjectObject;

            if (objNode != null)
            {
                if (objNode.ParentControl == null || objNode.ParentControl.IsDisposed)
                {
                    DockContent frmNew = NewFormFromObject(objNode);
                    frmNew.Show(dockMainPanel, DockState.Document);
                }
                else
                {
                    objNode.ParentControl.ParentForm.Focus();
                }
            }
            TreeNode nodeTmp = nodeHover;

            nodeHover = null;
            UpdateNodeLabel(nodeTmp);
            UpdateNodeLabel(nodeClicked);
        }
Example #7
0
 private void MenuProjectObject_Delete_Click(object sender, EventArgs e)
 {
     if (nodeMouseDown != null)
     {
         clsProjectObject obj = nodeMouseDown.Tag as clsProjectObject;
         if (obj != null)
         {
             if (obj.ParentControl != null)
             {
                 if (obj.ParentControl.ParentForm != null)
                 {
                     obj.ParentControl.ParentForm.Close();
                 }
                 else
                 {
                     obj.ParentControl.Dispose();
                 }
             }
             projectMain.ProjectObjects.Remove(obj);
             obj.Dispose();
         }
         nodeMouseDown.Remove();
     }
 }
 public frmShader(clsProjectObject refObj)
 {
     InitializeComponent();  panelMain.ProjectObject = refObj;
 }
 public frmGeometry(clsProjectObject refObj)
 {
     InitializeComponent(); panelMain.ProjectObject = refObj;
 }
Example #10
0
 private void TreeMain_AfterSelect(object sender, TreeViewEventArgs e)
 {
     clsProjectObject obj = (clsProjectObject)e.Node.Tag;
 }
Example #11
0
 private void TreeMain_BeforeSelect(object sender, TreeViewCancelEventArgs e)
 {
     clsProjectObject obj = (clsProjectObject)e.Node.Tag;
 }
Example #12
0
 public frmVertexDescription(clsProjectObject refObj)
 {
     InitializeComponent(); panelMain.ProjectObject = refObj;
 }
 public controlProjectObject(clsProjectObject refObj) : base()
 {
     InitializeComponent();
     ProjectObject = refObj;
     ProjectObject.ParentControl = this;
 }
 public controlProjectObject() : base()
 {
     InitializeComponent();
     ProjectObject = objPlaceHolder;
     ProjectObject.ParentControl = this;
 }