예제 #1
0
파일: QEngine_XML.cs 프로젝트: Zexks/QLite
        public static void AddMenu(QueryMenuItem inItem)
        {
            foreach (XmlNode node in Global.QliteDefaults.XmlDefaults.ChildNodes[0])
                if (node.Name.ToUpper() == "QUERIES")
                { node.AppendChild(CreateMenuNode(inItem)); break; }

            using (FileStream WRITER = new FileStream(Global.QliteDefaults.XmlFileName, FileMode.Truncate, FileAccess.Write, FileShare.ReadWrite))
            { Global.QliteDefaults.XmlDefaults.Save(WRITER); WRITER.Close(); }
        }
예제 #2
0
파일: QueryMenu.cs 프로젝트: Zexks/QLite
 public void MoveMenu(int target, QueryMenuItem menu)
 {
     int idx = _MenuItems.IndexOf(menu);
     _MenuItems.RemoveAt(idx);
     if (target >= _MenuItems.Count) { _MenuItems.Add(menu); }
     else { _MenuItems.Insert(target, menu); }
     idx = _MenuItems.IndexOf(menu);
     //foreach (Query query in _MenuItems[idx].QuerySet) _MenuItems[idx].QuerySet[_MenuItems[idx].QuerySet.IndexOf(query)].Parent = target;
     _MenuItems.UpdateIndex();
     AlignControls();
 }
예제 #3
0
 public void Remove(QueryMenuItem item)
 {
     this.InnerList.Remove(item);
 }
예제 #4
0
 public void Insert(int index, QueryMenuItem item)
 {
     this.List.Insert(index, item);
 }
예제 #5
0
 public int IndexOf(QueryMenuItem item)
 {
     return base.List.IndexOf(item);
 }
예제 #6
0
 public bool Contains(QueryMenuItem item)
 {
     return this.List.Contains(item);
 }
예제 #7
0
 public void AddRange(QueryMenuItem[] collection)
 {
     this.AddRange(collection);
 }
예제 #8
0
 public int Add(QueryMenuItem item)
 {
     return this.List.Add(item);
 }
예제 #9
0
파일: QueryMenu.cs 프로젝트: Zexks/QLite
 public QueryMenuItem CreateMenuItem(XmlNode menuItem)
 {
     QueryMenuItem item = new QueryMenuItem();
     foreach (XmlAttribute att in menuItem.Attributes)
         switch (att.Name.ToUpper())
         {
             case "TITLE":
                 item.Name = att.Value.ToString();
                 break;
             case "TYPE":
                 item.Index = Convert.ToInt32(att.Value);
                 break;
         }
     return item;
 }
예제 #10
0
파일: QEngine_XML.cs 프로젝트: Zexks/QLite
 private static XmlNode CreateMenuNode(QueryMenuItem menu)
 {
     XmlNode newMenuNode = Global.QliteDefaults.XmlDefaults.CreateNode(XmlNodeType.Element, "Item", Global.QliteDefaults.XmlDefaults.NamespaceURI);
     newMenuNode.Attributes.Append(Global.QliteDefaults.XmlDefaults.CreateAttribute("Title"));
     newMenuNode.Attributes[0].Value = menu.Name;
     newMenuNode.Attributes.Append(Global.QliteDefaults.XmlDefaults.CreateAttribute("Type"));
     newMenuNode.Attributes[1].Value = menu.Index.ToString();
     return newMenuNode;
 }
예제 #11
0
파일: QEngine_XML.cs 프로젝트: Zexks/QLite
 public static void UpdateMenu(QueryMenuItem newItem, QueryMenuItem oldItem)
 {
     foreach (XmlNode node in Global.QliteDefaults.XmlDefaults.ChildNodes[0])
         if (node.Name.ToUpper() == "MENUS")
             foreach (XmlNode node2 in node.ChildNodes)
                 if (node2.Name.ToUpper() == "QUERYMENU")
                     foreach (XmlNode menuNode in node2.ChildNodes)
                         if (oldItem.Name.ToUpper() == menuNode.Attributes[0].Value.ToUpper())
                         { node2.ReplaceChild(CreateMenuNode(newItem), menuNode); goto Finish; }
     Finish:
     using (FileStream WRITER = new FileStream(Global.QliteDefaults.XmlFileName, FileMode.Truncate, FileAccess.Write, FileShare.ReadWrite))
     { Global.QliteDefaults.XmlDefaults.Save(WRITER); WRITER.Close(); }
 }
예제 #12
0
파일: QEngine_XML.cs 프로젝트: Zexks/QLite
 public static void DeleteMenu(QueryMenuItem inItem)
 {
     foreach (XmlNode node in Global.QliteDefaults.XmlDefaults.ChildNodes[0])
         if (node.Name.ToUpper() == "MENUS")
             foreach (XmlNode node2 in node.ChildNodes)
                 if (node2.Name.ToUpper() == "QUERYMENU")
                     foreach (XmlNode menuNode in node2.ChildNodes)
                         foreach (XmlAttribute att in menuNode.Attributes)
                             if (att.Name.ToUpper() == "TITLE")
                                 if (att.Value.ToUpper() == inItem.Name.ToUpper())
                                 { node2.RemoveChild(menuNode); goto Finish; }
     Finish:
     using (FileStream WRITER = new FileStream(Global.QliteDefaults.XmlFileName, FileMode.Truncate, FileAccess.Write, FileShare.ReadWrite))
     { Global.QliteDefaults.XmlDefaults.Save(WRITER); WRITER.Close(); }
 }
예제 #13
0
 public bool CompareQuerySet(QueryMenuItem item)
 {
     if (item.QuerySet.Count != QuerySet.Count) return false;
     else for (int i = 0; i < QuerySet.Count; i++)
             if (!QuerySet[i].CompareQuery(item.QuerySet[i])) return false;
     return true;
 }
예제 #14
0
 public bool CompareItem(QueryMenuItem item)
 {
     if (Index != item.Index) return false;
     if (Name != item.Name) return false;
     return true;
 }