protected static ResponseType SendMessage(string title, string message, MessageTypes type, Exception ex, bool suppressable) {
            MessageEventArgs e = new MessageEventArgs();
            e.type = type;
            e.exception = ex;
            e.title = title;
            e.message = message;
            e.Suppressable = suppressable;
            ICommunicationReceiver receiver = getReceiver();
            if (receiver == null)
                return ResponseType.Cancel;

			if (receiver.ThreadBridge != null) {
				receiver.ThreadBridge.Send(delegate() {
                    MessageEventHandler handler = receiver.sendMessage;
                    if (handler != null) {
                        handler(e);
                    }
                });
            } else {
                receiver.sendMessage(e);
            }

            waitForResponse(e);

            ProgressHandler.state = ProgressState.Normal;
            return e.response;

        }
 public MessageBox(MessageEventArgs e, AViewWindow owner, IEmailSource email_source)
     : this(e.type, e.title, e.message, e.exception, e.Suppressable, owner, email_source) {
     this.e = e;
 }
 public ResponseType sendMessage(MessageEventArgs e) {
     ResponseType response = ResponseType.OK;
     switch (e.type) {
         case MessageTypes.Error:
             displayError(e.title, e.message, e.exception);
             break;
         case MessageTypes.Info:
             displayInfo(e.title, e.message);
             break;
         case MessageTypes.Warning:
             response = displayWarning(e.title, e.message, e.Suppressable);
             break;
     }
     e.response = response;
     return response;
 }