Skip to content

Commit 0fc7811

Browse files
author
Roberto De Ioris
committed
added zoom to python editor
1 parent 36eaf88 commit 0fc7811

File tree

2 files changed

+31
-3
lines changed

2 files changed

+31
-3
lines changed

Source/PythonEditor/Private/SPythonEditableText.cpp

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

2526
FReply 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+
7496
FReply 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

Source/PythonEditor/Private/SPythonEditableText.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,12 @@ class SPythonEditableText : public SMultiLineEditableText
3939
private:
4040
virtual FReply OnKeyChar(const FGeometry& MyGeometry,const FCharacterEvent& InCharacterEvent) override;
4141
virtual FReply OnKeyDown(const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent) override;
42+
virtual FReply OnMouseWheel(const FGeometry& MyGeometry, const FPointerEvent& InPointerEvent) override;
4243

4344
FOnExecuted OnExecuted;
4445

46+
float CurrentScale;
47+
4548
int32 CurrentLine;
4649
int32 CurrentColumn;
4750
};

0 commit comments

Comments
 (0)