changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > demo / annotate ui/pages/controls.slint

changeset 17: e4c9ec452eb6
author: ellis <ellis@rwest.io>
date: Sat, 27 May 2023 21:07:55 -0400
permissions: -rw-r--r--
description: ui work
17
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
1
 import { Button, GroupBox, SpinBox, ComboBox, CheckBox, LineEdit, TabWidget, VerticalBox, HorizontalBox,
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
2
     Slider, SpinBox } from "std-widgets.slint";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
3
 import { UiConfig } from "../config.slint";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
4
 import { Page } from "page.slint";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
5
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
6
 export component ControlsPage inherits Page {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
7
     title: "Controls";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
8
     description: "This page gives an overview of the default widget set provided by Slint. The widgets are available in different styles native, fluent-(dark/light) and material-(dark/light). The widgets can be imported from \"std-widgets.slint\".";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
9
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
10
     GroupBox {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
11
         vertical-stretch: 0;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
12
         title: "Buttons";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
13
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
14
         HorizontalLayout {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
15
             spacing: 8px;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
16
             alignment: start;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
17
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
18
             Button {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
19
                 text: "Regular Button";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
20
                 enabled: !UiConfig.widgets-disabled;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
21
             }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
22
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
23
             Button {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
24
                 text: "Button with Icon";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
25
                 icon: @image-url("../img/treez.png");
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
26
                 enabled: !UiConfig.widgets-disabled;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
27
             }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
28
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
29
             Button {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
30
                 checkable: true;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
31
                 text: self.checked ? "ON" : "OFF";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
32
                 enabled: !UiConfig.widgets-disabled;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
33
             }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
34
         }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
35
     }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
36
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
37
     GroupBox {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
38
         title: "CheckBox - SpinBox - ComboBox";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
39
         vertical-stretch: 0;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
40
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
41
         HorizontalBox {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
42
             alignment: start;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
43
             checkbox := CheckBox {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
44
                 text: checkbox.checked ? "(checked)" : "(unchecked)";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
45
                 checked: true;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
46
                 enabled: !UiConfig.widgets-disabled;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
47
             }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
48
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
49
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
50
         SpinBox {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
51
             vertical-stretch: 0;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
52
             value: 42;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
53
             enabled: !UiConfig.widgets-disabled;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
54
         }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
55
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
56
             ComboBox {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
57
                 model: ["Select Something", "From this", "Combobox"];
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
58
                 enabled: !UiConfig.widgets-disabled;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
59
             }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
60
         }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
61
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
62
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
63
     }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
64
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
65
     GroupBox {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
66
         title: "LineEdit";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
67
         vertical-stretch: 0;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
68
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
69
         LineEdit {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
70
             placeholder-text: "Enter some text";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
71
             enabled: !UiConfig.widgets-disabled;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
72
         }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
73
     }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
74
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
75
     GroupBox {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
76
         title: "Slider";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
77
         vertical-stretch: 0;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
78
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
79
         Slider {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
80
             min-width: 160px;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
81
             minimum: -100;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
82
             maximum: 100;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
83
             value: 42;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
84
             enabled: !UiConfig.widgets-disabled;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
85
         }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
86
     }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
87
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
88
     GroupBox {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
89
         title: "TabWidget";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
90
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
91
         TabWidget {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
92
             Tab {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
93
                 title: "Tab 1";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
94
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
95
                 VerticalBox {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
96
                     alignment: start;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
97
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
98
                     GroupBox {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
99
                         title: "Content of tab 1";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
100
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
101
                         HorizontalBox {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
102
                             alignment: start;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
103
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
104
                             Button {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
105
                                 text: "Click me";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
106
                                 enabled: !UiConfig.widgets-disabled;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
107
                             }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
108
                         }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
109
                     }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
110
                 }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
111
             }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
112
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
113
             Tab {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
114
                 title: "Tab 2";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
115
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
116
                 VerticalBox {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
117
                     alignment: start;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
118
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
119
                     GroupBox {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
120
                         title: "Content of tab 2";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
121
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
122
                         VerticalBox {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
123
                             alignment: start;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
124
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
125
                             CheckBox {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
126
                                 text: "Check me";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
127
                                 enabled: !UiConfig.widgets-disabled;
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
128
                             }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
129
                         }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
130
                     }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
131
                 }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
132
             }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
133
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
134
             Tab {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
135
                 title: "Tab 3";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
136
 
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
137
                 VerticalBox {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
138
                     Text {
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
139
                         text: "Content of tab 3";
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
140
                     }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
141
                 }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
142
             }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
143
         }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
144
     }
e4c9ec452eb6 ui work
ellis <ellis@rwest.io>
parents:
diff changeset
145
 }