示例#1
0
        public static bool OpenPropEditorForm(FCYResPackageDataNode tNode)
        {
            PropEditor tForm = new PropEditor(tNode.IsCompressed, tNode.AdditionData, tNode.Name);

            if (tForm.ShowDialog() == DialogResult.Cancel)
            {
                tForm.Dispose();
                return false;
            }
            else
            {
                tNode.IsCompressed = tForm.checkBox1.Checked;
                tNode.AdditionData = tForm.textBox1.Text;
                try
                {
                    if(tNode.Name != tForm.textBox2.Text)
                        tNode.Name = tForm.textBox2.Text;
                }
                catch(FCYExcpNameErr)
                {
                    MessageBox.Show("修改节点名称失败。可能存在同名节点或者节点名称不合法。", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

                tForm.Dispose();
                return true;
            }
        }
示例#2
0
 /// <summary>
 /// 追加节点
 /// </summary>
 /// <param name="Node">节点</param>
 public void Add(FCYResPackageNode Node)
 {
     if (Contains(Node.Name))
     {
         throw new FCYExcpNameErr("Name exsited.");
     }
     if (FCYResPackageDataNode.CheckName(Node.Name) == false)
     {
         throw new FCYExcpNameErr("Invalid Name.");
     }
     else
     {
         NodeList.Add(Node);
     }
 }
示例#3
0
        /// <summary>
        /// 从Xml创建文件夹节点
        /// </summary>
        /// <param name="Package">绑定的资源包</param>
        /// <param name="Parent">父节点</param>
        /// <param name="XmlNode">Xml节点</param>
        public FCYResPackageFloderNode(FCYResPackage Package, FCYResPackageFloderNode Parent, XmlElement XmlNode)
            : base(Parent, XmlNode.HasAttribute("Name") ? XmlNode.GetAttribute("Name") : "")
        {
            m_NodeList.Clear();

            foreach (XmlElement x in XmlNode)
            {
                if (x.Name == "Floder")
                {
                    FCYResPackageFloderNode tFloder = new FCYResPackageFloderNode(Package, this, x);
                    Add(tFloder);
                }
                else
                {
                    FCYResPackageDataNode tData = new FCYResPackageDataNode(Package, this, x);
                    Add(tData);
                }
            }
        }
示例#4
0
        /// <summary>
        /// 从Xml创建文件夹节点
        /// </summary>
        /// <param name="Package">绑定的资源包</param>
        /// <param name="Parent">父节点</param>
        /// <param name="XmlNode">Xml节点</param>
        public FCYResPackageFloderNode(FCYResPackage Package, FCYResPackageFloderNode Parent, XmlElement XmlNode)
            : base(Parent, XmlNode.HasAttribute("Name") ? XmlNode.GetAttribute("Name") : "")
        {
            m_NodeList.Clear();

            foreach (XmlElement x in XmlNode)
            {
                if (x.Name == "Floder")
                {
                    FCYResPackageFloderNode tFloder = new FCYResPackageFloderNode(Package, this, x);
                    Add(tFloder);
                }
                else
                {
                    FCYResPackageDataNode tData = new FCYResPackageDataNode(Package, this, x);
                    Add(tData);
                }
            }
        }
示例#5
0
        // --- 创建流 ---
        private void ToolStripMenuItem_CreateStream_Click(object sender, EventArgs e)
        {
            // 获得父节点
            TreeNode tParent = treeView_Main.SelectedNode;
            if (tParent != null)
            {
                // 检查父节点
                if (!((FCYResPackageNode)tParent.Tag).IsFloder())
                {
                    showErr("请选择一个文件夹节点。");
                    return;
                }

                // 获得父节点
                FCYResPackageFloderNode tParentFloder = (FCYResPackageFloderNode)tParent.Tag;

                // 获得新节点名称
                string tNodeName = "";
                string tFileName = "";
                string tAddition = "";
                bool tCompress = false;

                if (!CreateStreamForm.OpenCreateStreamForm(treeView_Main.SelectedNode.FullPath, ref tNodeName, ref tFileName, ref tAddition, ref tCompress))
                    return;

                if (tNodeName == "")
                {
                    showErr("无效的名称。");
                    return;
                }

                // 创建节点
                FCYResPackageDataNode tNewSubNode = new FCYResPackageDataNode((FCYResPackage)treeView_Main.Tag, tParentFloder, tNodeName, tFileName);

                // 尝试加入
                try
                {
                    tParentFloder.Add(tNewSubNode);
                }
                catch
                {
                    showErr("节点名已存在或者无效。");
                    return;
                }

                // 设置属性
                tNewSubNode.IsCompressed = tCompress;
                tNewSubNode.AdditionData = tAddition;

                // 创建树节点
                TreeNode tTreeNode = new TreeNode(tNodeName, 1, 1);
                tTreeNode.Tag = tNewSubNode;

                // 加入
                tParent.Nodes.Add(tTreeNode);
                tParent.Expand();
            }
        }