public static Window miRefNewOrgs(String ATtile, Organitations AOrg) { Window LResult = null; for (int i = 0; i < Application.Top.Subviews.Count; i++) { if (Application.Top.Subviews[i].Id == ATtile) { LResult = (Window)Application.Top.Subviews[i]; Application.Top.RemoveAll(); Application.Top.Add(LResult); Application.Top.Add(MainMenu); LResult.FocusFirst(); break; } } if (null == LResult) { LResult = new Window(ATtile) { Id = ATtile, X = 0, Y = 1, // для меню оставим одну строчку Width = Dim.Fill(), Height = Dim.Fill() }; ListViewOrgs = new ListView( new Rect() { X = 0, Y = 0, Height = 20, Width = 158 }, AOrg); //ListViewOrgs.Enter += ListViewOrgsOnEnter; ListViewOrgs.SelectedChanged += () => { ListViewOrgsOnSelectedChanged(); }; LResult.Add(ListViewOrgs); ListViewOrgsCource = new ListView() { X = 0, Y = 21, Height = 36, Width = 158 }; ListViewOrgsCource.ColorScheme = new ColorScheme(); ListViewOrgsCource.ColorScheme.Normal = Application.Driver.MakeAttribute(Color.Red, Settings.Background); LResult.Add(ListViewOrgsCource); } LResult.ColorScheme.Normal = Application.Driver.MakeAttribute(Settings.Foreground, Settings.Background); Application.Top.Add(LResult); Application.Run(); return(LResult); }
public static void Main(string[] args) { // I.0 Настройки приложения Settings = new AppSettings(); // I.1 проверка каталога настроек String LSettingsPath = CheckFoldersSettings(); // I.2. проверяем, существует ли файл настроек? (первый запуск приложения) if (!File.Exists(Path.Combine(LSettingsPath, CFileSettings))) { // если нет, сохраняем настройки по-умолчанию в файл Settings.SaveToFile(Path.Combine(LSettingsPath, CFileSettings)); } // I.3 загружаем настройки Settings.LoadFromFile(Path.Combine(LSettingsPath, CFileSettings)); // II.1. проверка рабочего каталога приложения AppDefaultPathData = CheckFoldersData(); // II.2. скачать файл из интернета if (!File.Exists(Path.Combine(AppDefaultPathData, CLocalJSON))) { DownloadFileText(CRemoteJSON, Path.Combine(AppDefaultPathData, CLocalJSON)); } // II.3. загрузить данные из файла String LJSON = File.ReadAllText(Path.Combine(AppDefaultPathData, CLocalJSON)); var LCourceObject = JsonConvert.DeserializeObject <dynamic>(LJSON); // II.3.1. загрузка локализации Msgs = new MessagesHolder(); // II.3.1.1 первый запуск приложения if (!File.Exists(Path.Combine(AppDefaultPathData, CFolderLocal, Settings.Localization.ToLower() + ".json"))) { Msgs.SaveToFile(Path.Combine(AppDefaultPathData, CFolderLocal, Settings.Localization.ToLower() + ".json")); } Msgs.LoadFromFile(Path.Combine(AppDefaultPathData, CFolderLocal, Settings.Localization.ToLower() + ".json")); // II.3.2. организовать выбор локализации String[] LLocalFiles = Directory.GetFiles(Path.Combine(AppDefaultPathData, CFolderLocal)); foreach (String LLocalFile in LLocalFiles) { String LLocalName = Path.GetFileNameWithoutExtension(LLocalFile); if (LLocalName.ToUpper().Equals(Settings.Localization)) { Msgs.LoadFromFile(LLocalFile); } } // III.1. создаём справочники Cities = new Reference(LCourceObject.cities); Regions = new Reference(LCourceObject.regions); Currencies = new Reference(LCourceObject.currencies); OrgTypes = new Reference(LCourceObject.orgTypes); Orgs = new Organitations(LCourceObject.organizations, OrgTypes, Regions, Cities, Currencies); ObjInit(); ObjLocal(Settings.Localization); Application.Init(); Application.Top.Add(MainMenu); Application.Run(); // ZZZ.1. при выходе из приложения сохраняем настройки // потому, что возможно они были изменены пользователем в процессе работы приложения Settings.SaveToFile(Path.Combine(LSettingsPath, CFileSettings)); }