IncomingChangesNotificationPanel.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. using UnityEditor;
  2. using PlasticGui.Gluon.WorkspaceWindow;
  3. namespace Unity.PlasticSCM.Editor.Gluon
  4. {
  5. internal class IncomingChangesNotificationPanel :
  6. IIncomingChangesNotificationPanel,
  7. CheckIncomingChanges.IUpdateIncomingChanges
  8. {
  9. bool IIncomingChangesNotificationPanel.IsVisible
  10. {
  11. get { return mIsVisible; }
  12. }
  13. NotificationPanelData IIncomingChangesNotificationPanel.Data
  14. {
  15. get { return mPanelData; }
  16. }
  17. internal IncomingChangesNotificationPanel(
  18. PlasticWindow plasticWindow)
  19. {
  20. mPlasticWindow = plasticWindow;
  21. }
  22. void CheckIncomingChanges.IUpdateIncomingChanges.Hide()
  23. {
  24. mPlasticWindow.SetupWindowTitle(false);
  25. mPanelData.Clear();
  26. mIsVisible = false;
  27. mPlasticWindow.Repaint();
  28. }
  29. void CheckIncomingChanges.IUpdateIncomingChanges.Show(
  30. string infoText,
  31. string actionText,
  32. string tooltipText,
  33. CheckIncomingChanges.Severity severity)
  34. {
  35. mPlasticWindow.SetupWindowTitle(true);
  36. UpdateData(
  37. mPanelData, infoText, actionText,
  38. tooltipText, severity);
  39. mIsVisible = true;
  40. mPlasticWindow.Repaint();
  41. }
  42. static void UpdateData(
  43. NotificationPanelData data,
  44. string infoText,
  45. string actionText,
  46. string tooltipText,
  47. CheckIncomingChanges.Severity severity)
  48. {
  49. data.HasUpdateAction = false;
  50. data.InfoText = infoText;
  51. data.ActionText = actionText;
  52. data.TooltipText = tooltipText;
  53. data.NotificationStyle =
  54. severity == CheckIncomingChanges.Severity.Info ?
  55. NotificationPanelData.StyleType.Green :
  56. NotificationPanelData.StyleType.Red;
  57. }
  58. bool mIsVisible;
  59. NotificationPanelData mPanelData = new NotificationPanelData();
  60. PlasticWindow mPlasticWindow;
  61. }
  62. }