public void AddMessageToQueue(PopupMessageBox.MessageDataStandard message_data) { lock (threadsync_standardmsgs) { standard_queue.Enqueue(message_data); } }
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; }