most of therac ui done

This commit is contained in:
wonkyhonky2024
2025-05-16 16:44:17 +01:00
parent ff30856c60
commit 0105575759
7 changed files with 44 additions and 17 deletions

BIN
Content/LinacLab/MyMyUserWidget.uasset (Stored with Git LFS)

Binary file not shown.

BIN
Content/LinacLab/vt100_Blueprint.uasset (Stored with Git LFS)

Binary file not shown.

View File

@ -6,6 +6,8 @@ void UMagicFloatInput::HandleOnTextCommitted(
FText const & inText,
ETextCommit::Type inCommitMethod
) {
if (inCommitMethod == ETextCommit::OnEnter) {
double x = 0.0;
if (inText.IsEmptyOrWhitespace()) {
if (sourceInput != nullptr) {
@ -15,6 +17,14 @@ void UMagicFloatInput::HandleOnTextCommitted(
x = FCString::Atod(*inText.ToString());
SetText(FText::FromString(FString::Printf(TEXT("%.7f"), x)));
if (next != nullptr) {
next->SetFocus();
next->SetKeyboardFocus();
} else if (cmdInput != nullptr) {
cmdInput->SetFocus();
cmdInput->SetKeyboardFocus();
}
}
if (myVerifier != nullptr) {
if (sourceInput->GetText().EqualTo(GetText())) {
myVerifier->SetText(FText::FromString("VERIFIED"));

View File

@ -4,7 +4,13 @@
#include <Logging/StructuredLog.h>
void UModeInputTextBox::HandleOnTextChanged(FText const & inText) {
Text = Text.GetEmpty();
/*
if (GetText().IsEmpty()) {
return;
}
SetText(FText());
*/
Text = FText();
auto & s = inText.ToString();
// UE_LOGFMT(LogTemp, Warning, "kill me {inText}", s);

View File

@ -23,6 +23,7 @@ bool UMyUserWidget::AllVerified() {
}
void UMyUserWidget::NativeOnInitialized() {
// commandInput->SetClearKeyboardFocusOnCommit(false);
auto ps = StaticCast<AMyPlayerState *>(GetOwningPlayerState());
if (ps == nullptr)
return;

View File

@ -5,6 +5,7 @@
#include "Components/EditableTextBox.h"
#include "CoreMinimal.h"
#include <Components/TextBlock.h>
#include <ModeInputTextBox.h>
#include "MagicFloatInput.generated.h"
/**
@ -15,14 +16,18 @@ class MYPROJECT_API UMagicFloatInput : public UEditableTextBox {
GENERATED_BODY()
void HandleOnTextCommitted(
FText const & Text,
ETextCommit::Type CommitMethod
) override;
void HandleOnTextCommitted(FText const & Text, ETextCommit::Type CommitMethod)
override;
UPROPERTY(EditAnywhere)
UTextBlock * sourceInput;
UPROPERTY(EditAnywhere)
UTextBlock * myVerifier;
UPROPERTY(EditAnywhere)
UMagicFloatInput * next;
UPROPERTY(EditAnywhere)
UModeInputTextBox * cmdInput;
};

View File

@ -5,6 +5,7 @@
#include "Blueprint/UserWidget.h"
#include "CoreMinimal.h"
#include <Components/TextBlock.h>
#include <ModeInputTextBox.h>
#include "MyUserWidget.generated.h"
/**
@ -76,4 +77,8 @@ class MYPROJECT_API UMyUserWidget : public UUserWidget {
bool AllVerified();
void NativeOnInitialized() override;
public:
UPROPERTY(meta = (BindWidget), BlueprintReadWrite)
UModeInputTextBox * commandInput;
};