/// <summary> /// Inicializa o historico, lendo os endereços contidos no arquivo json /// </summary> private void HistoricInitialize() { JsonController.SaveJson("[]", historicPath); string json = null; if (JsonController.OpenJson(historicPath, ref json)) { historicStrings = JsonController.JsonToList <string>(json); foreach (ComboBox box in historicBoxs) { for (int i = historicStrings.Count - 1; i >= 0; i--) { box.RemoveText(i); } foreach (string dir in historicStrings) { box.AppendText(dir); } } foreach (string dir in historicStrings) { foreach (ComboBox box in historicBoxs) { box.AppendText(dir); } } } else { JsonController.SaveJson("[]", historicPath); HistoricInitialize(); } }
/// <summary> /// Evento do botão Salvar /// </summary> public void SaveEvent(VoidDelegade callback) { string json = JsonController.ListToJson(GetItens()); if (string.IsNullOrEmpty(historicBuffer) == false) { if (GetItens().Count > 0 && JsonController.SaveJson(json, historicBuffer)) { EditButtonEvent(historicBuffer, callback); return; } } SaveAsEvent(callback); }
/// <summary> /// Evento Salvar Como... /// </summary> /// <param name="path">Diretorio do arquivo.</param> public void SaveAsEvent(VoidDelegade callback) { if (GetItens().Count > 0) { if (GTKUtils.ShowFileChooser(out string path, ".prb", "Salvar como..", "Salvar")) { string json = JsonController.ListToJson(GetItens()); if (JsonController.SaveJson(json, path)) { Console.WriteLine(path); EditButtonEvent(path, callback); } } } else { GTKUtils.ShowDilog("Não há dados a serem salvos!", MessageType.Warning, "Use a aba de Criação para gerar e editar processos!"); } }
/// <summary> /// Evento do botão Editar. /// </summary> /// <param name="path">Endereçõ do novo arquivo a ser editado</param> public bool EditButtonEvent(string path, VoidDelegade callback) { string json = null; if (JsonController.OpenJson(path, ref json)) { Console.WriteLine("{0} existe", path); creationView.LoadItens(JsonController.JsonToList <Process>(json)); UpdateAllHistoric(path); callback(); return(true); } Console.WriteLine("{0} nao existe", path); historicStrings.Remove(path); json = JsonController.ListToJson(historicStrings); JsonController.SaveJson(json, historicPath); ClearComboBox(); return(false); }
/// <summary> /// Atualizar historico /// </summary> /// <param name="newPath">Endereçõ do novo arquivo.</param> /// /// <param name="box">ComboBox a ser atualizada.</param> private void UpdateHistoric(ComboBox box, string newPath) { historicBuffer = newPath; box.Active = -1; for (int i = historicStrings.Count - 1; i >= 0; i--) { Console.WriteLine("Removendo"); box.RemoveText(i); } if (historicStrings.Contains(newPath)) { historicStrings.Remove(newPath); historicStrings.Insert(0, newPath); foreach (string dir in historicStrings) { box.AppendText(dir); } box.Active = 0; } else if (string.IsNullOrEmpty(newPath) == false) { historicStrings.Insert(0, newPath); foreach (string dir in historicStrings) { box.AppendText(dir); } box.Active = 0; } string json = JsonController.ListToJson(historicStrings); JsonController.SaveJson(json, historicPath); }