private void bgWorker_DoWork(object sender, DoWorkEventArgs e) { if (!this.splashScreenManager.IsSplashFormVisible) { this.splashScreenManager.ShowWaitForm(); } WorkerArg arg = (WorkerArg)e.Argument; if (arg.WorkerType == WorkerTypeEnum.LOAD_SERVER_RES || arg.WorkerType == WorkerTypeEnum.LOAD_CLIENT_RES) { this._currentWork = arg.WorkerType; this._exportMenu = null; this.LoadResDir(arg.WorkerType, arg.WorkerType == WorkerTypeEnum.LOAD_SERVER_RES ? txtServerRes.Text : txtClientRes.Text); } else if (arg.WorkerType == WorkerTypeEnum.LOAD_RES) { this.LoadResData(arg.ArgValue.ToString()); this.CreateGridMenu(); // Prevent export data to txt HQTrans for server if (this._currentWork == WorkerTypeEnum.LOAD_SERVER_RES && _exportMenu.Items.Count > 0) { _exportMenu.Items.RemoveAt(_exportMenu.Items.Count - 1); } } else if (arg.WorkerType == WorkerTypeEnum.SAVE_RES) { this.SaveResData(); } if (this.splashScreenManager.IsSplashFormVisible) { this.splashScreenManager.CloseWaitForm(); } }
private void barbtnSave_ItemClick(object sender, ItemClickEventArgs e) { if (this.xtraSaveFileDialog.ShowDialog() != DialogResult.OK) { return; } WorkerArg workerArg = new WorkerArg(WorkerTypeEnum.SAVE_RES, null); this.bgWorker.RunWorkerAsync(workerArg); }
private DataTable ReadResFile(string filepath, bool isAsync) { FileInfo fi = new FileInfo(filepath); if (!fi.Exists) { XtraMessageBox.Show("Res file not found"); return(null); } if (isAsync) { WorkerArg arg = new WorkerArg(WorkerTypeEnum.LOAD_RES, fi.FullName); if (bgWorker.IsBusy) { this.CreateWorkerInstance(); } bgWorker.RunWorkerAsync(arg); } else { string filename = fi.Name; var structdata = _supportedFiles[filename]; if (structdata._checksum <= 0) { SWReader reader = new SWReader(filepath); try { reader.readObject(structdata); } catch (Exception ex) { XtraMessageBox.Show(ex.Message); } structdata.ResetChecksum(); structdata.calcChecksum(); } object[] a = structdata.GetType().GetField("lsData").GetValue(structdata) as object[]; List <object> list = new List <object>(a); return(list.ToDataTable(a.GetType().GetElementType())); } return(null); }
private void lbRes_SelectedIndexChanged(object sender, EventArgs e) { gridControl1.DataSource = null; gridView1.Columns.Clear(); if (lbRes == null || lbRes.SelectedItem == null || !_supportedFiles.ContainsKey(lbRes.SelectedItem.ToString().ToLower())) { return; } FileInfo fi = new FileInfo(Path.Combine(_currentResPath, lbRes.SelectedItem.ToString())); if (!fi.Exists) { XtraMessageBox.Show("Res file not found"); return; } WorkerArg arg = new WorkerArg(WorkerTypeEnum.LOAD_RES, fi.FullName); if (bgWorker.IsBusy) { this.CreateWorkerInstance(); } bgWorker.RunWorkerAsync(arg); }