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();
 }
Пример #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();
 }