@@ -1111,23 +1111,11 @@ private void RegexLanguageElement_StackPanel_MouseDown(object sender, MouseButto
1111
1111
{
1112
1112
try
1113
1113
{
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 )
1115
1117
{
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 ) ;
1131
1119
1132
1120
mustSelectEditor = true ;
1133
1121
@@ -1138,6 +1126,35 @@ private void RegexLanguageElement_StackPanel_MouseDown(object sender, MouseButto
1138
1126
{ }
1139
1127
}
1140
1128
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
+
1141
1158
private void RegexLanguageElement_StackPanel_MouseUp ( object sender , MouseButtonEventArgs e )
1142
1159
{
1143
1160
if ( mustSelectEditor )
@@ -2244,6 +2261,7 @@ private void FindLanguageElementTextBox_TextChanged(object sender, TextChangedEv
2244
2261
private void ClearFindLangueageElementTextBoxButton_Click ( object sender , RoutedEventArgs e )
2245
2262
{
2246
2263
FindLanguageElementTextBox . Text = string . Empty ;
2264
+ FindLanguageElementTextBox . Focus ( ) ;
2247
2265
}
2248
2266
2249
2267
private void FindLanguageElementTextBox_PreviewKeyDown ( object sender , KeyEventArgs e )
0 commit comments