Skip to content

Commit ed36d34

Browse files
committedMar 14, 2025·
Update LVGL helper EN/NL and Examples (demos) EN/NL.
1 parent 4dd7e17 commit ed36d34

File tree

6 files changed

+250
-114
lines changed

6 files changed

+250
-114
lines changed
 

‎plugins/gui/examples/en/guien.ctr

+87-52
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Title.......: GUIEN
22
# Author......: Gabor de Mooij (c) copyright 2025
3-
# Date........: 28 januari 2025
3+
# Date........: 2025-03-14
44
# License.....: BSD-3/MIT
5-
# Version.....: 1.0
5+
# Version.....: 1.1
66
#
77
# Description:
88
# This is a demo program that shows how to use the
@@ -13,72 +13,107 @@
1313
# - xmltree
1414
# - lvglen
1515

16-
Program use: (File new: Path supplementen).
17-
Program use: (File new: Path xmltree).
18-
Program use: (File new: Path lvglen).
16+
Program
17+
use:
18+
Path supplementen,
19+
use:
20+
Path xmltree,
21+
use:
22+
Path lvglen.
1923

2024
>> gui := Gui new.
21-
>> i := 0.
2225

23-
gui on: ['click'] do: { :info
24-
i add: 1.
25-
(info = 123) true: {
26-
gui xml: (b copy ~counter~: i) name: ['btn'] at: 100.
26+
>> wallpaper :=
27+
Image new: ['guidemo.png'].
28+
29+
>> cartoony-font :=
30+
Font new
31+
source: ['Shortcake.ttf'] size: 40.
32+
33+
>> white := Color
34+
new
35+
red: 255
36+
green: 255
37+
blue: 255.
38+
39+
>> example :=
40+
XML-tree
41+
no-xml: ['<lv_label text="the XML tree"></lv_label>'].
42+
43+
gui on: ['click:'] do: { :id
44+
(id = 2) true: {
45+
46+
>> xml :=
47+
48+
['
49+
<component>
50+
<view extends="lv_obj" height="100%" width="100%" style_bg_opa="0">
51+
<lv_obj height="100%" width="100%">
52+
'] + (gui field-value: 1) + ['
53+
</lv_obj>
54+
</view>
55+
</component>
56+
'].
57+
58+
self xml: xml name: ['x'] at: ['3'].
2759
}.
60+
2861
}.
2962

30-
>> b :=
31-
LVGLEN new
32-
component
33-
elements
34-
view
35-
extends: ['object'],
36-
events: True,
37-
width: ['100%'],
38-
height: ['100%'],
63+
>> tree := LVGLEN new.
64+
tree
65+
component
3966
elements
40-
button
67+
view
68+
extends: ['object'],
69+
id: 100,
4170
events: True,
42-
id: 123,
43-
elements
44-
label
45-
text: ['~counter~'],
46-
close
47-
close
48-
close
49-
close
50-
text.
51-
52-
>> a :=
53-
LVGLEN new
54-
component
55-
elements
56-
view
57-
extends: ['object'],
58-
id: 100,
59-
events: True,
60-
height: ['400px'],
61-
width: ['800px'],
62-
elements
63-
object
64-
events: ['verdadero'],
65-
width: ['100%'],
6671
height: ['100%'],
72+
width: ['100%'],
73+
background: wallpaper,
6774
elements
68-
button
75+
object
76+
bg-opa: 0,
6977
events: True,
70-
id: 123,
78+
border: 0,
79+
width: ['100%'],
80+
height: ['100%'],
81+
layout: ['flex'],
82+
flex-flow: ['column'],
7183
elements
7284
label
73-
text: ['CLICK ME!'],
85+
font: cartoony-font,
86+
ink: white,
87+
text: ['The XML-Tree'],
88+
close
89+
textarea
90+
width: ['100%'],
91+
id: ['1'],
92+
events: True,
93+
selectable: True,
94+
text: example,
95+
close
96+
button
97+
events: True,
98+
id: ['2'],
99+
elements
100+
label
101+
text: ['draw'],
102+
close
103+
close
104+
object
105+
id: ['3'],
106+
bg-opa: 0,
107+
border: 0,
108+
width: ['100%'],
109+
height: ['50%'],
74110
close
75111
close
76112
close
77-
close
78-
close
79-
text.
80-
81-
gui screen: a.
113+
close.
82114

115+
gui
116+
width: 400 height: 800,
117+
screen: tree text.
83118

84119

‎plugins/gui/examples/nl/guinl.ctr

+70-51
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Titel.......: GUINL
22
# Auteur......: Gabor de Mooij (c) copyright 2025
3-
# Datum.......: 28 januari 2025
3+
# Datum.......: 2025-03-14
44
# Licentie....: BSD-3/MIT
5-
# Versie......: 1.0
5+
# Versie......: 1.1
66
#
77
# Beschrijving:
88
# GUINL is een voorbeeldprogramma van een GUI in Citrine/NL.
@@ -12,54 +12,53 @@
1212
# - lvglnl
1313
# - supplementnl
1414

15-
Gui gebruik: ( Bestand nieuw: Bestandslocatie supplementnl ).
16-
Gui gebruik: ( Bestand nieuw: Bestandslocatie xmlboom ).
17-
Gui gebruik: ( Bestand nieuw: Bestandslocatie lvglnl ).
15+
>> gui := Gui nieuw.
1816

19-
>> l := Lettertype nieuw bron: ['Shortcake.ttf'] grootte: 20.
17+
gui
18+
gebruik:
19+
Bestandslocatie supplementnl,
20+
gebruik:
21+
Bestandslocatie xmlboom,
22+
gebruik:
23+
Bestandslocatie lvglnl.
2024

25+
>> behang :=
26+
Plaatje nieuw: ['guidemo.png'].
2127

22-
>> gui := Gui nieuw.
23-
>> i := 0.
28+
>> grappig-letterype :=
29+
Lettertype nieuw
30+
bron: ['Shortcake.ttf'] grootte: 40.
2431

25-
gui bij: ['klik'] doen: { :info
26-
i optellen: 1.
27-
(info = 123) ja: {
28-
gui xml: (
29-
knopstructuur
30-
tekst
31-
kopieer
32-
~teller~: i
33-
)
34-
naam: ['knop']
35-
bij: 100.
36-
}.
37-
}.
32+
>> wit := Kleur
33+
nieuw
34+
rood: 255
35+
groen: 255
36+
blauw: 255.
37+
38+
>> xmldemo :=
39+
XML-boom
40+
geen-xml: ['<lv_label text="arbol XML"></lv_label>'].
3841

39-
>> knopstructuur := LVGLNL nieuw.
42+
gui bij: ['klik:'] doen: { :id
43+
(id = 2) ja: {
44+
>> xml :=
45+
46+
['
47+
<component>
48+
<view extends="lv_obj" height="100%" width="100%" style_bg_opa="0">
49+
<lv_obj height="100%" width="100%">
50+
'] + (gui invulwaarde: 1) + ['
51+
</lv_obj>
52+
</view>
53+
</component>
54+
'].
55+
56+
zelf xml: xml naam: ['x'] bij: ['3'].
57+
}.
4058

41-
knopstructuur
42-
component
43-
elementen
44-
weergave
45-
baseer-op: ['object'],
46-
interactief: Ja,
47-
breedte: ['50%'],
48-
hoogte: ['10%'],
49-
elementen
50-
knop
51-
id: 123,
52-
interactief: Ja,
53-
elementen
54-
label
55-
tekst: ['~teller~'],
56-
sluit
57-
sluit
58-
sluit
59-
sluit.
59+
}.
6060

6161
>> boomstructuur := LVGLNL nieuw.
62-
6362
boomstructuur
6463
component
6564
elementen
@@ -69,28 +68,48 @@ boomstructuur
6968
interactief: Ja,
7069
hoogte: ['100%'],
7170
breedte: ['100%'],
71+
achtergrond: behang,
7272
elementen
7373
object
74+
achtergrondsdekking: 0,
7475
interactief: Ja,
76+
rand: 0,
7577
breedte: ['100%'],
7678
hoogte: ['100%'],
79+
indeling: ['flex'],
80+
flexstroom: ['kolom'],
7781
elementen
82+
label
83+
lettertype: grappig-letterype,
84+
kleur: wit,
85+
tekst: ['De XML-BOOM'],
86+
sluit
87+
tekstveld
88+
breedte: ['100%'],
89+
id: ['1'],
90+
interactief: Ja,
91+
selecteerbaar: Ja,
92+
tekst: xmldemo,
93+
sluit
7894
knop
79-
breedte: ['50%'],
80-
hoogte: ['10%'],
8195
interactief: Ja,
82-
achtergrondskleur: (Kleur nieuw rood: 0 groen: 0 blauw: 0),
83-
id: 123,
96+
id: ['2'],
8497
elementen
8598
label
86-
#style_text_font: ['font1'],
87-
lettertype: l,
88-
kleur: (Kleur nieuw rood: 255 groen: 180 blauw: 0),
89-
tekst: ['Font &amp; Color'],
99+
tekst: ['tekenen'],
90100
sluit
91101
sluit
102+
object
103+
id: ['3'],
104+
achtergrondsdekking: 0,
105+
rand: 0,
106+
breedte: ['100%'],
107+
hoogte: ['50%'],
108+
sluit
92109
sluit
93110
sluit
94111
sluit.
95112

96-
gui scherm: boomstructuur tekst.
113+
gui
114+
breedte: 400 hoogte: 800,
115+
scherm: boomstructuur tekst.

‎plugins/gui/extra/en/lvglen

+75-7
Original file line numberDiff line numberDiff line change
@@ -12,32 +12,100 @@
1212
# - supplementen
1313
# - xmltree
1414

15-
>> LVGLEN := Object new.
15+
>> LVGLEN := XML-tree new.
1616

1717
LVGLEN on: ['new'] do: {
1818

19-
>> xml := XML-tree new.
19+
>> xml := self new.
2020

2121
xml
2222
names: (
2323
List new
2424
object: ['lv_obj'],
2525
button: ['lv_button'],
26-
label: ['lv_label']
26+
label: ['lv_label'],
27+
image: ['lv_image'],
28+
textarea: ['lv_textarea'],
29+
buttonmatrix: ['lv_buttonmatrix'],
30+
bar: ['lv_bar'],
31+
chart: ['lv_chart'],
32+
roller: ['lv_roller'],
33+
dropdown: ['lv_dropdown'],
34+
scale: ['lv_scale'],
35+
slider: ['lv_slider'],
36+
table: ['lv_table'],
37+
table-column: ['lv_table-column'],
38+
table-cell: ['lv_table-cell'],
39+
tabview: ['lv_tabview'],
40+
tabview-tab_bar:['lv_tabview-tab_bar'],
41+
tabview-tab: ['lv_tabview-tab']
2742
)
2843
attributes: (
2944
List new
30-
events: ['event_bubble']
31-
45+
events: ['event_bubble'],
46+
one-line: ['one_line'],
47+
tab-bar-position:['tab_bar_position'],
48+
pad-left: ['style_pad_left'],
49+
pad-right: ['style_pad_right'],
50+
pad-bottom: ['style_pad_bottom'],
51+
pad-top: ['style_pad_top'],
52+
margin-left: ['style_margin_left'],
53+
margin-right: ['style_margin_right'],
54+
margin-top: ['style_margin_top'],
55+
margin-bottom: ['style_margin_bottom'],
56+
layout: ['style_layout'],
57+
flex-flow: ['style_flex_flow'],
58+
flex-align: ['style_flex_align'],
59+
border: ['style_border_width'],
60+
border-color: ['style_border_color'],
61+
shadow: ['style_shadow_width'],
62+
outline: ['style_outline_width'],
63+
radius: ['style_radius'],
64+
bg-opa: ['style_bg_opa']
3265
)
3366
values: (
3467
List new
3568
True: ['true'],
3669
False: ['false'],
3770
object: ['lv_obj'],
38-
button: ['lv_boton'],
39-
label: ['lv_label']
71+
button: ['lv_button'],
72+
label: ['lv_label'],
73+
left: ['left'],
74+
rechts: ['rechts'],
75+
onder: ['bottom'],
76+
boven: ['top'],
77+
rij: ['row'],
78+
kolom: ['column']
4079
).
4180

4281
<- xml.
4382
}.
83+
84+
85+
LVGLEN on: ['font:'] do: { :font
86+
self style_text_font: font name.
87+
}.
88+
89+
LVGLEN on: ['image:'] do: { :image
90+
self src: image name.
91+
}.
92+
93+
LVGLEN on: ['background:'] do: { :image
94+
self style_bg_image_src: image name.
95+
}.
96+
97+
LVGLEN on: ['color:'] do: { :color
98+
self style_text_color: color rgbhex.
99+
}.
100+
101+
LVGLEN on: ['ink:'] do: { :color
102+
self style_text_color: color rgbhex.
103+
}.
104+
105+
LVGLEN on: ['randkleur:'] do: { :kleur
106+
zelf style_border_color: kleur rgbhex.
107+
}.
108+
109+
LVGLEN on: ['achtergrondskleur:'] do: { :kleur
110+
zelf style_bg_color: kleur rgbhex.
111+
}.

‎plugins/gui/extra/en/xmltree

+8-1
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,13 @@ XML-tree on: ['close'] do: { :message :arg
8383
}.
8484
}.
8585

86-
8786
XML-tree on: ['text'] do: { <- own str. }.
8887

88+
XML-tree on: ['no-xml:'] do: { :str
89+
<- str text
90+
replace: ['&'] with: ['&amp;'],
91+
replace: ['<'] with: ['&lt;'],
92+
replace: ['>'] with: ['&gt;'],
93+
replace: ['"'] with: ['&quot;'],
94+
replace: ['''] with: ['&apos;'].
95+
}.

‎plugins/gui/extra/nl/lvglnl

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ LVGLNL bij: ['nieuw'] doen: {
8282
knop: ['lv_button'],
8383
label: ['lv_label'],
8484
links: ['left'],
85-
rechts: ['rechts'],
85+
rechts: ['right'],
8686
onder: ['bottom'],
8787
boven: ['top'],
8888
rij: ['row'],

‎plugins/gui/extra/nl/xmlboom

+9-2
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,15 @@ XML-boom bij: ['sluit'] doen: {
9595
}.
9696

9797

98+
XML-boom bij: ['tekst'] doen: { <- eigen uitkomst. }.
9899

99100

100-
101-
XML-boom bij: ['tekst'] doen: { <- eigen uitkomst. }.
101+
XML-boom bij: ['geen-xml:'] doen: { :inhoud
102+
<- inhoud tekst
103+
vervang: ['&'] door: ['&amp;'],
104+
vervang: ['<'] door: ['&lt;'],
105+
vervang: ['>'] door: ['&gt;'],
106+
vervang: ['"'] door: ['&quot;'],
107+
vervang: ['''] door: ['&apos;'].
108+
}.
102109

0 commit comments

Comments
 (0)
Please sign in to comment.