/// <summary> /// Add a new Ui element while adding a new ColumnTargetItem. /// </summary> /// <param name="colonnetargetitem"></param> private void AddColumnTargetItem(object colonnetargetitem) { index = this.panel.Children.Count; this.ActiveColumnsItems = new ColumnsItems(index + 1, isAutomaticTarget); this.listInUsedObject = this.listInUsedObject.Distinct().ToList(); for (int i = this.listInUsedObject.Count - 1; i >= 0; i--) { if (this.listInUsedObject[i] is AutomaticSourcingColumn) { var columnTarget = this.listInUsedObject[i] as AutomaticSourcingColumn; if (columnTarget.columnIndex == ((AutomaticSourcingColumn)colonnetargetitem).columnIndex) { this.listInUsedObject.RemoveAt(i); break; } } else if (this.listInUsedObject[i] is ColumnTargetItem) { var columnTarget = this.listInUsedObject[i] as ColumnTargetItem; if (columnTarget.columnIndex == ((ColumnTargetItem)colonnetargetitem).columnIndex) { this.listInUsedObject.RemoveAt(i); break; } } } AddItemPanel(this.ActiveColumnsItems, this.listInUsedObject); for (int i = 0; i < panel.Children.Count - 1; i++) { ColumnsItems colItems = panel.Children[i] as ColumnsItems; colItems.IsEnabled = false; } }
public void AddItemPanel(ColumnTargetItem item, int index, String colName) { ColumnsItems col = new ColumnsItems(index); col.OnRemoveColumnItem += itemPanel_OnRemoveColumn; col.OnSelectColumnItem += itemPanel_OnSelectColumnItem; if (isAutomaticTarget) { col.OnSelectTarget += itemPanel_OnSelectTarget; } this.panel.Children.Add(col); col.comboBoxColunm.SelectedItem = colName; }
/// <summary> /// Adding a new Ui ColumnsItems and fill it with liste of object. /// </summary> /// <param name="itemPanel"></param> /// <param name="liste"></param> protected void AddItemPanel(ColumnsItems itemPanel, List <object> liste) { itemPanel.OnRemoveColumnItem += itemPanel_OnRemoveColumn; itemPanel.OnSelectColumnItem += itemPanel_OnSelectColumnItem; if (itemPanel.isAutomaticTarget) { itemPanel.OnSelectTarget += itemPanel_OnSelectTarget; } if (liste.Count >= 1) { this.panel.Children.Add(itemPanel); listInUsedObject = liste; FillComboBox(itemPanel.comboBoxColunm, listInUsedObject); } }
/// <summary> /// Adding a liste of Ui ColumnsItems and fill each with an object's list. /// The number of Ui ColumnsItems to add depends on the list of ColumnTargetItem given. /// The number of Ui ColumsItems is listecolumntargetItem.count+1. /// </summary> /// <param name="listecolumntargetItem"></param> /// <param name="liste"></param> public void AddItemPanel(PersistentListChangeHandler <ColumnTargetItem> listecolumntargetItem, List <object> liste) { this.panel.Children.Clear(); List <object> element = listecolumntargetItem.Items.Cast <object>().ToList(); int topIndex = listecolumntargetItem.Items.Count + 1; for (int i = 0; i < topIndex; i++) { ColumnsItems columnItems = new ColumnsItems(i + 1, isAutomaticTarget); if (i < listecolumntargetItem.Items.Count) { for (int p = liste.Count - 1; p >= 0; p--) { if (((AutomaticSourcingColumn)liste[p]).columnIndex == listecolumntargetItem.Items[i].columnIndex) { liste.RemoveAt(p); break; } } } if (i == listecolumntargetItem.Items.Count) { element = liste; this.AddItemPanel(columnItems, liste); return; } else { List <object> currentListe = new List <object>(0); currentListe.Add(listecolumntargetItem.Items[i]); this.AddItemPanel(columnItems, currentListe); columnItems.comboBoxColunm.SelectedItem = currentListe[0]; // columnItems.IsEnabled = false; } } }
/// <summary> /// Event called when removing a ColumnTargetItem. /// </summary> /// <param name="item"></param> private void itemPanel_OnRemoveColumn(object item) { ColumnsItems panel = (ColumnsItems)item; if (panel.comboBoxColunm.SelectedItem != null) { this.listInUsedObject.Add(panel.comboBoxColunm.SelectedItem); } if (this.panel.Children.Count > 1) { this.panel.Children.Remove(panel); if (this.ActiveColumnsItems != null && this.ActiveColumnsItems == panel) { this.ActiveColumnsItems = (ColumnsItems)this.panel.Children[this.panel.Children.Count - 1]; this.listInUsedObject.Add(this.ActiveColumnsItems.comboBoxColunm.SelectedItem); FillComboBox(this.ActiveColumnsItems.comboBoxColunm, this.listInUsedObject); this.ActiveColumnsItems.IsEnabled = true; } int index = 1; int lastPos = this.panel.Children.Count; foreach (object pan in this.panel.Children) { ((ColumnsItems)pan).Index = index++; if (((ColumnsItems)pan).Index == lastPos) { this.listInUsedObject.Add(((ColumnsItems)pan).comboBoxColunm.SelectedItem); ((ColumnsItems)pan).IsEnabled = true; } } if (OnRemoveColumnItem != null) { OnRemoveColumnItem(panel.comboBoxColunm.SelectedItem); } } }