private void CreateProject() { FileManager.INFO_PROJECT info = new FileManager.INFO_PROJECT(); info.count_block = 0; info.Language = GetPresentLanguage(); info.name = textBox_name.Text; info.Type = GetPresentType(); info.path = textBox_path.Text; info.path_icon = textBox_icon.Text; Boolean result = FileManager.ManagerProjects.CreateProject(info); if (result) { if (onNewCreateProject != null) { onNewCreateProject(info); } } else { String error = FileManager.ManagerProjects.GetError(); LMD_GUI.LMD_WindowError we = new LMD_WindowError(error); we.ShowDialog(); if (we.Result == LMD_WindowError.RESULT.HELP) { info.name = FileManager.ManagerProjects.CorrectName(info.name, "_"); textBox_name.Text = info.name; } } }
private void Window_Loaded(object sender, RoutedEventArgs e) { FileManager.INFO_PROJECT pip = FileManager.ManagerProjects.GetPresentProjectInfo(); w_txt.Text = pip.workspace_width.ToString(); h_txt.Text = pip.workspace_height.ToString(); txt_name.Text = pip.name; txt_path.Text = pip.path; txt_path_ico.Text = pip.path_icon; cb_language.Text = "" + pip.Language; cb_type.Text = "" + pip.Type; }
private void Button_Click_6(object sender, RoutedEventArgs e) { info = new FileManager.INFO_PROJECT(); info.name = txt_name.Text; info.path = txt_path.Text; info.path_icon = txt_path_ico.Text; try { info.workspace_width = float.Parse(w_txt.Text); info.workspace_height = float.Parse(h_txt.Text); } catch { MessageBox.Show("Не корректно введены параметры размера поля"); } info.Language = GetLanguage(); info.Type = GetTypeProject(); FileManager.ManagerProjects.ApplySettings(info); this.Close(); }
public void RunCoreCompile(FileManager.INFO_PROJECT info_project, LMD_GUI.LMD_BottomPanel info, List <LMD_BLOCKS.BLOCK_JOINT.BASE_BLOCK> blocks, LMD_GUI.LMD_FastInformationPanel fast_info) { Language.ManagerLanguage.LANGUAGE old_language = ML.PresentLanguage; ML.SetLanguage(Language.ManagerLanguage.LANGUAGE.C_SHARP); level = 0; ME.Clear(); LMD_BLOCKS.BLOCK_JOINT.BASE_BLOCK block_begin = null; for (int i = 0; i < blocks.Count; i++) { if (blocks[i].Type == LMD_GUI.TYPE_BLOCK.begin) { block_begin = blocks[i]; } } LMD_BLOCKS.BLOCK_JOINT.BASE_BLOCK block_next = block_begin; ResolutionBlocks(block_next, info); String res_code = ""; List <Language.BLOCK_CODE_CONTROL_ERROR> BCCE = ME.GetItems(); int lines = 0; for (int i = 0; i < BCCE.Count; i++) { for (int j = 0; j < BCCE[i].code.Length; j++) { lines++; info.AddItemText(BCCE[i].code[j]); res_code += BCCE[i].code[j]; BCCE[i].lines.Add(lines); } } CompileCode(res_code, null, true); ML.SetLanguage(old_language); }
public int Run(List <LMD_BLOCKS.BLOCK_JOINT.BASE_BLOCK> blocks, LMD_GUI.LMD_BottomPanel info, LMD_GUI.LMD_FastInformationPanel fast_info) { info.ClearDate(); fast_info.SetCurrentText("Начато построение"); PrevTextCode.Clear(); level = 0; ME.Clear(); int count_block = blocks.Count; // Set setting from projects to compile FileManager.INFO_PROJECT info_project = FileManager.ManagerProjects.GetPresentProjectInfo(); ML.SetLanguage(info_project.Language); info.AddItemText("Информация о проекте: "); info.AddItemText("Название: " + info_project.name); info.AddItemText("Путь: " + Environment.CurrentDirectory + "\\" + info_project.path); info.AddItemText("Тип проекта: " + info_project.Type); info.AddItemText("Колличество блоков: " + count_block); fast_info.ProgressBar.Value = 20; String lang = ""; switch (ML.PresentLanguage) { case Language.ManagerLanguage.LANGUAGE.C_PLUS_PLUS: lang = "C++"; break; case Language.ManagerLanguage.LANGUAGE.C_SHARP: lang = "C#"; break; case Language.ManagerLanguage.LANGUAGE.JAVA: lang = "Java"; break; case Language.ManagerLanguage.LANGUAGE.PASCALABC: lang = "Pascal"; break; } PrevTextCode.Add("Язык построения: " + lang); PrevTextCode.Add(""); info.AddItemText("Язык построения: " + lang); LMD_BLOCKS.BLOCK_JOINT.BASE_BLOCK block_begin = null; for (int i = 0; i < count_block; i++) { if (blocks[i].Type == LMD_GUI.TYPE_BLOCK.begin) { block_begin = blocks[i]; } } LMD_BLOCKS.BLOCK_JOINT.BASE_BLOCK block_next = block_begin; info.AddItemText("Построение последовательности блоков"); ResolutionBlocks(block_next, info); fast_info.ProgressBar.Value = 60; info.AddItemText("Собирается код"); String res_code = ""; List <Language.BLOCK_CODE_CONTROL_ERROR> BCCE = ME.GetItems(); int lines = 0; for (int i = 0; i < BCCE.Count; i++) { for (int j = 0; j < BCCE[i].code.Length; j++) { lines++; PrevTextCode.Add(BCCE[i].code[j]); info.AddItemText(BCCE[i].code[j]); res_code += BCCE[i].code[j]; BCCE[i].lines.Add(lines); } } fast_info.ProgressBar.Value = 80; switch (info_project.Type) { case FileManager.TYPE_PROJECT.DLL: this.name_project = info_project.name + ".dll"; CompileCode(res_code, info, false); break; case FileManager.TYPE_PROJECT.EXE: this.name_project = info_project.name + ".exe"; RunCoreCompile(info_project, info, blocks, fast_info); break; case FileManager.TYPE_PROJECT.NONE: break; case FileManager.TYPE_PROJECT.TXT: FileManager.ManagerProjects.CreateTXTCode(res_code); break; } info.AddItemText("Собирание проекта завершено"); fast_info.SetCurrentText("Готово"); fast_info.ProgressBar.Value = 100; return(0); }