コード例 #1
0
        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();
                        }
                    }
                }
            }
        }
コード例 #2
0
        private void ListPhotoData(AlbumNode albumNode)
        {
            // Show photograps in list view
            spbxPhoto.Visible   = false;
            lvAlbumList.Visible = true;
            ShowingAlbums       = true;

            //Presume contents cleared, so recreate columns
            lvAlbumList.Columns.Add("Caption", 120);
            lvAlbumList.Columns.Add("Photographer", 100);
            lvAlbumList.Columns.Add("Taken", 80, HorizontalAlignment.Center);
            lvAlbumList.Columns.Add("File Name", 200);

            // Add the photos for given node
            AlbumManager mgr = albumNode.GetManager(true);

            if (mgr != null)
            {
                foreach (Photograph p in mgr.Album)
                {
                    ListViewItem item = new ListViewItem(p.Caption, "Photo");
                    AssignSubItems(item, p);
                    lvAlbumList.Items.Add(item);
                }
            }
        }
コード例 #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();
                        }
                    }
                }
            }
        }
コード例 #5
0
        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(); }
            }
        }
コード例 #6
0
        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();
        }
コード例 #7
0
        private void ListPhotoData(AlbumNode albumNode)
        {
            spbxPhoto.Visible   = false;
            lvAlbumList.Visible = true;
            ShowingAlbums       = false;

            lvAlbumList.Columns.Add("Caption", 120);
            lvAlbumList.Columns.Add("Photographer", 100);
            lvAlbumList.Columns.Add("Taken", 80, HorizontalAlignment.Center);
            lvAlbumList.Columns.Add("File Name", 200);

            AlbumManager mgr = albumNode.GetManager(true);

            if (mgr != null)
            {
                foreach (Photograph p in mgr.Album)
                {
                    ListViewItem item = new ListViewItem(p.Caption, "Photp");
                    AssignSubItems(item, p);
                    lvAlbumList.Items.Add(item);
                }
            }
        }