Beispiel #1
0
        private void Callback(ButtonWidget button, SpoolerMessage message, PopupMessageBox parentFrame, XMLFrame childFrame, object data)
        {
            if (button.ID == 301)
            {
                m_bRememberUserDecision = button.Checked;
            }
            else
            {
                if (button.ID != 101 && button.ID != 102)
                {
                    return;
                }

                parentFrame.CloseCurrent();
                if (button.ID == 101)
                {
                    if (m_bRememberUserDecision)
                    {
                        UpdaterMode = Updater.UpdateSettings.DownloadInstall;
                    }

                    StartInstall();
                }
                else
                {
                    if (!m_bRememberUserDecision)
                    {
                        return;
                    }

                    UpdaterMode = Updater.UpdateSettings.NoAction;
                    parentFrame.AddMessageToQueue("You can check for future updates in the \"Settings\" menu under \"User Interface Options\".", "Software Update", PopupMessageBox.MessageBoxButtons.OK, null);
                }
            }
        }
Beispiel #2
0
        private void RemoveModelButtonCallback(ButtonWidget button, SpoolerMessage message, PopupMessageBox parentFrame, XMLFrame childFrame, object data)
        {
            if (button.tag == "dontshowcheckbox")
            {
                settings.CurrentAppearanceSettings.ShowRemoveModelWarning = !button.Checked;
            }
            else
            {
                if (button.tag == "Remove")
                {
                    printerview.RemovePrintableModels();
                    settings.CurrentAppearanceSettings.UseMultipleModels = false;
                }
                else if (button.tag == "Continue")
                {
                    settings.CurrentAppearanceSettings.UseMultipleModels = true;
                }

                if (data is ModelLoadingManager.AsyncModelLoadData state)
                {
                    IncFilesLoading();
                    StartLoadModelThread(state);
                }
                parentFrame.CloseCurrent();
            }
        }
Beispiel #3
0
        public void ProcessLoggerMessage(SpoolerMessage message)
        {
            var str1 = Base64Convert.Base64Decode(message.Message);

            if (message.Type == MessageType.LoggingMessage)
            {
                lock (general_log)
                {
                    general_log.Enqueue(message.SerialNumber.ToString() + "::" + str1);
                    log_updated = true;
                }
            }
            else
            {
                if (message.Type != MessageType.FullLoggingData)
                {
                    return;
                }

                string[] strArray = str1.Split('\n');
                lock (general_log)
                {
                    general_log.Clear();
                    foreach (var str2 in strArray)
                    {
                        general_log.Enqueue(message.SerialNumber.ToString() + "::" + str2);
                    }

                    log_updated = true;
                }
            }
        }
Beispiel #4
0
 private bool ProcessHandshakingPrinter()
 {
     if (!DoInitialHandShaking())
     {
         if (!serial_failed_list.ContainsKey(ComPort))
         {
             PrinterConnection.ConnectAttemptData connectAttemptData;
             connectAttemptData.time         = DateTime.Now;
             connectAttemptData.message_sent = false;
             serial_failed_list.TryAdd(ComPort, connectAttemptData);
         }
         else
         {
             if (serial_failed_list.TryGetValue(ComPort, out ConnectAttemptData comparisonValue) && ((DateTime.Now - comparisonValue.time).Seconds > 30 && !comparisonValue.message_sent))
             {
                 PrinterConnection.ConnectAttemptData newValue;
                 newValue.time         = comparisonValue.time;
                 newValue.message_sent = true;
                 serial_failed_list.TryUpdate(ComPort, newValue, comparisonValue);
                 var spoolerMessage = new SpoolerMessage(MessageType.FirmwareErrorCyclePower, new PrinterSerialNumber("0000000000000000"), "null");
                 if (broadcastserver != null)
                 {
                     broadcastserver.BroadcastMessage(spoolerMessage.Serialize());
                 }
             }
         }
         IsAlive = false;
     }
     else if (serial_failed_list.ContainsKey(ComPort))
     {
         serial_failed_list.TryRemove(ComPort, out ConnectAttemptData connectAttemptData);
     }
     return(IsAlive);
 }
Beispiel #5
0
 public void AddMessageToQueue(SpoolerMessage message, PopupMessageBox.MessageBoxButtons buttons, PopupMessageBox.OnUserSelectionDel callback, object data)
 {
     lock (threadsync_standardmsgs)
     {
         standard_queue.Enqueue(new PopupMessageBox.MessageDataStandard(message, buttons, callback, data));
     }
 }
Beispiel #6
0
        private void XMLButtonCallback(ButtonWidget button, SpoolerMessage message, PopupMessageBox parentFrame, XMLFrame childFrame, object data)
        {
            var childElement = (ButtonWidget)childFrame.FindChildElement(301);

            if (button.ID == 301)
            {
                return;
            }

            settings.Settings.miscSettings.FileAssociations.ShowFileAssociationsDialog = !childElement.Checked;
            switch (button.ID)
            {
            case 101:
                FileAssociations.Set3DFileAssociation(".stl", "STL_M3D_Printer_GUI_file", ExecutablePath, "M3D file (.stl)", IconPath);
                FileAssociations.Set3DFileAssociation(".obj", "OBJ_M3D_Printer_GUI_file", ExecutablePath, "M3D file (.obj)", IconPath);
                break;

            case 102:
                FileAssociations.Delete3DFileAssociation(".stl", "STL_M3D_Printer_GUI_file");
                FileAssociations.Delete3DFileAssociation(".obj", "OBJ_M3D_Printer_GUI_file");
                break;
            }
            parentFrame.AllowMessages = allow_messages;
            parentFrame.CloseCurrent();
        }
Beispiel #7
0
        private void PrinterMessageCallback(SpoolerMessage message)
        {
            if (current_frame == null || message.Type != MessageType.PrinterTimeout && message.Type != MessageType.BedLocationMustBeCalibrated && (message.Type != MessageType.BedOrientationMustBeCalibrated && message.Type != MessageType.CheckGantryClips) && message.Type != MessageType.PrinterError)
            {
                return;
            }

            switch ((Manage3DInkMainWindow.PageID)current_frame.ID)
            {
            case Manage3DInkMainWindow.PageID.Page0_StartupPage:
            case Manage3DInkMainWindow.PageID.Page1_HeatingNozzle:
            case Manage3DInkMainWindow.PageID.Page2_RetractingFilament:
            case Manage3DInkMainWindow.PageID.Page3_HasRetractedFilament:
            case Manage3DInkMainWindow.PageID.Page4_InsertNewFilament:
            case Manage3DInkMainWindow.PageID.Page5_HasFilamentExited:
                PrinterObject selectedPrinter = GetSelectedPrinter();
                if (selectedPrinter == null || !(selectedPrinter.Info.serial_number == message.SerialNumber))
                {
                    break;
                }

                ResetToStartup();
                break;
            }
        }
Beispiel #8
0
        private void TypeMismatchButtonCallback(ButtonWidget button, SpoolerMessage message, PopupMessageBox parentFrame, XMLFrame childFrame, object data)
        {
            if (button.tag == "Yes")
            {
                if (data is ModelLoadingManager.PrinterViewLoadData data1)
                {
                    LoadPrinterView(data1);
                }

                parentFrame.CloseCurrent();
            }
            else if (button.tag == "No")
            {
                parentFrame.CloseCurrent();
            }
            else
            {
                if (!(button.tag == "dontshowcheckbox"))
                {
                    return;
                }

                settings.CurrentAppearanceSettings.ShowPrinterMismatchWarning = !button.Checked;
            }
        }
Beispiel #9
0
 public MessageDataXML(SpoolerMessage message, string xmlsource, PopupMessageBox.XMLButtonCallback buttonCallback, object data, ElementStandardDelegate onUpdateCallback, PopupMessageBox.XMLOnShow onShowCallback)
 {
     this.message          = message;
     this.xmlsource        = xmlsource;
     this.buttonCallback   = buttonCallback;
     this.data             = data;
     this.onUpdateCallback = onUpdateCallback;
     this.onShowCallback   = onShowCallback;
 }
Beispiel #10
0
 public void SetMessageXML(SpoolerMessage message, string message_box_xml)
 {
     Sprite.pixel_perfect = true;
     this.message         = message;
     child_frame.Init(host, message_box_xml, new ButtonCallback(XMLFormButtonCallback));
     child_frame.DoOnUpdate = XMLOnUpdateCallback;
     child_frame.Refresh();
     host.SetFocus(child_frame);
     Sprite.pixel_perfect = false;
 }
Beispiel #11
0
 public MessageDataStandard(SpoolerMessage message, string title, PopupMessageBox.MessageBoxButtons buttons, PopupMessageBox.OnUserSelectionDel OnSelectionCallback, object data)
 {
     this.message        = message;
     this.buttons        = buttons;
     OnSelection         = OnSelectionCallback;
     this.data           = data;
     this.title          = title;
     custom_button1_text = null;
     custom_button2_text = null;
     custom_button3_text = null;
 }
Beispiel #12
0
        private void PrinterLoggerCallback(string message, string printer_serial)
        {
            if (printer_serial == "Detecting")
            {
                message        = "Detecting>" + message;
                printer_serial = "00-00-00-00-00-000-000";
            }
            var spoolerMessage = new SpoolerMessage(MessageType.LoggingMessage, new PrinterSerialNumber(printer_serial), Base64Convert.Base64Encode(message));

            lock (logging_queue)
            {
                logging_queue.Add(spoolerMessage);
            }
        }
Beispiel #13
0
        public void BroadcastPluginMessage(SpoolerMessage message)
        {
            if (message.Type != MessageType.PluginMessage)
            {
                return;
            }

            if (clientID != Guid.Empty)
            {
                BroadcastServer.SendMessageToClient(clientID, message.Serialize());
            }
            else
            {
                BroadcastServer.BroadcastMessage(message.Serialize());
            }
        }
Beispiel #14
0
        private static void ButtonCallback(ButtonWidget button, SpoolerMessage message, PopupMessageBox parentFrame, XMLFrame childFrame, object data)
        {
            if (button.ID == 101)
            {
                parentFrame.CloseCurrent();
            }
            else
            {
                if (button.ID != 102)
                {
                    return;
                }

                UpdateDownloadingDialog.updater.CancelDownloadUpdate();
                parentFrame.CloseCurrent();
            }
        }
Beispiel #15
0
        public void SendMessageToConnectedPrinter(PrinterSerialNumber sn, SpoolerMessage message)
        {
            var printerObject = (PrinterObject)null;

            lock (connected_printers)
            {
                foreach (PrinterObject connectedPrinter in connected_printers)
                {
                    if (connectedPrinter.Info.serial_number == sn)
                    {
                        printerObject = connectedPrinter;
                        break;
                    }
                }
            }
            printerObject?.ProcessSpoolerMessage(message);
        }
Beispiel #16
0
        public void OnSpoolerMessage(SpoolerMessage translated_message)
        {
            if (spooler_client.ClientCount != 0 || translated_message.Type != MessageType.FirmwareUpdateComplete && translated_message.Type != MessageType.FirmwareUpdateFailed && (translated_message.Type != MessageType.InvalidZ && translated_message.Type != MessageType.ModelOutOfPrintableBounds) && (translated_message.Type != MessageType.UserDefined && translated_message.Type != MessageType.FirmwareErrorCyclePower && (translated_message.Type != MessageType.WarningABSPrintLarge && translated_message.Type != MessageType.BacklashOutOfRange)) && (translated_message.Type != MessageType.BedLocationMustBeCalibrated && translated_message.Type != MessageType.BedOrientationMustBeCalibrated && (translated_message.Type != MessageType.CheckGantryClips && translated_message.Type != MessageType.UnexpectedDisconnect) && (translated_message.Type != MessageType.MultiPointCalibrationNotSupported && translated_message.Type != MessageType.SDPrintIncompatibleFilament && (translated_message.Type != MessageType.SinglePointCalibrationNotSupported && translated_message.Type != MessageType.PowerOutageWhilePrinting))))
            {
                return;
            }

            lock (threadsync)
            {
                if (queued_messages.Contains(translated_message) || mPrevMessageType == MessageType.BedOrientationMustBeCalibrated && mPrevMessageType == translated_message.Type)
                {
                    return;
                }

                mPrevMessageType = translated_message.Type;
                queued_messages.Enqueue(translated_message);
            }
        }
Beispiel #17
0
        public string TranslateSpoolerMessage(SpoolerMessage incoming_messsage)
        {
            switch (incoming_messsage.Type)
            {
            case MessageType.FirmwareUpdateComplete:
            case MessageType.FirmwareMustBeUpdated:
                return(Locale.GlobalLocale.T("T_FIRMWARE_UPDATE_COMPLETE"));

            case MessageType.ResetPrinterConnection:
            case MessageType.FirmwareErrorCyclePower:
                return("Your printer is taking longer than usual. " + Locale.GlobalLocale.T("T_CYCLE_POWER"));

            case MessageType.SDPrintIncompatibleFilament:
                return(Locale.GlobalLocale.T("T_SDPrint_Incompatible_Filament"));

            default:
                return(incoming_messsage.ToString());
            }
        }
Beispiel #18
0
 private static void XMLButtonCallback(ButtonWidget button, SpoolerMessage message, PopupMessageBox parentFrame, XMLFrame childFrame, object data)
 {
     parentFrame.CloseCurrent();
 }
Beispiel #19
0
        public override string OnClientMessage(Guid guid, string message)
        {
            try
            {
                if (message == "<CloseConnection/>")
                {
                    if (guid != MyGuid)
                    {
                        RemoveClient(guid);
                    }
                }
                else if (message.StartsWith("<RPC"))
                {
                    var call = new RPCInvoker.RPC();
                    call.Deserialize(message);
                    var str = (string)null;
                    var obj = (object)null;
                    try
                    {
                        if (call.serialnumber == null)
                        {
                            obj = rpc_invoker.CallMethod(call);
                        }
                        else
                        {
                            PrinterConnection printerConnection = GetPrinterConnection(call.serialnumber);
                            if (printerConnection != null)
                            {
                                if (call.callID != 0U)
                                {
                                    if ((int)call.callID == (int)current_processing_id.Value)
                                    {
                                        return(null);
                                    }

                                    current_processing_id.Value = call.callID;
                                }
                                CommandResult result;
                                if (call.name == "AcquireLock")
                                {
                                    result = printerConnection.AcquireLock(guid);
                                }
                                else if (call.name == "ReleaseLock")
                                {
                                    result = printerConnection.ReleaseLock(call.lockID);
                                }
                                else
                                {
                                    var flag = true;
                                    if (LockExceptionList.Contains(call.name))
                                    {
                                        flag = false;
                                    }

                                    result = printerConnection.VerifyLock(call.lockID);
                                    if (result == CommandResult.Failed_PrinterDoesNotHaveLock && call.name == "SendEmergencyStop" && printerConnection.IsWorking)
                                    {
                                        printerConnection.SendInterrupted(LockVerifyResultToSpoolerMessage(CommandResult.CommandInterruptedByM0, call.serialnumber, 0U));
                                    }

                                    if (result == CommandResult.Success || !flag)
                                    {
                                        obj = rpc_invoker.CallMethod(printerConnection, call);
                                        if (obj is CommandResult)
                                        {
                                            result = (CommandResult)obj;
                                            obj    = null;
                                        }
                                    }
                                }
                                if (call.callID != 0U)
                                {
                                    printerConnection.CurrentRPC_id.Value = call.callID;
                                }

                                str = LockVerifyResultToSpoolerMessage(result, call.serialnumber, call.callID);
                            }
                            else
                            {
                                str = new SpoolerMessage(MessageType.PrinterNotConnected, call.serialnumber, call.name).Serialize();
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        str = new SpoolerMessage(MessageType.RPCError, ex.Message + "::" + call.name).Serialize();
                    }
                    if (str != null)
                    {
                        return("<SocketBroadcast>" + str + "</SocketBroadcast>");
                    }

                    if (obj != null)
                    {
                        if (obj is string)
                        {
                            return((string)obj);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                ErrorLogger.LogException("Exception in SpoolerServer.OnClientMessage " + ex.Message, ex);
                return("FAIL");
            }
            return(null);
        }
Beispiel #20
0
 public void AddMessageToQueue(SpoolerMessage message, PopupMessageBox.MessageBoxButtons buttons)
 {
     AddMessageToQueue(message, buttons, null);
 }
Beispiel #21
0
 public void AddMessageToQueue(SpoolerMessage message, PopupMessageBox.MessageBoxButtons buttons, PopupMessageBox.OnUserSelectionDel callback)
 {
     AddMessageToQueue(message, buttons, callback, null);
 }
Beispiel #22
0
        private void SetMessageStandard(PopupMessageBox.MessageDataStandard message_details)
        {
            Sprite.pixel_perfect = true;
            child_frame.Init(host, "<?xml version=\"1.0\" encoding=\"utf-16\"?><XMLFrame id=\"1000\" width=\"400\" height=\"200\" center-vertically=\"1\" center-horizontally=\"1\"><ImageWidget id=\"1001\" x=\"0\" y=\"0\" relative-width=\"1.0\" relative-height=\"1.0\" src=\"guicontrols\" texture-u0=\"640\" texture-v0=\"320\" texture-u1=\"704\" texture-v1=\"383\" center-vertically=\"1\" center-horizontally=\"1\" leftbordersize-pixels=\"41\" rightbordersize-pixels=\"8\" minimumwidth=\"64\" topbordersize-pixels=\"35\" bottombordersize-pixels=\"8\" minimumheight=\"64\"></ImageWidget><TextWidget id=\"1002\" x=\"50\" y=\"2\" width=\"298\" height=\"35\" font-size=\"Large\" font-color=\"#FF808080\" alignment=\"Left\">Printer Message</TextWidget><TextWidget id=\"1003\" x=\"14\" y=\"14\" width=\"372\" height=\"150\" font-size=\"Medium\" font-color=\"#FF404040\" alignment=\"Centre\">Warning! Please make sure the print bed is clear. We wouldn't want any accidents.</TextWidget><ButtonWidget id=\"101\" x=\"92\" y=\"-50\" width=\"100\" height=\"32\" font-size=\"Medium\" alignment=\"Centre\" has_focus=\"1\">OK</ButtonWidget><ButtonWidget id=\"102\" x=\"208\" y=\"-50\" width=\"100\" height=\"32\" font-size=\"Medium\" alignment=\"Centre\">Cancel</ButtonWidget><ButtonWidget id=\"103\" x=\"208\" y=\"-50\" width=\"100\" height=\"32\" font-size=\"Medium\" alignment=\"Centre\" visible=\"0\" enabled=\"0\">Custom</ButtonWidget></XMLFrame>", new ButtonCallback(MyButtonCallback));
            child_frame.Refresh();
            Sprite.pixel_perfect = false;
            var childElement1 = (TextWidget)FindChildElement(1003);
            var childElement2 = (ButtonWidget)FindChildElement(101);
            var childElement3 = (ButtonWidget)FindChildElement(102);
            var childElement4 = (ButtonWidget)FindChildElement(103);

            ((TextWidget)FindChildElement(1002)).Text = message_details.title;
            var childElement5 = (Frame)FindChildElement(1000);

            message = message_details.message;
            if (message_details.buttons == PopupMessageBox.MessageBoxButtons.DEFAULT)
            {
                switch (message.Type)
                {
                case MessageType.PrinterConnected:
                case MessageType.JobComplete:
                case MessageType.JobCanceled:
                case MessageType.JobStarted:
                case MessageType.PrinterError:
                case MessageType.PrinterMessage:
                case MessageType.FirmwareUpdateComplete:
                case MessageType.FirmwareUpdateFailed:
                case MessageType.ResetPrinterConnection:
                case MessageType.UserDefined:
                case MessageType.RawData:
                case MessageType.PrinterNotConnected:
                case MessageType.MicroMotionControllerFailed:
                case MessageType.ModelOutOfPrintableBounds:
                case MessageType.IncompatibleSpooler:
                case MessageType.UnexpectedDisconnect:
                case MessageType.CantStartJobPrinterBusy:
                case MessageType.FirmwareMustBeUpdated:
                case MessageType.FirmwareErrorCyclePower:
                    message_details.buttons = PopupMessageBox.MessageBoxButtons.OK;
                    break;

                default:
                    message_details.buttons = PopupMessageBox.MessageBoxButtons.OKCANCEL;
                    break;
                }
            }
            if (message_details.buttons == PopupMessageBox.MessageBoxButtons.OK)
            {
                childElement4.Visible = false;
                childElement3.Visible = false;
                childElement2.SetPosition((childElement5.Width - childElement2.Width) / 2, -50);
                childElement2.Text    = "T_OK";
                childElement2.Enabled = true;
            }
            else if (message_details.buttons == PopupMessageBox.MessageBoxButtons.OKCANCEL)
            {
                childElement2.Text    = "T_OK";
                childElement3.Text    = "T_Cancel";
                childElement3.Visible = true;
                childElement4.Visible = false;
                childElement2.SetPosition(childElement5.Width / 2 - 108, -50);
                childElement3.SetPosition(208, -50);
                childElement2.Enabled = true;
                childElement3.Enabled = true;
            }
            else if (message_details.buttons == PopupMessageBox.MessageBoxButtons.YESNO)
            {
                childElement2.Text    = "T_Yes";
                childElement3.Text    = "T_No";
                childElement3.Visible = true;
                childElement4.Visible = false;
                childElement2.SetPosition(childElement5.Width / 2 - 108, -50);
                childElement3.SetPosition(208, -50);
                childElement2.Enabled = true;
                childElement3.Enabled = true;
            }
            else if (message_details.buttons == PopupMessageBox.MessageBoxButtons.CUSTOM)
            {
                if (message_details.custom_button1_text != null && message_details.custom_button2_text != null && message_details.custom_button3_text != null)
                {
                    childElement2.Text    = message_details.custom_button1_text;
                    childElement3.Text    = message_details.custom_button2_text;
                    childElement4.Text    = message_details.custom_button3_text;
                    childElement2.Visible = true;
                    childElement3.Visible = true;
                    childElement4.Visible = true;
                    childElement4.Enabled = true;
                    if (childElement2.Text.Length > 8)
                    {
                        childElement2.Width  = 150;
                        childElement2.Height = 72;
                        childElement5.Width += 50;
                        childElement5.Height = 250;
                        childElement1.Width += 50;
                    }
                    if (childElement3.Text.Length > 8)
                    {
                        childElement3.Width  = 150;
                        childElement3.Height = 72;
                        childElement5.Width += 70;
                        childElement5.Height = 250;
                        childElement1.Width += 50;
                    }
                    if (childElement4.Text.Length > 8)
                    {
                        childElement4.Width  = 150;
                        childElement4.Height = 72;
                        childElement5.Width += 50;
                        childElement5.Height = 250;
                        childElement1.Width += 50;
                    }
                    childElement2.SetPosition(10, -(childElement2.Height + 18));
                    childElement3.SetPosition(childElement2.X + childElement2.Width + 5, -(childElement3.Height + 18));
                    childElement4.SetPosition(-(childElement4.Width + 10), -(childElement4.Height + 18));
                    childElement2.Enabled = true;
                    childElement3.Enabled = true;
                }
                else if (message_details.custom_button1_text != null && message_details.custom_button2_text != null)
                {
                    childElement2.Text    = message_details.custom_button1_text;
                    childElement3.Text    = message_details.custom_button2_text;
                    childElement3.Visible = true;
                    childElement2.SetPosition(childElement5.Width / 2 - 108, -50);
                    childElement3.SetPosition(208, -50);
                    childElement2.Enabled = true;
                    childElement3.Enabled = true;
                }
                else if (message_details.custom_button1_text != null)
                {
                    childElement3.Visible = false;
                    childElement2.SetPosition((childElement5.Width - childElement2.Width) / 2, -50);
                    childElement2.Text    = "T_OK";
                    childElement2.Enabled = true;
                }
            }
            host.SetFocus(childElement2);
            childElement1.Text = MessageText;
        }
Beispiel #23
0
 public MessageDataStandard(SpoolerMessage message, PopupMessageBox.MessageBoxButtons buttons)
     : this(message, "Printer Message", buttons, null, null)
 {
 }
Beispiel #24
0
 public static string LocalizedSpoolerMessageString(SpoolerMessage message)
 {
     return(SpoolerConnection.LocalizedSpoolerMessageString(message.Type));
 }
Beispiel #25
0
 public MessageDataStandard(SpoolerMessage message, PopupMessageBox.MessageBoxButtons buttons, PopupMessageBox.OnUserSelectionDel OnSelectionCallback, object data)
     : this(message, "Printer Message", buttons, OnSelectionCallback, data)
 {
 }
Beispiel #26
0
        private void OnReceivedMessage(SpoolerMessage message)
        {
            switch (message.Type)
            {
            case MessageType.PrinterConnected:
                informationbox.AddMessageToQueue(SpoolerConnection.LocalizedSpoolerMessageString(message));
                break;

            case MessageType.JobComplete:
            case MessageType.JobCanceled:
            case MessageType.PrinterMessage:
            case MessageType.PrinterTimeout:
            case MessageType.SinglePointCalibrationNotSupported:
            case MessageType.MultiPointCalibrationNotSupported:
            case MessageType.PowerOutageRecovery:
                informationbox.AddMessageToQueue(SpoolerConnection.LocalizedSpoolerMessageString(message));
                break;

            case MessageType.JobStarted:
                if (settingsManager.ShowAllWarnings)
                {
                    messagebox.AddMessageToQueue(new SpoolerMessage(MessageType.UserDefined, "A new job has started. Please do not unplug your 3D printer while it is printing. If you unplug your it while printing, you will have to recalibrate."));
                }

                informationbox.AddMessageToQueue(SpoolerConnection.LocalizedSpoolerMessageString(message) + string.Format(" - {0}", message.Message));
                break;

            case MessageType.PrinterError:
            case MessageType.FirmwareUpdateFailed:
            case MessageType.ResetPrinterConnection:
            case MessageType.MicroMotionControllerFailed:
            case MessageType.ModelOutOfPrintableBounds:
            case MessageType.UnexpectedDisconnect:
            case MessageType.CantStartJobPrinterBusy:
            case MessageType.FirmwareErrorCyclePower:
            case MessageType.RPCError:
            case MessageType.SDPrintIncompatibleFilament:
                messagebox.AddMessageToQueue(message);
                break;

            case MessageType.UserDefined:
                if (settingsManager.ShowAllWarnings)
                {
                    messagebox.AddMessageToQueue(message);
                    break;
                }
                break;

            case MessageType.WarningABSPrintLarge:
                messagebox.AddMessageToQueue(message, PopupMessageBox.MessageBoxButtons.OK, new PopupMessageBox.OnUserSelectionDel(OnUserSelection));
                break;

            case MessageType.IncompatibleSpooler:
                if (PrintSpoolerClient != null)
                {
                    var num = (int)PrintSpoolerClient.ForceSpoolerShutdown();
                    break;
                }
                break;

            case MessageType.LoggingMessage:
            case MessageType.FullLoggingData:
                ProcessLoggerMessage(message);
                break;
            }
            if (OnPrinterMessage == null)
            {
                return;
            }

            try
            {
                OnPrinterMessage(message);
            }
            catch (Exception ex)
            {
            }
        }
Beispiel #27
0
 public MessageDataXML(SpoolerMessage message, string xmlsource, PopupMessageBox.XMLButtonCallback buttonCallback, object data)
     : this(message, xmlsource, buttonCallback, data, null, null)
 {
 }
Beispiel #28
0
 public MessageDataXML(SpoolerMessage message, string xmlsource, PopupMessageBox.XMLButtonCallback buttonCallback, object data, ElementStandardDelegate onUpdateCallback)
     : this(message, xmlsource, buttonCallback, data, onUpdateCallback, null)
 {
 }
Beispiel #29
0
 public void AddMessageToQueue(SpoolerMessage message)
 {
     AddMessageToQueue(message, PopupMessageBox.MessageBoxButtons.DEFAULT, null);
 }