Beispiel #1
0
 /// <summary>
 /// Add a workspace at the end of the folder specified. Throw an
 /// exception on error.
 /// </summary>
 public KwsBrowserKwsNode AddKws(Workspace kws, KwsBrowserFolderNode dstFolder, bool firstFlag)
 {
     if (m_kwsTree.ContainsKey(kws.InternalID)) throw new Exception(Base.GetKwsString() + "already exist");
     if (dstFolder.IsRoot()) throw new Exception(Base.GetKwsString() + " must be in folders");
     KwsBrowserKwsNode node = new KwsBrowserKwsNode(kws);
     dstFolder.AddNode(node, firstFlag ? 0 : dstFolder.KwsNodes.Count);
     m_kwsTree[kws.InternalID] = node;
     return node;
 }
Beispiel #2
0
        /// <summary>
        /// Move the node at the source specified to the destination specified
        /// with the index specified. Throw an exception on error.
        /// </summary>
        public void Move(KwsBrowserNode srcNode, KwsBrowserFolderNode dstFolder, String dstName, int dstIndex)
        {
            String MoveCheckRes = MoveCheck(srcNode, dstFolder, dstName, dstIndex);
            if (MoveCheckRes != null) throw new Exception(MoveCheckRes);

            // Adjust the destination index if we're moving the source node
            // to the last index of a different folder than its parent.
            if (dstFolder.GetNodeByID(srcNode.ID) == null &&
                dstIndex + 1 == dstFolder.KwsNodes.Count)
            {
                dstIndex++;
            }

            srcNode.Parent.RemoveNode(srcNode);
            if (srcNode is KwsBrowserFolderNode) ((KwsBrowserFolderNode)srcNode).FolderName = dstName;
            dstFolder.AddNode(srcNode, dstIndex);

            // The workspace list has changed.
            m_wm.OutlookBroker.OnKwsListChanged();
        }
Beispiel #3
0
 /// <summary>
 /// Add a folder with the name specified at the end of the folder
 /// specified. Throw an exception on error.
 /// </summary>
 public KwsBrowserFolderNode AddFolder(KwsBrowserFolderNode dstFolder, String name)
 {
     if (!KwsBrowserFolderNode.IsValidFolderName(name)) throw new Exception("invalid folder name");
     KwsBrowserFolderNode node = new KwsBrowserFolderNode(name);
     if (dstFolder.GetNodeByID(node.ID) != null) throw new Exception("destination already exists");
     dstFolder.AddNode(node, dstFolder.FolderNodes.Count);
     return node;
 }