@@ -1111,23 +1111,11 @@ private void RegexLanguageElement_StackPanel_MouseDown(object sender, MouseButto
11111111 {
11121112 try
11131113 {
1114- if ( e . LeftButton == MouseButtonState . Pressed && e . ClickCount >= 2 && sender is FrameworkElement )
1114+ if ( e . LeftButton == MouseButtonState . Pressed && e . ClickCount >= 2
1115+ && sender is FrameworkElement fe
1116+ && fe . DataContext is RegexLanguageElement regexLanguageElement )
11151117 {
1116- RegexLanguageElement rle = ( RegexLanguageElement ) ( ( FrameworkElement ) sender ) . DataContext ;
1117-
1118- int moveCaret = 0 ;
1119-
1120- if ( RegexEditor . SelectionLength > 0 )
1121- {
1122- RegexEditor . Document . Remove ( RegexEditor . SelectionStart , RegexEditor . SelectionLength ) ;
1123- moveCaret = rle . Value . Length ;
1124- }
1125-
1126- RegexEditor . Document . Insert ( RegexEditor . TextArea . Caret . Offset , rle . Value ) ;
1127-
1128- RegexEditor . TextArea . Caret . Offset += moveCaret ;
1129- RegexEditor . SelectionStart = RegexEditor . TextArea . Caret . Offset ;
1130- RegexEditor . SelectionLength = 0 ;
1118+ PrintRegexLanguageElement ( regexLanguageElement ) ;
11311119
11321120 mustSelectEditor = true ;
11331121
@@ -1138,6 +1126,35 @@ private void RegexLanguageElement_StackPanel_MouseDown(object sender, MouseButto
11381126 { }
11391127 }
11401128
1129+ private void RegexLanguagesElementsTreeView_KeyDown ( object sender , KeyEventArgs e )
1130+ {
1131+ if ( e . Key == Key . Enter
1132+ && RegexLanguagesElementsTreeView . SelectedValue is RegexLanguageElement regexLanguageElement )
1133+ {
1134+ PrintRegexLanguageElement ( regexLanguageElement ) ;
1135+ RegexEditor . Focus ( ) ;
1136+ e . Handled = true ;
1137+ }
1138+ }
1139+
1140+ private void PrintRegexLanguageElement ( RegexLanguageElement regexLanguageElement )
1141+ {
1142+ int moveCaret = 0 ;
1143+
1144+ if ( RegexEditor . SelectionLength > 0 )
1145+ {
1146+ RegexEditor . Document . Remove ( RegexEditor . SelectionStart , RegexEditor . SelectionLength ) ;
1147+ moveCaret = regexLanguageElement . Value . Length ;
1148+ }
1149+
1150+ RegexEditor . Document . Insert ( RegexEditor . TextArea . Caret . Offset , regexLanguageElement . Value ) ;
1151+
1152+ RegexEditor . TextArea . Caret . Offset += moveCaret ;
1153+ RegexEditor . SelectionStart = RegexEditor . TextArea . Caret . Offset ;
1154+ RegexEditor . SelectionLength = 0 ;
1155+
1156+ }
1157+
11411158 private void RegexLanguageElement_StackPanel_MouseUp ( object sender , MouseButtonEventArgs e )
11421159 {
11431160 if ( mustSelectEditor )
@@ -2244,6 +2261,7 @@ private void FindLanguageElementTextBox_TextChanged(object sender, TextChangedEv
22442261 private void ClearFindLangueageElementTextBoxButton_Click ( object sender , RoutedEventArgs e )
22452262 {
22462263 FindLanguageElementTextBox . Text = string . Empty ;
2264+ FindLanguageElementTextBox . Focus ( ) ;
22472265 }
22482266
22492267 private void FindLanguageElementTextBox_PreviewKeyDown ( object sender , KeyEventArgs e )
0 commit comments