From 1a1c8e71fcd14858f595029f089b2d4a00202b32 Mon Sep 17 00:00:00 2001
From: ogi <Administrator@S-OGI-PC>
Date: Fri, 05 Dec 2025 09:24:16 +0900
Subject: [PATCH] プロジェクトファイルを追加。

---
 HotelPms.Share.Windows/Component/Design/DesignItemCollection.cs |  180 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 180 insertions(+), 0 deletions(-)

diff --git a/HotelPms.Share.Windows/Component/Design/DesignItemCollection.cs b/HotelPms.Share.Windows/Component/Design/DesignItemCollection.cs
new file mode 100644
index 0000000..ae18428
--- /dev/null
+++ b/HotelPms.Share.Windows/Component/Design/DesignItemCollection.cs
@@ -0,0 +1,180 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace HotelPms.Share.Windows.Component.Design
+{
+    public class DesignItemCollection : CollectionBase
+    {
+         private DesignPanel owner;
+
+        public virtual DesignItem this[int index]
+        {
+            get
+            {
+                return this.List[index] as DesignItem;
+            }
+        }
+
+        public DesignItemCollection(DesignPanel owner)
+            : base()
+		{
+			if (owner == null)
+				throw new ArgumentNullException("owner");
+							
+			this.owner = owner;
+		}
+
+        public DesignItemCollection(DesignPanel owner, DesignItem dateItems)
+                    : this(owner)
+		{
+			this.Add(dateItems);
+		}
+
+        public int IndexOf(DesignItem dateItem)
+        {
+            if (dateItem == null)
+                throw new ArgumentNullException("dateItem");
+
+            for (int i = 0; i < this.Count; i++)
+            {
+                if (this[i] == dateItem)
+                {
+                    return i;
+                }
+            }
+
+            return -1;
+        }
+
+        public void Add(DesignItem value)
+        {
+            int index;
+            if (value == null)
+                throw new ArgumentNullException("value");
+
+            //if (value.Owner == null) { value.Owner = this.owner; }
+
+            index = this.IndexOf(value);
+            if (index == -1)
+                this.List.Add(value);
+            else
+                this.List[index] = value;
+        }
+
+        public void Insert(DesignItem value, int p)
+        {
+            int index;
+            if (value == null)
+                throw new ArgumentNullException("value");
+
+            //if (value.Owner == null) { value.Owner = this.owner; }
+
+            index = this.IndexOf(value);
+            if (index == -1)
+                this.List.Insert(p, value);
+            else
+                this.List[index] = value;
+        }
+
+
+        public void AddRange(DesignItem[] dateItems)
+        {
+            if (dateItems == null)
+                throw new ArgumentNullException("dateItems");
+
+            for (int i = 0; i < dateItems.Length; i++)
+            {
+                //dateItems[i].Owner = owner;
+                this.Add(dateItems[i]);
+            }
+        }
+
+        public void Add(DesignItemCollection dateItems)
+        {
+            if (dateItems == null)
+                throw new ArgumentNullException("dateItems");
+
+            for (int i = 0; i < dateItems.Count; i++)
+            {
+                this.Add(dateItems[i]);
+            }
+        }
+
+        public new void Clear()
+        {
+            while (this.Count > 0)
+            {
+                this.RemoveAt(0);
+            }
+        }
+
+        public bool Contains(DesignItem dateItem)
+        {
+            if (dateItem == null)
+                throw new ArgumentNullException("dateItem");
+
+            return (this.IndexOf(dateItem) != -1);
+        }
+
+
+        public void Remove(DesignItem value)
+        {
+            if (value == null)
+                throw new ArgumentNullException("value");
+
+            this.List.Remove(value);
+
+        }
+
+        public new void RemoveAt(int index)
+        {
+            this.Remove(this[index]);
+        }
+
+        public void Move(DesignItem value, int index)
+        {
+            if (value == null)
+                throw new ArgumentNullException("value");
+
+            if (index < 0)
+            {
+                index = 0;
+            }
+            else if (index > this.Count)
+            {
+                index = this.Count;
+            }
+
+            if (!this.Contains(value) || this.IndexOf(value) == index)
+            {
+                return;
+            }
+
+            this.List.Remove(value);
+
+            if (index > this.Count)
+            {
+                this.List.Add(value);
+            }
+            else
+            {
+                this.List.Insert(index, value);
+            }
+
+        }
+
+        public void MoveToTop(DesignItem value)
+        {
+            this.Move(value, 0);
+        }
+
+
+        public void MoveToBottom(DesignItem value)
+        {
+            this.Move(value, this.Count);
+        }
+    }
+}

--
Gitblit v1.10.0