std-widgets: added LayoutSpec global (#6711)

This commit is contained in:
FloVanGH 2024-11-06 15:47:04 +01:00 committed by GitHub
parent e3ea25f48c
commit c84af1a8d7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
27 changed files with 79 additions and 104 deletions

View file

@ -1,17 +1,17 @@
// 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 { LayoutSpec } from "std-widgets-impl.slint";
export component VerticalBox inherits VerticalLayout {
spacing: NativeStyleMetrics.layout-spacing;
padding: NativeStyleMetrics.layout-spacing;
spacing: LayoutSpec .layout-spacing;
padding: LayoutSpec .layout-padding;
}
export component HorizontalBox inherits HorizontalLayout {
spacing: NativeStyleMetrics.layout-spacing;
padding: NativeStyleMetrics.layout-spacing;
spacing: LayoutSpec .layout-spacing;
padding: LayoutSpec .layout-padding;
}
export component GridBox inherits GridLayout {
spacing: NativeStyleMetrics.layout-spacing;
padding: NativeStyleMetrics.layout-spacing;
}
spacing: LayoutSpec .layout-spacing;
padding: LayoutSpec .layout-padding;
}

View file

@ -1,7 +1,7 @@
// 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 { VerticalBox } from "./layouts.slint";
import { VerticalBox } from "../common/layout.slint";
import { Button } from "./button.slint";
import { CosmicPalette, CosmicFontSettings, Icons } from "styling.slint";
import { MenuBorder } from "./components.slint";

View file

@ -1,17 +0,0 @@
// 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 { StyleMetrics } from "std-widgets-impl.slint";
export component VerticalBox inherits VerticalLayout {
spacing: StyleMetrics.layout-spacing;
padding: StyleMetrics.layout-padding;
}
export component HorizontalBox inherits HorizontalLayout {
spacing: StyleMetrics.layout-spacing;
padding: StyleMetrics.layout-padding;
}
export component GridBox inherits GridLayout {
spacing: StyleMetrics.layout-spacing;
padding: StyleMetrics.layout-padding;
}

View file

@ -9,9 +9,15 @@ export { LineEdit } from "lineedit.slint";
import { CosmicPalette } from "styling.slint";
export global StyleMetrics {
export global LayoutSpec {
out property <length> layout-spacing: 8px;
out property <length> layout-padding: 8px;
}
export global StyleMetrics {
out property <length> layout-spacing: LayoutSpec.layout-spacing;
out property <length> layout-padding: LayoutSpec.layout-padding;
out property <length> text-cursor-width: 1px;
out property <color> window-background: CosmicPalette.background;
out property <color> default-text-color: CosmicPalette.foreground;
@ -36,3 +42,4 @@ export global Palette {
out property <brush> border: CosmicPalette.border;
in-out property <ColorScheme> color-scheme <=> CosmicPalette.color-scheme;
}

View file

@ -5,7 +5,7 @@
export { AboutSlint } from "../common/about-slint.slint";
export { StandardButton } from "../common/standardbutton.slint";
export { StyleMetrics, ScrollView, Button, Palette } from "std-widgets-impl.slint";
export { StyleMetrics, ScrollView, Button, Palette, LayoutSpec } from "std-widgets-impl.slint";
export { CheckBox } from "checkbox.slint";
export { ComboBox } from "combobox.slint";
@ -17,7 +17,7 @@ export { Slider } from "slider.slint";
export { SpinBox } from "spinbox.slint";
export { Spinner } from "spinner.slint";
export { TabWidgetImpl, TabImpl, TabBarImpl, TabWidget } from "tabwidget.slint";
export { VerticalBox, HorizontalBox, GridBox } from "layouts.slint";
export { VerticalBox, HorizontalBox, GridBox } from "../common/layout.slint";
export { Switch } from "switch.slint";
export { TextEdit } from "textedit.slint";
export { TimePickerPopup, Time } from "time-picker.slint";

View file

@ -69,6 +69,12 @@ export global CosmicPalette {
out property <brush> state-secondary: dark-color-scheme ? #000000 : #ffffff;
}
export global CosmicLayoutSpec {
out property <length> layout-spacing: 8px;
out property <length> layout-padding: 8px;
out property <length> text-cursor-width: 1px;
}
export global Icons {
out property <image> arrow-down: @image-url("_arrow_down.svg");
out property <image> arrow-up: @image-url("_arrow_up.svg");

View file

@ -2,7 +2,7 @@
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
import { Time, TimePickerBase } from "../common/time-picker-base.slint";
import { VerticalBox } from "./layouts.slint";
import { VerticalBox } from "../common/layout.slint";
import { Button } from "./button.slint";
import { CosmicPalette, CosmicFontSettings, Icons } from "styling.slint";
import { StandardButton } from "../common/standardbutton.slint";

View file

@ -1,7 +1,7 @@
// 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 { VerticalBox } from "./layouts.slint";
import { VerticalBox } from "../common/layout.slint";
import { Button } from "./button.slint";
import { CupertinoPalette, CupertinoFontSettings, Icons } from "styling.slint";
import { MenuBorder } from "./components.slint";

View file

@ -1,17 +0,0 @@
// 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 { StyleMetrics } from "std-widgets-impl.slint";
export component VerticalBox inherits VerticalLayout {
spacing: StyleMetrics.layout-spacing;
padding: StyleMetrics.layout-padding;
}
export component HorizontalBox inherits HorizontalLayout {
spacing: StyleMetrics.layout-spacing;
padding: StyleMetrics.layout-padding;
}
export component GridBox inherits GridLayout {
spacing: StyleMetrics.layout-spacing;
padding: StyleMetrics.layout-padding;
}

View file

@ -7,9 +7,14 @@ export { ListItem } from "components.slint";
export { LineEdit } from "lineedit.slint";
import { CupertinoPalette } from "styling.slint";
export global StyleMetrics {
export global LayoutSpec {
out property <length> layout-spacing: 10px;
out property <length> layout-padding: 12px;
}
export global StyleMetrics {
out property <length> layout-spacing: LayoutSpec.layout-spacing;
out property <length> layout-padding: LayoutSpec.layout-padding;
out property <length> text-cursor-width: 1px;
out property <color> window-background: CupertinoPalette.background;
out property <color> default-text-color: CupertinoPalette.foreground;
@ -34,3 +39,4 @@ export global Palette {
out property <brush> border: CupertinoPalette.border;
in-out property <ColorScheme> color-scheme <=> CupertinoPalette.color-scheme;
}

View file

@ -5,7 +5,7 @@
export { AboutSlint } from "../common/about-slint.slint";
export { StandardButton } from "../common/standardbutton.slint";
export { StyleMetrics, ScrollView, Button, Palette } from "std-widgets-impl.slint";
export { StyleMetrics, ScrollView, Button, Palette, LayoutSpec } from "std-widgets-impl.slint";
export { CheckBox } from "checkbox.slint";
export { ComboBox } from "combobox.slint";
@ -17,7 +17,7 @@ export { Slider } from "slider.slint";
export { SpinBox } from "spinbox.slint";
export { Spinner } from "spinner.slint";
export { TabWidgetImpl, TabImpl, TabBarImpl, TabWidget } from "tabwidget.slint";
export { VerticalBox, HorizontalBox, GridBox } from "layouts.slint";
export { VerticalBox, HorizontalBox, GridBox } from "../common/layout.slint";
export { Switch } from "switch.slint";
export { TextEdit } from "textedit.slint";
export { TimePickerPopup, Time } from "time-picker.slint";

View file

@ -2,7 +2,7 @@
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
import { Time, TimePickerBase } from "../common/time-picker-base.slint";
import { VerticalBox } from "./layouts.slint";
import { VerticalBox } from "../common/layout.slint";
import { Button } from "./button.slint";
import { CupertinoPalette, CupertinoFontSettings, Icons } from "styling.slint";
import { MenuBorder } from "./components.slint";

View file

@ -1,7 +1,7 @@
// 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 { VerticalBox } from "./layouts.slint";
import { VerticalBox } from "../common/layout.slint";
import { Button } from "./button.slint";
import { FluentPalette, FluentFontSettings, Icons } from "styling.slint";
import { MenuBorder } from "./components.slint";

View file

@ -1,17 +0,0 @@
// 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 { StyleMetrics } from "std-widgets-impl.slint";
export component VerticalBox inherits VerticalLayout {
spacing: StyleMetrics.layout-spacing;
padding: StyleMetrics.layout-padding;
}
export component HorizontalBox inherits HorizontalLayout {
spacing: StyleMetrics.layout-spacing;
padding: StyleMetrics.layout-padding;
}
export component GridBox inherits GridLayout {
spacing: StyleMetrics.layout-spacing;
padding: StyleMetrics.layout-padding;
}

View file

@ -7,9 +7,14 @@ export { ListItem } from "components.slint";
export { LineEdit } from "lineedit.slint";
import { FluentPalette } from "styling.slint";
export global StyleMetrics {
export global LayoutSpec {
out property <length> layout-spacing: 8px;
out property <length> layout-padding: 8px;
}
export global StyleMetrics {
out property <length> layout-spacing: LayoutSpec.layout-spacing;
out property <length> layout-padding: LayoutSpec.layout-padding;
out property <length> text-cursor-width: 1px;
out property <color> window-background: FluentPalette.background;
out property <color> default-text-color: FluentPalette.foreground;
@ -34,3 +39,4 @@ export global Palette {
out property <brush> border: FluentPalette.border;
in-out property <ColorScheme> color-scheme <=> FluentPalette.color-scheme;
}

View file

@ -5,7 +5,7 @@
export { AboutSlint } from "../common/about-slint.slint";
export { StandardButton } from "../common/standardbutton.slint";
export { StyleMetrics, ScrollView, Button, Palette } from "std-widgets-impl.slint";
export { StyleMetrics, ScrollView, Button, Palette, LayoutSpec } from "std-widgets-impl.slint";
export { CheckBox } from "checkbox.slint";
export { ComboBox } from "combobox.slint";
@ -17,7 +17,7 @@ export { Slider } from "slider.slint";
export { SpinBox } from "spinbox.slint";
export { Spinner } from "spinner.slint";
export { TabWidgetImpl, TabImpl, TabBarImpl, TabWidget } from "tabwidget.slint";
export { VerticalBox, HorizontalBox, GridBox } from "layouts.slint";
export { VerticalBox, HorizontalBox, GridBox } from "../common/layout.slint";
export { Switch } from "switch.slint";
export { TextEdit } from "textedit.slint";
export { TimePickerPopup, Time } from "time-picker.slint";

View file

@ -2,7 +2,7 @@
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
import { Time, TimePickerBase } from "../common/time-picker-base.slint";
import { VerticalBox } from "./layouts.slint";
import { VerticalBox } from "../common/layout.slint";
import { Button } from "./button.slint";
import { FluentPalette, FluentFontSettings, Icons } from "styling.slint";
import { MenuBorder } from "./components.slint";

View file

@ -1,7 +1,7 @@
// 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 { VerticalBox } from "./layouts.slint";
import { VerticalBox } from "../common/layout.slint";
import { TextButton } from "./button.slint";
import { MaterialPalette, MaterialFontSettings, Icons } from "styling.slint";

View file

@ -1,18 +0,0 @@
// 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 { StyleMetrics } from "std-widgets-impl.slint";
export component VerticalBox inherits VerticalLayout {
spacing: StyleMetrics.layout-spacing;
padding: StyleMetrics.layout-padding;
}
export component HorizontalBox inherits HorizontalLayout {
spacing: StyleMetrics.layout-spacing;
padding: StyleMetrics.layout-padding;
}
export component GridBox inherits GridLayout {
spacing: StyleMetrics.layout-spacing;
padding: StyleMetrics.layout-padding;
}

View file

@ -10,12 +10,15 @@ export { Switch } from "switch.slint";
export { ListItem } from "components.slint";
export { LineEdit } from "lineedit.slint";
export global StyleMetrics {
export global LayoutSpec {
out property <length> layout-spacing: 16px;
out property <length> layout-padding: 16px;
out property <length> text-cursor-width: 2px;
}
export global StyleMetrics {
out property <length> layout-spacing: LayoutSpec.layout-spacing;
out property <length> layout-padding: LayoutSpec.layout-padding;
out property <length> text-cursor-width: 2px;
out property <color> default-text-color: MaterialPalette.foreground;
out property <color> textedit-background: transparent;
out property <color> textedit-text-color: MaterialPalette.foreground;
@ -40,3 +43,4 @@ export global Palette {
out property <brush> border: MaterialPalette.border;
in-out property <ColorScheme> color-scheme <=> MaterialPalette.color-scheme;
}

View file

@ -5,11 +5,11 @@
export { AboutSlint } from "../common/about-slint.slint";
export { StandardButton } from "../common/standardbutton.slint";
export { StyleMetrics, ScrollView, Button, CheckBox, Palette } from "std-widgets-impl.slint";
export { StyleMetrics, ScrollView, Button, CheckBox, Palette, LayoutSpec } from "std-widgets-impl.slint";
export { LineEdit } from "lineedit.slint";
export { TabWidgetImpl, TabImpl, TabBarImpl, TabWidget } from "tabwidget.slint";
export { GroupBox } from "groupbox.slint";
export { VerticalBox, HorizontalBox, GridBox } from "layouts.slint";
export { VerticalBox, HorizontalBox, GridBox } from "../common/layout.slint";
export { Slider } from "slider.slint";
export { ComboBox } from "combobox.slint";
export { ListView, StandardListView } from "../common/listview.slint";

View file

@ -2,7 +2,7 @@
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
import { Time, TimePickerBase } from "../common/time-picker-base.slint";
import { VerticalBox } from "./layouts.slint";
import { VerticalBox } from "../common/layout.slint";
import { IconButton, TextButton } from "./button.slint";
import { MaterialPalette, MaterialFontSettings, Icons } from "styling.slint";

View file

@ -1,7 +1,7 @@
// 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 { VerticalBox } from "./layouts.slint";
import { VerticalBox } from "../common/layout.slint";
import { Button } from "./button.slint";
import { Palette } from "./std-widgets-impl.slint";
import { StandardButton } from "../common/standardbutton.slint";

View file

@ -8,4 +8,9 @@ export { NativePalette as Palette }
export { ScrollView } from "scrollview.slint";
export { LineEdit } from "lineedit.slint";
export global LayoutSpec {
out property <length> layout-spacing: NativeStyleMetrics.layout-spacing;
out property <length> layout-padding: NativeStyleMetrics.layout-padding;
}
export component ListItem inherits NativeStandardListViewItem {}

View file

@ -2,7 +2,7 @@
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
export { AboutSlint } from "../common/about-slint.slint";
export { StyleMetrics, ScrollView, Palette } from "std-widgets-impl.slint";
export { StyleMetrics, ScrollView, Palette, LayoutSpec } from "std-widgets-impl.slint";
export { StandardTableView } from "tableview.slint";
export { Button, StandardButton } from "button.slint";
export { CheckBox } from "checkbox.slint";
@ -13,7 +13,7 @@ export { GroupBox } from "groupbox.slint";
export { LineEdit } from "lineedit.slint";
export { ComboBox } from "combobox.slint";
export { TabWidget, TabWidgetImpl, TabImpl, TabBarImpl } from "tabwidget.slint";
export { HorizontalBox, VerticalBox, GridBox } from "layouts.slint";
export { VerticalBox, HorizontalBox, GridBox } from "../common/layout.slint";
export { ProgressIndicator } from "progressindicator.slint";
export { Spinner } from "spinner.slint";
export { TimePickerPopup, Time } from "time-picker.slint";

View file

@ -2,7 +2,7 @@
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
import { Time, TimePickerBase } from "../common/time-picker-base.slint";
import { VerticalBox } from "./layouts.slint";
import { VerticalBox } from "../common/layout.slint";
import { Button } from "./button.slint";
import { Palette } from "./std-widgets-impl.slint";
import { Icons } from "./styling.slint";