Ensure single printer tab only, add support for AddTab(widget, index)

- Issue MatterHackers/MCCentral#3303
Don't open the same printer 2x when selecting a different plate
This commit is contained in:
John Lewin 2018-05-08 08:53:37 -07:00
parent 1b01fb1e55
commit 3e600cfd6e
3 changed files with 50 additions and 11 deletions

View file

@ -184,6 +184,16 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
internal ChromeTab CreatePrinterTab(PrinterConfig printer, ThemeConfig theme, string tabTitle)
{
// Printer page is in fixed position. If exists, save and close
var tab1 = tabControl.AllTabs.Skip(1).FirstOrDefault();
if (tab1?.TabContent is PrinterTabPage printerTabPage)
{
// TODO - call save before remove
// printerTabPage.sceneContext.SaveChanges();
tabControl.RemoveTab(tab1);
}
printerTab = new ChromeTab(
tabTitle,
tabControl,
@ -195,7 +205,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
MinimumSize = new Vector2(120, theme.TabButtonHeight)
};
tabControl.AddTab(printerTab);
// Add printer into fixed position
tabControl.AddTab(printerTab, 1);
return printerTab;
}