// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
import { ChildIndicator, ResettingLineEdit } from "./basics.slint";
import { PropertyValue } from "../../api.slint";
import { EditorSpaceSettings } from "../../components/styling.slint";
export component IntegerWidget inherits GridLayout {
in property <bool> enabled;
in property <PropertyValue> property-value;
callback update-display-string(value: string);
callback test-integer-binding(text: string) -> bool;
callback set-integer-binding(text: string);
Row {
childIndicator := ChildIndicator {
horizontal-stretch: 0;
visible: false;
}
ResettingLineEdit {
enabled: root.enabled;
horizontal-alignment: right;
input-type: number;
default-text: property-value.value-int;
edited(text) => {
self.can-compile = test-integer-binding(text);
}
accepted(text) => {
root.update-display-string(text);
root.set-integer-binding(text);
}
}
}
}