private void bindingSource_CurrentChanged(object sender, EventArgs e) { propertyGrid.SelectedObject = bindingSource.Current != null ? new TlkEntryView((TlkEntry)bindingSource.Current, TlkDocument.IsAlternate(FileName)) : null; }
protected override void OnPropertyChanged(PropertyChangedEventArgs e) { base.OnPropertyChanged(e); switch (e.PropertyName) { case null: case "FileName": case "Document": if (FileName != null && Document != null) { dataGridView.Columns[0].DataPropertyName = TlkDocument.IsAlternate(FileName) ? "StrRefAlt" : "StrRef"; } break; } }
private TlkDocument LoadTlkDocument(string fileName) { using (var stream = File.OpenRead(fileName)) using (var reader = new BinaryReader(stream)) { var doc = new TlkDocument(); doc.Load( reader, (current, total) => { if (current % 100 == 0) { openFilesBackgroundWorker.ReportProgress( (int)Math.Round(current * 100m / total), new OpenFileProgressState { FileName = fileName, Document = null }); } }); return(doc); } }