slint/internal/compiler/widgets/common/tabwidget-base.slint
Aurindam Jana 0cfeec1a31
Update Slint Community License (#4994)
Updated the version from 1.1 to 1.2 
Renamed the header to "Slint Royalty-free Desktop, Mobile, and Web Applications License"
Added definition of "Mobile Application" and grant of right
Moved "Limitations" to 3rd section and "License Conditions - Attributions" to 2nd section
Added flexibility to choose between showing "MadeWithSlint" as a dialog/splash screen or on a public webpage
Moved the para on copyright notices to section under "Limitations"
2024-04-15 15:18:55 +02:00

35 lines
1.1 KiB
Text

// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-1.2 OR LicenseRef-Slint-commercial
export component TabBarBase inherits TouchArea {
// injected properties:
// The currently selected tab
in-out property <int> current;
// The total number of tabs
in-out property <int> num-tabs;
// Returns the index of the previous tab
protected pure function previous-tab() -> int {
return Math.max(root.current - 1, 0);
}
// Returns the index of the next tab
protected pure function next-tab() -> int {
return Math.min(root.current + 1, root.num-tabs - 1);
}
private property <length> scroll-delta: 2px;
// Allows scrolling through the tabs
scroll-event(event) => {
if (event.delta-y < -root.scroll-delta) {
root.current = next-tab();
return accept;
}
if (event.delta-y > -root.scroll-delta) {
root.current = previous-tab();
return accept;
}
reject
}
}