1 global {
2 str gfgstart = "//!GFG "
3 str gfgend = "//!\\GFG"
4 }
5
6 func uint replcode( str src, lab, labnew, newcode )
7 {
8 spattern sp
9 uint offs, offe
10 sp.init( gfgstart + lab, 0 )
11 offs = sp.search( src, 0 )
12 if offs != *src
13 {
14 sp.init( gfgend, 0 )
15 offe = sp.search( src, offs )
16 if offe != *src
17 {
18 src.replace( offs, offe - offs + *gfgend, gfgstart+labnew+"\l"+newcode+gfgend )
19 return 1
20 }
21 }
22 return 0
23 }
24
25 func uint replcode( str src, lab, newcode )
26 {
27 return replcode( src, lab, lab, newcode )
28 }
29
30 func inscode( str src, lab, newcode, endcode )
31 {
32 src@"\l"@gfgstart@lab@\"\l"@newcode@gfgend@"\l"@endcode@"\l"
33 }
34
35 func delcode( str src, lab )
36 {
37 spattern sp
38 uint offs, offe
39 sp.init( gfgstart + lab, 0 )
40 offs = sp.search( src, 0 )
41 if offs != *src
42 {
43 sp.init( gfgend, 0 )
44 offe = sp.search( src, offs )
45 if offe != *src
46 {
47 src.replace( offs, offe - offs + *gfgend, "" )
48 return 1
49 }
50 }
51 return 0
52 }
53
54 /*includetxt, includetxtend
55 formlist, in
56 */
57
58 /*
59 //!GFG и //!\GFG are commentary attributes generated by
60 the Gentee form editor. You should neither delete them
61 nor make any changes into the source code from the beginning
62 of the commentary attribute //!GFG to its end //!\GFG
63 *//*8
64 //!GFG include
65 include {
66 "app.g"
67 "btn.g"
68 "panel.g"
69 "edit.g"
70 "listbox.g" //!\GFG
71
72 }
73
74
75 //!GFG type
76 type vform0 <inherit = vform>
77 {
78 vedit edit0
79 vbtn btn0
80 vedit edit1
81 vbtn btn1 //!\GFG
82 }
83
84 //!GFG method edit0_change eventn
85 method uint vform0.edit0_change( eventn evn )//!GFG*/