private void DoAddNewItem(object sender, EventArgs e) { var dialog = new Dialogs.NewItemDialog(); var translator = new Translator("Dialogs.NewItems"); dialog.SetTemplateConfiguration(translator.GetString("SqlTemplateItems")); DialogResult result = dialog.ShowDialog(); if (result == DialogResult.OK) { TreeNode parent = tree.SelectedNode; string path = (string)parent.Tag; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string filnam = Path.Combine(path, dialog.FileName); using (var writer = new StreamWriter(filnam, false)) { writer.WriteLine(dialog.TemplateContent); writer.Close(); } // template=2, report=3, query=4 string ext = Path.GetExtension(filnam).Substring(1); int iconIndex = TemplateIcon; if (ext.Equals(reportExt)) { iconIndex = ReportIcon; } else if (ext.Equals(queryExt)) { iconIndex = QueryIcon; } var node = new TreeNode( Path.GetFileNameWithoutExtension(filnam), iconIndex, iconIndex); node.Tag = filnam; // TODO: alphabetize parent.Nodes.Add(node); parent.Expand(); } }
private void DoAddNewItem(object sender, EventArgs e) { var dialog = new Dialogs.NewItemDialog(); var translator = new Translator("Dialogs.NewItems"); dialog.SetTemplateConfiguration(translator.GetString("SqlProjectItems")); DialogResult result = dialog.ShowDialog(); if (result == DialogResult.OK) { TreeNode parent = tree.SelectedNode; IProjectContainer container = (IProjectContainer)parent.Tag; if (!Directory.Exists(container.FolderPath)) { Directory.CreateDirectory(container.FolderPath); } string filnam = container.FolderPath + "\\" + dialog.FileName; using (var writer = new StreamWriter(filnam, false)) { writer.WriteLine(dialog.TemplateContent); writer.Close(); } var item = new FileItem(container.FolderPath + "\\" + dialog.FileName); int index = container.AddChild(item); TreeNode node = CreateNode(item); if (index < tree.SelectedNode.Nodes.Count) { parent.Nodes.Insert(index, node); } else { parent.Nodes.Add(node); } parent.Expand(); } }