protected void SetButtonStates() { // If we don't have leveling data and we need it bool showSetupButton = PrintLevelingData.NeedsToBeRun(printer) || ProbeCalibrationWizard.NeedsToBeRun(printer) || LoadFilamentWizard.NeedsToBeRun(printer); switch (printer.Connection.CommunicationState) { case CommunicationStates.FinishedPrint: case CommunicationStates.Connected: if (showSetupButton) { startPrintButton.Visible = false; finishSetupButton.Visible = true; finishSetupButton.Enabled = true; theme.ApplyPrimaryActionStyle(finishSetupButton); } else { startPrintButton.Visible = true; startPrintButton.Enabled = true; finishSetupButton.Visible = false; theme.ApplyPrimaryActionStyle(startPrintButton); } break; case CommunicationStates.PrintingFromSd: case CommunicationStates.Printing: case CommunicationStates.Paused: default: if (showSetupButton) { startPrintButton.Visible = false; finishSetupButton.Visible = true; finishSetupButton.Enabled = false; theme.RemovePrimaryActionStyle(finishSetupButton); } else { startPrintButton.Visible = true; startPrintButton.Enabled = false; finishSetupButton.Visible = false; theme.RemovePrimaryActionStyle(startPrintButton); } break; } }
public static bool SetupRequired(PrinterConfig printer) { return(LevelingValidation.NeedsToBeRun(printer) || // PrintLevelingWizard ProbeCalibrationWizard.NeedsToBeRun(printer) || FilamentSetupWizard.SetupRequired(printer)); }