|
#region Header
/* --------------------------------------------------------------------------------------------------------------
* I Software Innovations
* --------------------------------------------------------------------------------------------------------------
* SVG Artieste 2.0
* --------------------------------------------------------------------------------------------------------------
* File : DeleteCommand.cs
* Author : ajaysbritto@yahoo.com
* Date : 20/03/2010
* --------------------------------------------------------------------------------------------------------------
* Change Log
* --------------------------------------------------------------------------------------------------------------
* Author Comments
*/
#endregion Header
namespace Draw.Command
{
using System.Collections;
class DeleteCommand : ICommand
{
#region Fields
private readonly ArrayList _graphicsList;
private readonly ArrayList _graphicsListDeleted;
#endregion Fields
#region Constructors
public DeleteCommand(ArrayList graphicsList)
{
_graphicsList = graphicsList;
_graphicsListDeleted = new ArrayList();
}
//Disable default constructor
private DeleteCommand()
{
}
#endregion Constructors
#region Methods
public void Execute()
{
int n = _graphicsList.Count;
for (int i = n - 1; i >= 0; i--)
{
if (((DrawObject)_graphicsList[i]).Selected)
{
State obj;
obj.Obj = (DrawObject)_graphicsList[i];
obj.Zorder = i;
_graphicsListDeleted.Add(obj);
_graphicsList.RemoveAt(i);
}
}
}
public void UnExecute()
{
for (int i = 0; i < _graphicsListDeleted.Count; i++)
{
//put back whatever is deleted
var obj = (State)_graphicsListDeleted[i];
_graphicsList.Insert(obj.Zorder, obj.Obj);
}
}
#endregion Methods
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
He is a Microsoft technology enthusiast, who wish to create applications which others find useful.He loves making small tools and getting involved in architecting bigger systems.
He is currently working as a professional developer in a software development firm in .Net technologies.
He likes reading technical blogs, contributing to opensource and most importantly, enjoying life.
His ambition is to be an impressive software maker.