private void AddToDiagram_MenuClick(object sender, RoutedEventArgs e) { ProjectTreeViewItem item = projectStructure.SelectedItem as ProjectTreeViewItem; currentEntity = new SubDiagram(null, item.ProjectItem); currentCanvas.Cursor = Cursors.Pen; }
private void Rename_RootMenuClick(object sender, RoutedEventArgs e) { TreeViewItem item = projectStructure.SelectedItem as TreeViewItem; string name = ProjectTreeViewItem.unpack(item.Header as StackPanel); StackPanel sp = null; if (item is ProjectTreeViewItem) { sp = ProjectTreeViewItem.packProjectItem(name, true); } else { sp = ProjectTreeViewItem.packProject(name, true); } TextBox tb = sp.Children[1] as TextBox; tb.KeyDown += TextBox_KeyUp; tb.LostFocus += TextBox_LostFocus; tb.IsVisibleChanged += new DependencyPropertyChangedEventHandler(TextBox_IsVisibleChanged); tb.CaretIndex = tb.Text.Length; item.Header = sp; }
private void ProjectSettings_Click(object sender, RoutedEventArgs e) { new ProjectSettings().ShowDialog(); TreeViewItem item = projectStructure.Items[0] as TreeViewItem; item.Header = ProjectTreeViewItem.packProject(Project.Instance.ProjectName, false); }
public ProjectExplorerViewModel(IProjectExplorerToolboxToolbarService toolbarService, IEventAggregator eventAggregator) : base(toolbarService) { _eventAggregator = eventAggregator; Name = "Project Explorer"; Title = "Project Explorer"; ContentId = "Project Explorer";//TODO : Move to constants IsVisible = false; _view = new ProjectExplorerView(this); View = _view; Root = new ProjectTreeViewItem(null, false) { DisplayName = "Project A" }; var pluginsFolder = new FolderTreeViewItem(Root, false) { DisplayName = "Plugins Folder" }; var pluginCs = new CsCodeTreeViewItem(pluginsFolder, false) { DisplayName = "Plugin.cs" }; var executionFolder = new FolderTreeViewItem(Root, false) { DisplayName = "Execution Folder" }; var businessUnits_Execution_Designer = new ExecutionDesignerTreeViewItem(executionFolder, false) { DisplayName = "BusinessUnits.xml" }; var businessUnits_Execution = new ExecutionTreeViewItem(businessUnits_Execution_Designer, false) { DisplayName = "Project A Execution 1.cs" }; var tempCs = new CsCodeTreeViewItem(Root, false) { DisplayName = "Temp.cs" }; OnPropertyChanged(() => Root); }
private void renameTreeViewItem(object sender) { string newName = (sender as TextBox).Text; if (String.IsNullOrWhiteSpace(newName)) { MessageBox.Show("Введено некорректное имя"); return; } TreeViewItem selected = projectStructure.SelectedItem as TreeViewItem; ProjectItem pi = Project.Instance.Items.Find(x => x.Name == newName); if (pi != null) { // true = avoiding NOT Renaming (when user clicked "Rename" and name not changed) if (selected is ProjectTreeViewItem && (selected as ProjectTreeViewItem).ProjectItem.Equals(pi)) { selected.Header = ProjectTreeViewItem.packProjectItem(newName, false); } else { MessageBox.Show("Процесс с таким именем уже подключен"); } return; } if (File.Exists(Project.Instance.FullPath + "\\" + newName + FileService.PROJECT_ITEM_EXTENSION)) { MessageBoxResult result = MessageBox.Show("Файл с таким именем уже есть в проектной директории. Перезаписать файл?", "Предупреждение", MessageBoxButton.YesNo, MessageBoxImage.Warning); if (result == MessageBoxResult.No) { return; } } if (selected is ProjectTreeViewItem) { ProjectTreeViewItem item = selected as ProjectTreeViewItem; item.Header = ProjectTreeViewItem.packProjectItem(newName, false); fs.renameProjectItem(item.ProjectItem, newName); changeTabName(findTabItem(item.ProjectItem), newName); } else { TreeViewItem root = projectStructure.Items[0] as TreeViewItem; root.Header = ProjectTreeViewItem.packProject(newName, false); fs.renameProject(newName); } }
private void RunSimulation_MenuClick(object sender, RoutedEventArgs e) { ProjectTreeViewItem item = projectStructure.SelectedItem as ProjectTreeViewItem; ClosableTabItem cti = findTabItem(item.ProjectItem); if (cti == null) { createNewDiagram(item.ProjectItem.Canvas, item.ProjectItem.Name); } else { cti.IsSelected = true; } SimulateLocalButton_Click(null, null); }
private void OpenProject_Click(object sender, RoutedEventArgs e) { if (checkOnceProject()) { Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog(); dlg.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); // Default directory dlg.DefaultExt = FileService.PROJECT_EXTENSION; // Default file extension dlg.Filter = "SAPR-SIM project (.ssp)|*.ssp"; // Filter files by extension // Show open file dialog box Nullable <bool> result = dlg.ShowDialog(); // Process open file dialog box results if (result.Value) { printInformation("Открыт проект " + dlg.FileName); fs.openProject(dlg.FileName); Project prj = Project.Instance; TreeViewItem projectItem = new TreeViewItem() { Header = ProjectTreeViewItem.packProject(prj.ProjectName, false) }; projectStructure.Items.Add(projectItem); if (prj.Items.Count > 0) { printInformation("Количество процессов проектирования в проекте: " + prj.Items.Count); foreach (ProjectItem item in prj.Items) { createNewDiagram(item.Canvas, item.Name); item.Canvas = currentCanvas; ProjectTreeViewItem tvi = new ProjectTreeViewItem() { Header = ProjectTreeViewItem.packProjectItem(item.Name, false), ProjectItem = item }; attachProjectItemEvents(tvi); projectItem.Items.Add(tvi); printInformation("Открыт процесс : " + item.Name); } projectItem.IsExpanded = true; attachProjectEvents(projectItem); } ButtonsActivation(true); } } }
// TODO refactor CreateNewProject_Click && OpenProject_Click private void CreateNewProject_Click(object sender, RoutedEventArgs e) { if (checkOnceProject()) { CreateProject cp = new CreateProject(); Nullable <bool> result = cp.ShowDialog(); if (result.Value) { Project prj = Project.Instance; TreeViewItem projectItem = new TreeViewItem() { Header = ProjectTreeViewItem.packProject(prj.ProjectName, false) }; projectStructure.Items.Add(projectItem); if (prj.Items.Count > 0) { ProjectItem item = prj.Items[0]; createNewDiagram(null, item.Name); item.Canvas = currentCanvas; fs.saveProject(); fs.save(currentCanvas, prj.PathToItem(item)); ProjectTreeViewItem newModel = new ProjectTreeViewItem() { Header = ProjectTreeViewItem.packProjectItem(item.Name, false), ProjectItem = item }; attachProjectItemEvents(newModel); projectItem.Items.Add(newModel); projectItem.IsExpanded = true; attachProjectItemEvents(newModel); } else { fs.saveProject(); } ButtonsActivation(true); attachProjectEvents(projectItem); } } }
private void RemoveItem_MenuClick(object sender, RoutedEventArgs e) { MessageBoxResult result = MessageBox.Show("Вы уверены?", "Убрать файл из проекта", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.Yes) { ProjectTreeViewItem item = projectStructure.SelectedItem as ProjectTreeViewItem; ClosableTabItem cti = findTabItem(item.ProjectItem); if (cti != null) { cti.button_close_Click(null, null); } (projectStructure.Items[0] as TreeViewItem).Items.Remove(item); Project.Instance.removeProjectItem(item.ProjectItem); fs.saveProject(); } }
private void Open_Click(object sender, RoutedEventArgs e) { Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog(); dlg.InitialDirectory = Project.Instance.FullPath; // Default directory dlg.DefaultExt = FileService.PROJECT_ITEM_EXTENSION; // Default file extension dlg.Filter = "SAPR-SIM models (.ssm)|*.ssm"; // Filter files by extension // Show open file dialog box Nullable <bool> result = dlg.ShowDialog(); // Process open file dialog box results if (result.Value) { string filename = Path.GetFileNameWithoutExtension(dlg.FileName); bool piExist = Project.Instance.Items.Find(x => x.Name == filename) != null; if (!piExist) { createNewDiagram(fs.open(dlg.FileName)); printInformation("Открыт файл " + dlg.FileName); changeTabName(filename); ProjectItem newItem = new ProjectItem(currentCanvas, filename); Project.Instance.addProjectItem(newItem); TreeViewItem root = projectStructure.Items[0] as TreeViewItem; ProjectTreeViewItem ptvi = new ProjectTreeViewItem() { Header = ProjectTreeViewItem.packProjectItem(newItem.Name, false), ProjectItem = newItem }; attachProjectItemEvents(ptvi); root.Items.Add(ptvi); fs.save(newItem.Canvas, newItem.FullPath); fs.saveProject(); } else { System.Windows.MessageBox.Show("Файл уже подключен к проекту"); } } }
private void CreateNewDiagram_Click(object sender, RoutedEventArgs e) { CreateDiagramDialog cdd = new CreateDiagramDialog(); Nullable <bool> result = cdd.ShowDialog(); if (result.Value) { createNewDiagram(null, cdd.Name); ProjectItem newItem = new ProjectItem(currentCanvas, cdd.Name); Project.Instance.addProjectItem(newItem); TreeViewItem root = projectStructure.Items[0] as TreeViewItem; ProjectTreeViewItem ptvi = new ProjectTreeViewItem() { Header = ProjectTreeViewItem.packProjectItem(newItem.Name, false), ProjectItem = newItem }; attachProjectItemEvents(ptvi); root.Items.Add(ptvi); fs.save(newItem.Canvas, newItem.FullPath); fs.saveProject(); } }
private void OnProjectItemMouseDoubleClick(object sender, MouseButtonEventArgs args) { ProjectTreeViewItem tvi = sender as ProjectTreeViewItem; findAndOpenRelatedTab(tvi.ProjectItem); }