public override void SelectObject(object obj) { if (obj is TableTreeViewItemViewModel viewModel) { var query = from viewModelItem in this.GetViewModels() join unresolvedItem in viewModel.Source.UnresolvedItems on viewModelItem.Target equals unresolvedItem select viewModelItem; this.itemList.Clear(); foreach (var item in query) { var itemViewModel = new TableUnresolvedItemListBoxItemViewModel(item); itemList.Add(itemViewModel); itemViewModel.PropertyChanged += ItemViewModel_PropertyChanged; } foreach (var item in itemList) { this.compositionService.SatisfyImportsOnce(item); } this.viewModel = viewModel; this.selectedItem = itemList.FirstOrDefault(); } else { this.itemList.Clear(); this.viewModel = null; } this.NotifyOfPropertyChange(nameof(this.DisplayName)); this.NotifyOfPropertyChange(nameof(this.IsVisible)); this.NotifyOfPropertyChange(nameof(this.Items)); }
public override void SelectObject(object obj) { if (this.viewModel != null) { this.viewModel.PropertyChanged -= ViewModel_PropertyChanged; } this.viewModel = obj as TableTreeViewItemViewModel; if (this.viewModel != null) { this.DisplayName = $"{Resources.Title_ColumnInfo}({this.GetHeader(this.viewModel)})"; this.tableInfo = this.GetTableInfo(this.viewModel); this.viewModel.PropertyChanged += ViewModel_PropertyChanged; } else { this.tableInfo = null; } if (this.tableInfo != null) { this.columns = this.tableInfo.Value.Columns.Select(item => new TableColumnInfoItemViewModel(item)).ToArray(); } else { this.columns = new TableColumnInfoItemViewModel[] { } }; this.NotifyOfPropertyChange(nameof(this.Columns)); this.NotifyOfPropertyChange(nameof(this.IsVisible)); this.NotifyOfPropertyChange(nameof(this.SelectedObject)); }
protected override TableInfo?GetTableInfo(TableTreeViewItemViewModel item) { if (item.DiffState == DiffState.Inserted) { return(null); } return(item.Source.TableInfo1); }
protected override TableInfo?GetTableInfo(TableTreeViewItemViewModel item) { if (item.DiffState == Data.Diff.DiffState.Deleted) { return(null); } return(item.Source.TableInfo2); }
public void View(TableTreeViewItemViewModel viewModel) { var targetModel = (TableTreeViewItemViewModel)viewModel.Parent ?? viewModel; var document = this.Items.OfType <TableDocumentViewModel>().FirstOrDefault(item => item.Source == targetModel.Source); if (document == null) { document = new TableDocumentViewModel(targetModel); this.Items.Add(document); } document.SelectedName = $"{viewModel}"; this.ActivateItem(document); }
private void Import(TableTreeViewItemViewModel viewModel) { //var dataBaseName = this.cremaAppHost.DataBaseName; //var dataBase = await this.cremaHost.Dispatcher.InvokeAsync(() => this.cremaHost.DataBases[dataBaseName]); //var comment = this.GetComment(); //if (comment == null) // return; //var dialog = new ProgressViewModel(); //dialog.ShowDialog(() => //{ // this.cremaHost.Dispatcher.Invoke(() => dataBase.TableContext.Import(this.authenticator, dataTable.DataSet, comment)); //}); }
private void UpdateItemsSource() { var dataSet = this.shell.DataSet; var compositionService = this.ServiceProvider.GetService(typeof(ICompositionService)) as ICompositionService; foreach (var item in dataSet.Tables) { var viewModel = new TableTreeViewItemViewModel(item) { Header1 = dataSet.Header1, Header2 = dataSet.Header2 }; compositionService.SatisfyImportsOnce(viewModel); this.Items.Add(viewModel); } }
public TableDocumentViewModel(TableTreeViewItemViewModel viewModel) { this.viewModel = viewModel; this.itemList.Add(new TableDocumentItemViewModel(viewModel)); foreach (var item in viewModel.Items.OfType <TableTreeViewItemViewModel>()) { this.itemList.Add(new TableDocumentItemViewModel(item)); } foreach (var item in this.itemList) { item.PropertyChanged += DocumentItem_PropertyChanged; } this.undoService.Changed += UndoService_Changed; this.resolveCommand = new DelegateCommand((p) => this.Resolve(), (p) => this.CanResolve); this.SelectedItem = this.itemList.First(); this.DisplayName = viewModel.DisplayName; }
protected override void OnSelectionChanged(EventArgs e) { base.OnSelectionChanged(e); this.property.Value.SelectedObject = this.SelectedItem; if (this.tableViewModel != null) { this.tableViewModel.PropertyChanged -= TableViewModel_PropertyChanged; } this.tableViewModel = this.SelectedItem as TableTreeViewItemViewModel; if (this.tableViewModel != null) { this.tableViewModel.PropertyChanged += TableViewModel_PropertyChanged; } this.NotifyOfPropertyChange(nameof(this.CanExportToExcel)); }
public override void SelectObject(object obj) { if (this.viewModel != null) { this.viewModel.PropertyChanged -= ViewModel_PropertyChanged; } this.viewModel = obj as TableTreeViewItemViewModel; if (this.viewModel != null) { this.DisplayName = $"{Resources.Title_TableInfo}({this.GetHeader(this.viewModel)})"; this.tableInfo = this.GetTableInfo(this.viewModel); this.viewModel.PropertyChanged += ViewModel_PropertyChanged; } else { this.tableInfo = null; } this.NotifyOfPropertyChange(nameof(this.TableInfo)); this.NotifyOfPropertyChange(nameof(this.IsVisible)); this.NotifyOfPropertyChange(nameof(this.SelectedObject)); }
protected override string GetHeader(TableTreeViewItemViewModel item) { return(item.Header1); }
protected abstract string GetHeader(TableTreeViewItemViewModel item);
protected abstract TableInfo?GetTableInfo(TableTreeViewItemViewModel item);
public TableDocumentItemViewModel(TableTreeViewItemViewModel viewModel) { this.viewModel = viewModel; }