public PathBrowserCloseWatcher(object owner, Guid dialogHandleId, PathChoosenHandlerDlgt pathChoosenHandler, DialogCancelledHandlerDlgt cancelledHandler)
 {
     _watcher = new MessageWatcher(owner, PathBrowserMessaging.CHANNEL, message =>
     {
         if (message.ChannelName == PathBrowserMessaging.CHANNEL)
         {
             PathBrowserMessaging.MessageType messageType = (PathBrowserMessaging.MessageType)message.MessageType;
             if (messageType == PathBrowserMessaging.MessageType.PathChoosen)
             {
                 Guid closedDialogHandle  = (Guid)message.MessageData[PathBrowserMessaging.DIALOG_HANDLE];
                 ResourcePath choosenPath = (ResourcePath)message.MessageData[PathBrowserMessaging.CHOOSEN_PATH];
                 if (closedDialogHandle == dialogHandleId)
                 {
                     if (pathChoosenHandler != null)
                     {
                         pathChoosenHandler(choosenPath);
                     }
                     return(true);
                 }
             }
             else if (messageType == PathBrowserMessaging.MessageType.DialogCancelled)
             {
                 if (cancelledHandler != null)
                 {
                     cancelledHandler();
                 }
                 return(true);
             }
         }
         return(false);
     }, true);
     _watcher.Start();
 }
Example #2
0
 public DialogCloseWatcher(object owner, Guid dialogHandleId, CloseHandlerDlgt handler)
 {
     _watcher = new MessageWatcher(owner, DialogManagerMessaging.CHANNEL, message =>
     {
         if (message.ChannelName == DialogManagerMessaging.CHANNEL)
         {
             DialogManagerMessaging.MessageType messageType = (DialogManagerMessaging.MessageType)message.MessageType;
             if (messageType == DialogManagerMessaging.MessageType.DialogClosed)
             {
                 Guid closedDialogHandle   = (Guid)message.MessageData[DialogManagerMessaging.DIALOG_HANDLE];
                 DialogResult dialogResult = (DialogResult)message.MessageData[DialogManagerMessaging.DIALOG_RESULT];
                 if (closedDialogHandle == dialogHandleId)
                 {
                     if (handler != null)
                     {
                         handler(dialogResult);
                     }
                     return(true);
                 }
             }
         }
         return(false);
     }, true);
     _watcher.Start();
 }