internal void RegisterForEventsFrom(WordNetBrowserWindow anotherWordNetBrowser) { anotherWordNetBrowser.SynsetDragStarted += WordNetBrowser_SynsetDragStarted; anotherWordNetBrowser.SynsetDragCancelled += WordNetBrowser_SynsetDragCancelled; anotherWordNetBrowser.SynsetDropCompleted += WordNetBrowser_SynsetDropCompleted; anotherWordNetBrowser.WordSenseDragStarted += WordNetBrowser_WordSenseDragStarted; anotherWordNetBrowser.WordSenseDragCancelled += WordNetBrowser_WordSenseDragCancelled; anotherWordNetBrowser.WordSenseDropCompleted += WordNetBrowser_WordSenseDropCompleted; anotherWordNetBrowser.EditingEnabledChanged += WordNetBrowser_EditingEnabledChanged; }
private void NewWindowMenuItem_Click(object sender, RoutedEventArgs e) { WordNetBrowserWindow newWindow = new WordNetBrowserWindow(); // Duplicate the external events handlers from this window to the new window. newWindow.SynsetDragStarted += SynsetDragStarted; newWindow.SynsetDragCancelled += SynsetDragCancelled; newWindow.SynsetDropCompleted += SynsetDropCompleted; newWindow.WordSenseDragStarted += WordSenseDragStarted; newWindow.WordSenseDragCancelled += WordSenseDragCancelled; newWindow.WordSenseDropCompleted += WordSenseDropCompleted; // Register to receive events from the new window RegisterForEventsFrom(newWindow); // Have the new window register to receive drag drop events from this window newWindow.RegisterForEventsFrom(this); newWindow.Show(); }