done button working

This commit is contained in:
Tim Young 2017-09-20 12:39:34 -05:00
parent 201e42b370
commit 08b7dbd9a1
2 changed files with 35 additions and 5 deletions

View File

@ -163,6 +163,7 @@
this.btnDone.TabIndex = 8; this.btnDone.TabIndex = 8;
this.btnDone.Text = "Done"; this.btnDone.Text = "Done";
this.btnDone.UseVisualStyleBackColor = true; this.btnDone.UseVisualStyleBackColor = true;
this.btnDone.Click += new System.EventHandler(this.btnDone_Click);
// //
// btnCancel // btnCancel
// //

View File

@ -476,13 +476,35 @@ namespace SpriteLibrary
} }
void ApplyChanges() int IndexOfName(string spritname)
{
for(int i=0; i< SpriteInformation.Count; i++)
{
if (SpriteInformation[i].SpriteName == spritname)
return i;
}
return -1;
}
bool VerifySpriteBeforeSaving()
{ {
if (tbSpriteName.Text == "") if (tbSpriteName.Text == "")
{ {
MessageBox.Show("You cannot save a sprite that has no name."); MessageBox.Show("You cannot save a sprite that has no name.");
return; return false;
} }
int index = IndexOfName(tbSpriteName.Text);
if(index != CurrentSIIndex && index != -1)
{
MessageBox.Show("You cannot have two sprites with the same name.");
return false;
}
return true;
}
void ApplyChanges()
{
if (!VerifySpriteBeforeSaving()) return;
FormToSpriteInformation(); FormToSpriteInformation();
if (CurrentSIIndex > 0 && CurrentSIIndex < SpriteInformation.Count) if (CurrentSIIndex > 0 && CurrentSIIndex < SpriteInformation.Count)
{ {
@ -503,10 +525,9 @@ namespace SpriteLibrary
/// <returns></returns> /// <returns></returns>
bool PromptToApplyChangesAndContinue() bool PromptToApplyChangesAndContinue()
{ {
if (tbSpriteName.Text == "") if (!VerifySpriteBeforeSaving())
{ {
MessageBox.Show("You cannot save a sprite that has no name."); return true; //We could not verify, say we canceled out.
return true;
} }
if (ValuesDifferFromData()) if (ValuesDifferFromData())
{ {
@ -712,5 +733,13 @@ namespace SpriteLibrary
WeHaveNewItem(); WeHaveNewItem();
} }
} }
private void btnDone_Click(object sender, EventArgs e)
{
if (PromptToApplyChangesAndContinue())
{
Close();
}
}
} }
} }