private void btnSave_Click(object sender, EventArgs e)
        {
            var newProject = new RgProject();//temporary to get data

            foreach (TreeNode item in TreeTables.Nodes)
            {
                if (item.Tag.GetType() == typeof(Table))
                {
                    string tableName = ((Table)item.Tag).Name;
                    if (item.Nodes.Count > 0)
                    {
                        var hasMap = false;
                        var rgmap  = new RgMapping();
                        foreach (TreeNode mapping in item.Nodes)
                        {
                            hasMap = true;
                            rgmap.TemplateRelativePaths.Add(((Template)mapping.Tag).TemplatePath);
                        }
                        if (hasMap)
                        {
                            rgmap.TableName = tableName;
                            newProject.RgMappings.Add(rgmap);
                        }
                    }
                }
            }
            _rgProject.RgMappings = newProject.RgMappings;
            _rgProject.Save(_projPath);
            mnuProject.ToolTipText = _projPath;
        }
        private void mnuNew_Click(object sender, EventArgs e)
        {
            SaveFileDialog sfd = new SaveFileDialog();

            sfd.Filter = "Project Files|*.rgf";
            if (sfd.ShowDialog() == DialogResult.OK)
            {
                TreeTables.Nodes.Clear();
                _projPath = sfd.FileName;
                mnuProject.ToolTipText        = _projPath;
                _rgProject                    = new RgProject();
                _rgProject.TemplateRootFolder = templateRoot;
                _rgProject.SolutionRootFolder = Path.Combine(Path.GetDirectoryName(_projPath), "Outputs");
                _rgProject.Save(_projPath);
            }
        }