コード例 #1
0
        /// <summary>
        /// 오브젝트컬렉션의 모든 오브젝트들을 복사합니다.
        /// </summary>
        /// <returns>복사된 ObjectsCollection</returns>
        public ObjectsCollection Clone()
        {
            ObjectsCollection rtnObj = new ObjectsCollection();

            ArrayList arrNew = new ArrayList();
            Hashtable htNew  = new Hashtable();

            foreach (object o in arrObjects)
            {
                DrawObject obj = CopyObject((DrawObject)o);
                arrNew.Add(obj);
                htNew.Add(obj.Key, obj);
            }
            rtnObj.arrObjects = arrNew;
            rtnObj.htObjects  = htNew;
            return(rtnObj);
        }
コード例 #2
0
        /// <summary>
        /// 오브젝트를 추가하지만 XML파일에 저장하지 않습니다.
        /// </summary>
        /// <param name="o"></param>
        public void AddNotSaveXml(DrawObject o)
        {
            // 인덱스 산출
            o.Id = GetMaxId();

            // 중복체크 후 키값 변경
            int cnt = 0;

            while (htObjects.Contains(o.Key))
            {
                o.Key = String.Format("Object{0}", ++cnt);
            }

            // 컬렉션에 등록
            htObjects.Add(o.Key, o);
            arrObjects.Add(o);
        }
コード例 #3
0
        /// <summary>
        /// 오브젝트를 복사합니다.
        /// </summary>
        /// <param name="src">복사 할 원본 DrawObject</param>
        /// <returns>복사된 DrawObject</returns>
        public DrawObject CopyObject(DrawObject src)
        {
            DrawObject dest = new DrawObject(DrawObjectType.pRectangle);

            dest.ObjectType = src.ObjectType;
            dest.Key        = src.Key;
            dest.Id         = src.Id;
            dest.X          = src.X;
            dest.Y          = src.Y;
            dest.Width      = src.Width;
            dest.Height     = src.Height;
            dest.LineColor  = src.LineColor;
            dest.LineWidth  = src.LineWidth;
            dest.Text       = src.Text;
            dest.FontColor  = src.FontColor;
            dest.FontStyle  = src.FontStyle;
            dest.TextAlign  = src.TextAlign;
            dest.FillColor  = src.FillColor;
            dest.Angle1     = src.Angle1;
            dest.Angle2     = src.Angle2;
            dest.Img        = src.Img;
            return(dest);
        }
コード例 #4
0
 /// <summary>
 /// 오브젝트를 추가하고 XML파일에 저장합니다.
 /// </summary>
 /// <param name="o">DrawObject</param>
 public void Add(DrawObject o)
 {
     Add(o, GetMaxId());
 }