public void InsertItems(int index, SyncMenuItemEntity parentItem, List<SyncMenuItemEntity> items, object userData) { }
public void InsertItems(int index, SyncMenuItemEntity parentItem, List<SyncMenuItemEntity> items, object userData) { Console.WriteLine("SyncMenuWindowController - InsertItems - index: {0} items.Count: {1}", index, items.Count); InvokeOnMainThread(delegate { var item = _items.FirstOrDefault(x => x.Entity == parentItem); // Try to search in subitems if(item == null) foreach(var currentItem in _items) foreach(var subItem in currentItem.SubItems) if(subItem.Entity == parentItem) { item = subItem; break; } if(item == null) return; // Clear dummy node and add actual items item.SubItems.Clear(); foreach(var entity in items) { var newItem = new SyncMenuItem(entity); if(entity.ItemType != SyncMenuItemEntityType.Song) newItem.SubItems.Add(new SyncMenuItem(new SyncMenuItemEntity(){ ArtistName = "dummy", AlbumTitle = "dummy" })); item.SubItems.Add(newItem); } outlineView.ReloadData(); }); }
public SyncMenuItem(SyncMenuItemEntity entity) { Entity = entity; StringValue = new NSString(entity.ItemType.ToString()); SubItems = new List<SyncMenuItem>(); }
public void InsertItems(int index, SyncMenuItemEntity parentItem, List<SyncMenuItemEntity> items, object userData) { Gtk.Application.Invoke(delegate{ Console.WriteLine("SyncMenuWindow - InsertItems - index {0}", index); TreeIter treeIter = (TreeIter)userData; //Gtk.TreePath treePath = new TreePath((index-1).ToString()); //_storeItems.GetIter(out treeIter, treePath); //object stuff = _storeItems.GetValue(treeIter, 0); //_storeItems.IterNthChild(out treeIter, index-1); TreeIter treeIterDummy; _storeItems.IterNthChild(out treeIterDummy, treeIter, 0); //object stuff2 = _storeItems.GetValue(treeIterDummy, 0); // Add new children foreach(var item in items) { TreeIter treeIterChild = _storeItems.AppendValues(treeIter, item); if(item.ItemType == SyncMenuItemEntityType.Album) { // Add dummy cell _storeItems.AppendValues(treeIterChild, new SyncMenuItemEntity(){ ItemType = SyncMenuItemEntityType.Song, ArtistName = "dummy", AlbumTitle = "dummy" }); } } // Remove dummy node _storeItems.Remove(ref treeIterDummy); }); }
public void InsertItems(int index, SyncMenuItemEntity parentItem, List<SyncMenuItemEntity> items, object userData) { InvokeOnMainThread(() => { _items.InsertRange(index, items); List<NSIndexPath> indexPaths = new List<NSIndexPath>(); for(int a = index; a < index + items.Count; a++) indexPaths.Add(NSIndexPath.FromRowSection(a, 0)); tableView.InsertRows(indexPaths.ToArray(), UITableViewRowAnimation.Top); }); }
public void InsertItems(int index, SyncMenuItemEntity parentItem, List<SyncMenuItemEntity> items, object userData) { RunOnUiThread(() => { _items.InsertRange(index, items); _listAdapter.SetData(_items); }); }