@@ -20,6 +20,7 @@ void SPythonEditableText::Construct(const FArguments& InArgs)
2020 .OnCursorMoved (this , &SPythonEditableText::OnCursorMoved)
2121 );
2222 OnExecuted = InArgs._OnExecuted ;
23+ CurrentScale = 1 ;
2324}
2425
2526FReply SPythonEditableText::OnKeyChar (const FGeometry& MyGeometry, const FCharacterEvent& InCharacterEvent)
@@ -71,17 +72,41 @@ FReply SPythonEditableText::OnKeyChar(const FGeometry& MyGeometry, const FCharac
7172 return Reply;
7273}
7374
75+ FReply SPythonEditableText::OnMouseWheel (const FGeometry& MyGeometry, const FPointerEvent& InPointerEvent)
76+ {
77+ if (FSlateApplication::Get ().GetModifierKeys ().IsControlDown ())
78+ {
79+ if (InPointerEvent.GetWheelDelta () > 0 )
80+ {
81+ CurrentScale += 0.1 ;
82+ }
83+ else if (InPointerEvent.GetWheelDelta () < 0 )
84+ {
85+ CurrentScale -= 0.1 ;
86+ }
87+
88+ if (CurrentScale < 1 )
89+ CurrentScale = 1 ;
90+ SetRenderTransform (FSlateRenderTransform (CurrentScale));
91+ return FReply::Handled ();
92+ }
93+ return SMultiLineEditableText::OnMouseWheel (MyGeometry, InPointerEvent);
94+ }
95+
7496FReply SPythonEditableText::OnKeyDown (const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent)
7597{
7698 FReply Reply = FReply::Unhandled ();
77- if (InKeyEvent.GetKeyCode () == 9 ) {
99+ if (InKeyEvent.GetKeyCode () == 9 )
100+ {
78101 Reply = FReply::Handled ();
79102 }
80- else if (InKeyEvent.IsControlDown () && InKeyEvent.GetKeyCode () == 13 ) {
103+ else if (InKeyEvent.IsControlDown () && InKeyEvent.GetKeyCode () == 13 )
104+ {
81105 Reply = FReply::Handled ();
82106 OnExecuted.Execute ();
83107 }
84- else {
108+ else
109+ {
85110 Reply = SMultiLineEditableText::OnKeyDown (MyGeometry, InKeyEvent);
86111 }
87112
0 commit comments