Skip to content

Commit 8c11922

Browse files
committed
Dividers example
1 parent 38c5482 commit 8c11922

File tree

6 files changed

+96
-14
lines changed

6 files changed

+96
-14
lines changed

client/lib/controls/container.dart

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import '../utils/borders.dart';
77
import '../utils/colors.dart';
88
import '../utils/edge_insets.dart';
99
import 'create_control.dart';
10-
import 'error.dart';
1110

1211
class ContainerControl extends StatelessWidget {
1312
final Control? parent;
@@ -32,10 +31,6 @@ class ContainerControl extends StatelessWidget {
3231
var contentCtrls = children.where((c) => c.name == "content");
3332
bool disabled = control.isDisabled || parentDisabled;
3433

35-
if (contentCtrls.isEmpty) {
36-
return const ErrorControl("Container does not contain any content.");
37-
}
38-
3934
return constrainedControl(
4035
Container(
4136
padding: parseEdgeInsets(control, "padding"),
@@ -45,7 +40,9 @@ class ContainerControl extends StatelessWidget {
4540
color: bgColor,
4641
border: parseBorder(context, control, "border"),
4742
borderRadius: parseBorderRadius(control, "borderRadius")),
48-
child: createControl(control, contentCtrls.first.id, disabled)),
43+
child: contentCtrls.isNotEmpty
44+
? createControl(control, contentCtrls.first.id, disabled)
45+
: null),
4946
parent,
5047
control);
5148
}

docs/roadmap.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
* [x] Stack
1414
* [x] ListView
1515
* [x] GridView
16-
* [ ] Divider
17-
* [ ] VerticalDivider
16+
* [x] Divider
17+
* [x] VerticalDivider
1818
* App structure and navigation
1919
* [x] Tabs
2020
* [ ] AppBar

sdk/python/flet/container.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,11 @@ def _get_control_name(self):
6666
return "container"
6767

6868
def _get_children(self):
69-
if self.__content == None:
70-
raise Exception("Container does not have any content set.")
71-
self.__content._set_attr_internal("n", "content")
72-
return [self.__content]
69+
children = []
70+
if self.__content != None:
71+
self.__content._set_attr_internal("n", "content")
72+
children.append(self.__content)
73+
return children
7374

7475
# alignment
7576
@property

sdk/python/flet/divider.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from typing import Union
22

3-
import beartype
3+
from beartype import beartype
44

55
from flet.control import Control, OptionalNumber
66
from flet.ref import Ref

sdk/python/flet/vertical_divider.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from typing import Union
22

3-
import beartype
3+
from beartype import beartype
44

55
from flet.control import Control, OptionalNumber
66
from flet.ref import Ref

sdk/python/playground/dividers.py

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
from doctest import Example
2+
3+
import flet
4+
from flet import (
5+
Column,
6+
Container,
7+
Divider,
8+
Page,
9+
Row,
10+
Text,
11+
VerticalDivider,
12+
alignment,
13+
colors,
14+
)
15+
16+
17+
def main(page: Page):
18+
19+
page.add(
20+
Row(
21+
[
22+
Column(
23+
[
24+
Container(
25+
bgcolor=colors.AMBER,
26+
alignment=alignment.center,
27+
expand=True,
28+
),
29+
Divider(),
30+
Container(
31+
bgcolor=colors.PINK, alignment=alignment.center, expand=True
32+
),
33+
Divider(height=1, color="white"),
34+
Container(
35+
bgcolor=colors.BLUE_300,
36+
alignment=alignment.center,
37+
expand=True,
38+
),
39+
Divider(height=9, thickness=3),
40+
Container(
41+
bgcolor=colors.DEEP_PURPLE_200,
42+
alignment=alignment.center,
43+
expand=True,
44+
),
45+
],
46+
spacing=0,
47+
expand=True,
48+
),
49+
Row(
50+
[
51+
Container(
52+
bgcolor=colors.ORANGE_300,
53+
alignment=alignment.center,
54+
expand=True,
55+
),
56+
VerticalDivider(),
57+
Container(
58+
bgcolor=colors.BROWN_400,
59+
alignment=alignment.center,
60+
expand=True,
61+
),
62+
VerticalDivider(width=1, color="white"),
63+
Container(
64+
bgcolor=colors.BLUE_300,
65+
alignment=alignment.center,
66+
expand=True,
67+
),
68+
VerticalDivider(width=9, thickness=3),
69+
Container(
70+
bgcolor=colors.GREEN_300,
71+
alignment=alignment.center,
72+
expand=True,
73+
),
74+
],
75+
spacing=0,
76+
expand=True,
77+
),
78+
],
79+
expand=True,
80+
)
81+
)
82+
83+
84+
flet.app(target=main, view=flet.WEB_BROWSER)

0 commit comments

Comments
 (0)