public void SaveAlbumChanges() { AlbumNode aNode = SelectedNode as AlbumNode; if (aNode == null) { PhotoNode pNode = SelectedNode as PhotoNode; if (pNode != null) { aNode = pNode.Parent as AlbumNode; } } if (aNode != null) { AlbumManager mgr = aNode.GetManager(true); if (mgr.Album.HasChanged) { mgr.Save(); aNode.RefreshNode(); if (aNode.IsExpanded) { foreach (PhotoNode pNode in aNode.Nodes) { pNode.RefreshNode(); } } } } }
private void DisplayPhoto(PhotoNode photoNode) { spbxPhoto.Visible = true; lvAlbumList.Visible = false; _currentPhoto = photoNode.Photograph; spbxPhoto.Image = _currentPhoto.Image; }
private bool ExpandAlbum(AlbumNode node) { AlbumManager mgr = node.GetManager(true); if (mgr != null) { BeginUpdate(); try { node.Nodes.Clear(); foreach (Photo p in mgr.Album) { PhotoNode newNode = new PhotoNode(p); node.Nodes.Add(newNode); } return(true); } finally { EndUpdate(); } } else { return(false); } }
internal void SaveAlbumChanges() { // Find the album to save AlbumNode aNode = SelectedNode as AlbumNode; if (aNode == null) { PhotoNode pNode = SelectedNode as PhotoNode; if (pNode != null) { aNode = pNode.Parent as AlbumNode; } } if (aNode != null) { AlbumManager mgr = aNode.GetManager(true); if (mgr.Album.HasChanged) { // Save data and update node mgr.Save(); aNode.RefreshNode(); if (aNode.IsExpanded) { // Update photographs, as necessary foreach (PhotoNode pNode in aNode.Nodes) { // Assumes no photos added / deleted pNode.RefreshNode(); } } } } }
public void SelectChild(AlbumNode node, Photograph photo) { foreach (TreeNode n in node.Nodes) { PhotoNode pNode = n as PhotoNode; if (pNode != null && pNode.Photograph == photo) { SelectedNode = n; break; } } }
protected override void OnAfterLabelEdit(NodeLabelEditEventArgs e) { if (string.IsNullOrEmpty(e.Label)) { e.CancelEdit = true; return; } if (e.Node is AlbumNode) { AlbumNode node = e.Node as AlbumNode; e.CancelEdit = !node.RenameAlbum(e.Label); } else if (e.Node is PhotoNode) { PhotoNode node = e.Node as PhotoNode; node.Photograph.Caption = e.Label; SaveAlbumChanges(); } }
private void ExpandAlbum(AlbumNode node) { AlbumManager mgr = node.GetManager(true); if (mgr != null) { BeginUpdate(); try { node.Nodes.Clear(); foreach (Photograph p in mgr.Album) { PhotoNode newNode = new PhotoNode(p); node.Nodes.Add(newNode); } } finally { EndUpdate(); } } }
private void DisplayTreeNodeProperties() { TreeNode node = atvAlbumTree.SelectedNode; if (node is AlbumNode) { AlbumNode aNode = (AlbumNode)node; AlbumManager mgr = aNode.GetManager(true); if (mgr != null) { DisplayAlbumProperties(mgr); } } else if (node is PhotoNode) { PhotoNode pNode = (PhotoNode)node; DisplayPhotoProperties(pNode.Photograph); } atvAlbumTree.SaveAlbumChanges(); atvAlbumTree.RefreshNode(); }