Skip to content

Commit c5f54f4

Browse files
authored
chore: add unsafe block to function cast (prepare for compilation with a stricter V) (#599)
1 parent 13eaf09 commit c5f54f4

29 files changed

+146
-145
lines changed

apps/users/users.v

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ pub mut:
2121
id string
2222
window &ui.Window = unsafe { nil }
2323
layout &ui.Layout = ui.empty_stack
24-
on_init ui.WindowFn = ui.WindowFn(0)
24+
on_init ui.WindowFn = unsafe { ui.WindowFn(0) }
2525
//
2626
users []User
2727
pbar &ui.ProgressBar = unsafe { nil }

component/alpha.v

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ pub mut:
1212
layout &ui.Stack = unsafe { nil }
1313
slider &ui.Slider = unsafe { nil }
1414
textbox &ui.TextBox = unsafe { nil }
15-
on_changed AlphaFn = AlphaFn(0)
15+
on_changed AlphaFn = unsafe { AlphaFn(0) }
1616
}
1717

1818
@[params]
@@ -21,7 +21,7 @@ pub:
2121
id string
2222
alpha int
2323
direction ui.Direction = .column
24-
on_changed AlphaFn = AlphaFn(0)
24+
on_changed AlphaFn = unsafe { AlphaFn(0) }
2525
}
2626

2727
// TODO: documentation
@@ -101,7 +101,7 @@ fn alpha_on_value_changed(slider &ui.Slider) {
101101
ac.alpha = int(slider.val)
102102
ac.textbox.set_text(ac.alpha.str())
103103
ac.textbox.border_accentuated = false
104-
if ac.on_changed != AlphaFn(0) {
104+
if ac.on_changed != unsafe { AlphaFn(0) } {
105105
ac.on_changed(ac)
106106
}
107107
}
@@ -112,7 +112,7 @@ fn alpha_on_char(textbox &ui.TextBox, keycode u32) {
112112
ac.alpha = textbox.text.int()
113113
ac.slider.val = textbox.text.f32()
114114
ac.textbox.border_accentuated = false
115-
if ac.on_changed != AlphaFn(0) {
115+
if ac.on_changed != unsafe { AlphaFn(0) } {
116116
ac.on_changed(ac)
117117
}
118118
} else {

component/colorbox.v

+3-2
Original file line numberDiff line numberDiff line change
@@ -318,9 +318,10 @@ pub fn (mut cb ColorBoxComponent) update_cur_color(reactive bool) {
318318
}
319319
$if cb_ucc ? {
320320
id := if cb.colbtn != 0 { cb.colbtn.widget.id } else { 'id_none' }
321-
println('update cur color ${id} ${cb.colbtn != 0 && cb.colbtn.on_changed != ColorButtonFn(0)}')
321+
println('update cur color ${id} ${cb.colbtn != 0
322+
&& cb.colbtn.on_changed != unsafe { ColorButtonFn(0) }}')
322323
}
323-
if unsafe { cb.colbtn != 0 } && cb.colbtn.on_changed != ColorButtonFn(0) {
324+
if unsafe { cb.colbtn != 0 } && cb.colbtn.on_changed != unsafe { ColorButtonFn(0) } {
324325
cb.colbtn.on_changed(cb.colbtn)
325326
}
326327
if reactive {

component/colorbutton.v

+5-5
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ pub mut:
1111
widget &ui.Button = unsafe { nil }
1212
bg_color gx.Color = gx.white
1313
alpha int
14-
on_click ColorButtonFn = ColorButtonFn(0)
15-
on_changed ColorButtonFn = ColorButtonFn(0)
14+
on_click ColorButtonFn = unsafe { ColorButtonFn(0) }
15+
on_changed ColorButtonFn = unsafe { ColorButtonFn(0) }
1616
left_side bool
1717
}
1818

@@ -30,8 +30,8 @@ pub:
3030
padding f64
3131
left_side bool
3232
bg_color &gx.Color = unsafe { nil }
33-
on_click ColorButtonFn = ColorButtonFn(0)
34-
on_changed ColorButtonFn = ColorButtonFn(0)
33+
on_click ColorButtonFn = unsafe { ColorButtonFn(0) }
34+
on_changed ColorButtonFn = unsafe { ColorButtonFn(0) }
3535
}
3636

3737
// TODO: documentation
@@ -96,7 +96,7 @@ fn colorbutton_click(mut b ui.Button) {
9696
}
9797
}
9898
// on_click initialization if necessary
99-
if cbc.on_click != ColorButtonFn(0) {
99+
if cbc.on_click != unsafe { ColorButtonFn(0) } {
100100
cbc.on_click(cbc)
101101
}
102102
}

component/colorsliders.v

+8-8
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ pub mut:
2424
r_textbox_text string
2525
g_textbox_text string
2626
b_textbox_text string
27-
on_changed ColorSlidersFn = ColorSlidersFn(0)
27+
on_changed ColorSlidersFn = unsafe { ColorSlidersFn(0) }
2828
}
2929

3030
@[params]
@@ -33,7 +33,7 @@ pub:
3333
id string
3434
color gx.Color = gx.white
3535
orientation ui.Orientation = .vertical
36-
on_changed ColorSlidersFn = ColorSlidersFn(0)
36+
on_changed ColorSlidersFn = unsafe { ColorSlidersFn(0) }
3737
}
3838

3939
// TODO: documentation
@@ -208,7 +208,7 @@ fn on_r_value_changed(slider &ui.Slider) {
208208
mut cs := colorsliders_component(slider)
209209
cs.r_textbox_text = int(cs.r_slider.val).str()
210210
cs.r_textbox.border_accentuated = false
211-
if cs.on_changed != ColorSlidersFn(0) {
211+
if cs.on_changed != unsafe { ColorSlidersFn(0) } {
212212
cs.on_changed(cs)
213213
}
214214
}
@@ -217,7 +217,7 @@ fn on_g_value_changed(slider &ui.Slider) {
217217
mut cs := colorsliders_component(slider)
218218
cs.g_textbox_text = int(cs.g_slider.val).str()
219219
cs.g_textbox.border_accentuated = false
220-
if cs.on_changed != ColorSlidersFn(0) {
220+
if cs.on_changed != unsafe { ColorSlidersFn(0) } {
221221
cs.on_changed(cs)
222222
}
223223
}
@@ -226,7 +226,7 @@ fn on_b_value_changed(slider &ui.Slider) {
226226
mut cs := colorsliders_component(slider)
227227
cs.b_textbox_text = int(cs.b_slider.val).str()
228228
cs.b_textbox.border_accentuated = false
229-
if cs.on_changed != ColorSlidersFn(0) {
229+
if cs.on_changed != unsafe { ColorSlidersFn(0) } {
230230
cs.on_changed(cs)
231231
}
232232
}
@@ -239,7 +239,7 @@ fn on_r_char(textbox &ui.TextBox, keycode u32) {
239239
} else {
240240
cs.r_textbox.border_accentuated = true
241241
}
242-
if cs.on_changed != ColorSlidersFn(0) {
242+
if cs.on_changed != unsafe { ColorSlidersFn(0) } {
243243
cs.on_changed(cs)
244244
}
245245
}
@@ -252,7 +252,7 @@ fn on_g_char(textbox &ui.TextBox, keycode u32) {
252252
} else {
253253
cs.g_textbox.border_accentuated = true
254254
}
255-
if cs.on_changed != ColorSlidersFn(0) {
255+
if cs.on_changed != unsafe { ColorSlidersFn(0) } {
256256
cs.on_changed(cs)
257257
}
258258
}
@@ -265,7 +265,7 @@ fn on_b_char(textbox &ui.TextBox, keycode u32) {
265265
} else {
266266
cs.b_textbox.border_accentuated = true
267267
}
268-
if cs.on_changed != ColorSlidersFn(0) {
268+
if cs.on_changed != unsafe { ColorSlidersFn(0) } {
269269
cs.on_changed(cs)
270270
}
271271
}

component/filebrowser.v

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ pub:
2929
with_fpath bool
3030
hidden bool
3131
bg_color gx.Color = gx.red // gx.hex(0xfcf4e4ff)
32-
on_click_ok ui.ButtonFn = ui.ButtonFn(0)
33-
on_click_cancel ui.ButtonFn = ui.ButtonFn(0)
32+
on_click_ok ui.ButtonFn = unsafe { ui.ButtonFn(0) }
33+
on_click_cancel ui.ButtonFn = unsafe { ui.ButtonFn(0) }
3434
}
3535

3636
// TODO: documentation

component/menufile.v

+9-9
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ pub mut:
1515
file string
1616
folder_to_open string
1717
item_selected string
18-
on_save MenuFileFn = MenuFileFn(0)
19-
on_new MenuFileFn = MenuFileFn(0)
20-
on_file_changed MenuFileFn = MenuFileFn(0)
18+
on_save MenuFileFn = unsafe { MenuFileFn(0) }
19+
on_new MenuFileFn = unsafe { MenuFileFn(0) }
20+
on_file_changed MenuFileFn = unsafe { MenuFileFn(0) }
2121
}
2222

2323
@[params]
@@ -26,9 +26,9 @@ pub:
2626
id string
2727
hidden_files bool
2828
dirs []string
29-
on_save MenuFileFn = MenuFileFn(0)
30-
on_new MenuFileFn = MenuFileFn(0)
31-
on_file_changed MenuFileFn = MenuFileFn(0)
29+
on_save MenuFileFn = unsafe { MenuFileFn(0) }
30+
on_new MenuFileFn = unsafe { MenuFileFn(0) }
31+
on_file_changed MenuFileFn = unsafe { MenuFileFn(0) }
3232
bg_color gx.Color = ui.color_solaris
3333
}
3434

@@ -168,7 +168,7 @@ fn treeview_onclick(c &ui.CanvasLayout, mut tv TreeViewComponent) {
168168
mut mf := menufile_component_from_id(win, ui.component_parent_id(tv.id))
169169
mf.item_selected = c.id
170170
mf.file = tv.full_title(mf.item_selected)
171-
if mf.on_file_changed != MenuFileFn(0) {
171+
if mf.on_file_changed != unsafe { MenuFileFn(0) } {
172172
mf.on_file_changed(mf)
173173
}
174174
}
@@ -192,7 +192,7 @@ fn btn_new_ok(b &ui.Button) {
192192
sel_path := dtv.selected_full_title()
193193
mf.folder_to_open = if dtv.types[dtv.sel_id] == 'root' { sel_path } else { os.dir(sel_path) }
194194
mf.file = os.join_path(mf.folder_to_open, *tb.text)
195-
if mf.on_new != MenuFileFn(0) {
195+
if mf.on_new != unsafe { MenuFileFn(0) } {
196196
mf.on_new(mf)
197197
}
198198
dtv.open_dir(mf.folder_to_open)
@@ -229,7 +229,7 @@ fn btn_open_cancel(b &ui.Button) {
229229
// Save file
230230
fn btn_save_click(b &ui.Button) {
231231
mf := menufile_component_from_id(b.ui.window, ui.component_parent_id(b.id))
232-
if mf.on_save != MenuFileFn(0) {
232+
if mf.on_save != unsafe { MenuFileFn(0) } {
233233
mf.on_save(mf)
234234
}
235235
b.ui.window.root_layout.unfocus_all()

component/messagebox.v

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ pub struct MessageBoxComponent {
1111
tb &ui.TextBox = unsafe { nil }
1212
btn &ui.Button = unsafe { nil }
1313
text string
14-
on_click MessageBoxFn = MessageBoxFn(0)
14+
on_click MessageBoxFn = unsafe { MessageBoxFn(0) }
1515
}
1616

1717
@[params]
1818
pub struct MessageBoxParams {
1919
pub:
2020
id string
2121
text string
22-
on_click MessageBoxFn = MessageBoxFn(0)
22+
on_click MessageBoxFn = unsafe { MessageBoxFn(0) }
2323
width int
2424
height int
2525
}
@@ -71,7 +71,7 @@ pub fn messagebox_component_from_id(w ui.Window, id string) &MessageBoxComponent
7171

7272
fn messagebox_ok_click(b &ui.Button) {
7373
hc := messagebox_component(b)
74-
if hc.on_click != MessageBoxFn(0) {
74+
if hc.on_click != unsafe { MessageBoxFn(0) } {
7575
hc.on_click(hc)
7676
}
7777
}

component/rasterview.v

+3-3
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ pub mut:
4646
key_shortcuts ui.KeyShortcuts
4747
char_shortcuts ui.CharShortcuts
4848
// callback
49-
on_click RasterViewFn = RasterViewFn(0)
49+
on_click RasterViewFn = unsafe { RasterViewFn(0) }
5050
}
5151

5252
@[params]
@@ -56,7 +56,7 @@ pub:
5656
width int = 16
5757
height int = 16
5858
channels int = 4
59-
on_click RasterViewFn = RasterViewFn(0)
59+
on_click RasterViewFn = unsafe { RasterViewFn(0) }
6060
}
6161

6262
// TODO: documentation
@@ -212,7 +212,7 @@ fn rv_key_down(c &ui.CanvasLayout, e ui.KeyEvent) {
212212
fn rv_click(c &ui.CanvasLayout, e ui.MouseEvent) {
213213
mut rv := rasterview_component(c)
214214
rv.sel_i, rv.sel_j = rv.get_index_pos(e.x, e.y)
215-
if rv.on_click != RasterViewFn(0) {
215+
if rv.on_click != unsafe { RasterViewFn(0) } {
216216
rv.on_click(rv)
217217
}
218218
}

component/treeview.v

+4-4
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ pub mut:
145145
// mode
146146
mode string
147147
// event
148-
on_click TreeViewClickFn = TreeViewClickFn(0)
148+
on_click TreeViewClickFn = unsafe { TreeViewClickFn(0) }
149149
}
150150

151151
// constructors
@@ -161,7 +161,7 @@ pub:
161161
incr_mode bool
162162
bg_color gx.Color = gx.white
163163
bg_sel_color gx.Color = gx.light_gray
164-
on_click TreeViewClickFn = TreeViewClickFn(0)
164+
on_click TreeViewClickFn = unsafe { TreeViewClickFn(0) }
165165
indent int = 10
166166
filter_types []string
167167
hidden_files bool
@@ -218,7 +218,7 @@ pub:
218218
filter_types []string
219219
hidden_files bool
220220
bg_color gx.Color = gx.hex(0xfcf4e4ff)
221-
on_click TreeViewClickFn = TreeViewClickFn(0)
221+
on_click TreeViewClickFn = unsafe { TreeViewClickFn(0) }
222222
}
223223

224224
// TODO: documentation
@@ -319,7 +319,7 @@ fn treeview_click(mut c ui.CanvasLayout, e ui.MouseEvent) {
319319
old_sel_c.style.bg_color = tv.bg_color
320320
}
321321
}
322-
if tv.on_click != TreeViewClickFn(0) {
322+
if tv.on_click != unsafe { TreeViewClickFn(0) } {
323323
tv.on_click(c, mut tv)
324324
}
325325

src/button.v

+8-8
Original file line numberDiff line numberDiff line change
@@ -221,13 +221,13 @@ fn btn_key_down(mut b Button, e &KeyEvent, window &Window) {
221221
if !b.is_focused {
222222
return
223223
}
224-
if b.on_key_down != ButtonU32Fn(0) {
224+
if b.on_key_down != unsafe { ButtonU32Fn(0) } {
225225
b.on_key_down(b, e.codepoint)
226226
} else {
227227
// default behavior like click for space and enter
228228
if e.key in [.enter, .space] {
229229
// println("btn key as a click")
230-
if b.on_click != ButtonFn(0) {
230+
if b.on_click != unsafe { ButtonFn(0) } {
231231
b.on_click(b)
232232
}
233233
}
@@ -261,7 +261,7 @@ fn btn_click(mut b Button, e &MouseEvent, window &Window) {
261261
b.state = .pressed
262262
} else if e.action == .up {
263263
b.state = .normal
264-
if b.on_click != ButtonFn(0) && b.is_focused {
264+
if b.on_click != unsafe { ButtonFn(0) } && b.is_focused {
265265
$if btn_onclick ? {
266266
println('onclick ${b.id}')
267267
}
@@ -290,7 +290,7 @@ fn btn_mouse_down(mut b Button, e &MouseEvent, window &Window) {
290290
if !b.just_dragged {
291291
b.state = .pressed
292292
}
293-
if b.on_mouse_down != ButtonMouseFn(0) {
293+
if b.on_mouse_down != unsafe { ButtonMouseFn(0) } {
294294
b.on_mouse_down(b, e)
295295
}
296296
}
@@ -304,7 +304,7 @@ fn btn_mouse_up(mut b Button, e &MouseEvent, window &Window) {
304304
return
305305
}
306306
b.state = .normal
307-
if b.on_mouse_up != ButtonMouseFn(0) {
307+
if b.on_mouse_up != unsafe { ButtonMouseFn(0) } {
308308
b.on_mouse_up(b, e)
309309
}
310310
}
@@ -326,20 +326,20 @@ fn btn_mouse_move(mut b Button, e &MouseMoveEvent, window &Window) {
326326
}
327327
} else {
328328
// to use button as a splitter (no test point_inside)
329-
if b.on_mouse_move != ButtonMouseMoveFn(0) {
329+
if b.on_mouse_move != unsafe { ButtonMouseMoveFn(0) } {
330330
b.on_mouse_move(b, e)
331331
}
332332
}
333333
}
334334

335335
pub fn (mut b Button) mouse_enter(e &MouseMoveEvent) {
336-
if b.on_mouse_enter != ButtonMouseMoveFn(0) {
336+
if b.on_mouse_enter != unsafe { ButtonMouseMoveFn(0) } {
337337
b.on_mouse_enter(b, e)
338338
}
339339
}
340340

341341
pub fn (mut b Button) mouse_leave(e &MouseMoveEvent) {
342-
if b.on_mouse_leave != ButtonMouseMoveFn(0) {
342+
if b.on_mouse_leave != unsafe { ButtonMouseMoveFn(0) } {
343343
b.on_mouse_leave(b, e)
344344
}
345345
}

src/chunkview.v

+2-2
Original file line numberDiff line numberDiff line change
@@ -772,7 +772,7 @@ pub mut:
772772
// scrollview
773773
has_scrollview bool
774774
scrollview &ScrollView = unsafe { nil }
775-
on_scroll_change ScrollViewChangedFn = ScrollViewChangedFn(0)
775+
on_scroll_change ScrollViewChangedFn = unsafe { ScrollViewChangedFn(0) }
776776
bg_color gx.Color
777777
width int
778778
height int
@@ -787,7 +787,7 @@ pub:
787787
clipping bool = true
788788
bg_color gx.Color = gx.white
789789
scrollview bool = true
790-
on_scroll_change ScrollViewChangedFn = ScrollViewChangedFn(0)
790+
on_scroll_change ScrollViewChangedFn = unsafe { ScrollViewChangedFn(0) }
791791
}
792792

793793
pub fn chunkview(p ChunkViewParams) &ChunkView {

0 commit comments

Comments
 (0)