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;
 }
예제 #3
0
        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);
            }
        }
예제 #4
0
        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();
        }