Example #1
0
        public void CommandEdit(object param)
        {
            if (!ObjectExists(param))
            {
                return;
            }

            Guid        uid      = (Guid)param;
            ObjectPool  objPool  = Editor.Project.ObjectPoolManager.PoolFromItemKey(uid);
            ObjectClass objClass = objPool.GetObject(uid);

            using (ImportObject form = new ImportObject(objClass)) {
                foreach (ObjectClass obj in objPool.Objects)
                {
                    if (obj.Name != objClass.Name)
                    {
                        form.ReservedNames.Add(obj.Name);
                    }
                }

                if (form.ShowDialog() == DialogResult.OK)
                {
                    using (objClass.BeginModify()) {
                        if (form.SourceImage != null)
                        {
                            objClass.Image = form.SourceImage;
                        }
                        objClass.TrySetName(form.ObjectName);
                        objClass.MaskBounds = new Rectangle(form.MaskLeft ?? 0, form.MaskTop ?? 0,
                                                            (form.MaskRight ?? 0) - (form.MaskLeft ?? 0), (form.MaskBottom ?? 0) - (form.MaskTop ?? 0));
                        objClass.Origin = new Point(form.OriginX ?? 0, form.OriginY ?? 0);
                    }
                }
            }
        }