Changed PrintItemWrapper to have RootedObjectEventHandlers

Fixed lots of code to use them correctly
CompactSlidePanel does not need to reload back panel anymore as that happens in wide screen panel
This commit is contained in:
larsbrubaker 2014-04-21 15:00:32 -07:00
parent 416bc54d2c
commit a1990f10bd
13 changed files with 104 additions and 128 deletions

View file

@ -162,7 +162,7 @@ namespace MatterHackers.MatterControl
{
Close();
SlicingQueue.Instance.QueuePartForSlicing(printItemWrapper);
printItemWrapper.SlicingDone += new EventHandler(sliceItem_Done);
printItemWrapper.SlicingDone.RegisterEvent(sliceItem_Done, ref unregisterEvents);
}
else if (partIsGCode)
{
@ -247,18 +247,12 @@ namespace MatterHackers.MatterControl
}
}
void sliceItem_Done(object sender, EventArgs e)
{
PrintItemWrapper sliceItem = (PrintItemWrapper)sender;
sliceItem.SlicingDone -= new EventHandler(sliceItem_Done);
printItemWrapper.SlicingDone.UnregisterEvent(sliceItem_Done, ref unregisterEvents);
SaveGCodeToNewLocation(sliceItem.GCodePathAndFileName, pathAndFilenameToSave);
}
public void CloseOnIdle()
{
UiThread.RunOnIdle((state) => { Close(); });
}
}
}

View file

@ -62,13 +62,13 @@ namespace MatterHackers.MatterControl
{
if (printItem != null)
{
printItem.FileHasChanged -= item_FileHasChanged;
printItem.FileHasChanged.UnregisterEvent(item_FileHasChanged, ref unregisterEvents);
}
printItem = value;
thumbNailHasBeenRequested = false;
if (printItem != null)
{
printItem.FileHasChanged += item_FileHasChanged;
printItem.FileHasChanged.RegisterEvent(item_FileHasChanged, ref unregisterEvents);
}
}
}
@ -151,7 +151,7 @@ namespace MatterHackers.MatterControl
}
if (printItem != null)
{
printItem.FileHasChanged -= item_FileHasChanged;
printItem.FileHasChanged.UnregisterEvent(item_FileHasChanged, ref unregisterEvents);
}
base.OnClosed(e);
}