fb-doc
0.4.0
FreeBASIC documentation tool
fbdoc_emit_gtk.bas
Go to the documentation of this file.
1
28
29
#INCLUDE ONCE
"
fbdoc_options.bi
"
30
#INCLUDE ONCE
"
fbdoc_version.bi
"
31
32
33
CONST
_
34
SINCE
=
NL
&
"Since: 0.0"
, _
35
GTK_START
=
"/'* "
, _
36
GTK_END
=
NL
& _
37
NL
&
TOFIX
& _
38
NL
&
SINCE
& _
39
NL
&
COMM_END
40
41
42
50
SUB
gtk_emit_Name
CDECL
(
BYVAL
P
AS
Parser
PTR
)
51
WITH
*P
'&Parser* P;
52
IF
.NamTok
THEN
Code(
NL
&
"@"
& P->
SubStr
(P->NamTok) &
": "
&
TOFIX
)
53
END WITH
54
END SUB
55
56
57
65
SUB
gtk_defi_
CDECL
(
BYVAL
P
AS
Parser
PTR
)
66
WITH
*P
'&Parser* P;
67
emit_source
(P, .StaTok[1])
68
Code(
GTK_START
& .
SubStr
(.NamTok) &
":"
&
GTK_END
)
69
END WITH
70
END SUB
71
72
73
81
SUB
gtk_decl_
CDECL
(
BYVAL
P
AS
Parser
PTR
)
82
WITH
*P
'&Parser* P;
83
IF 0
= .ListCount
THEN
84
emit_source
(P, .Tk1[1])
85
Code(
GTK_START
& .
SubStr
(.NamTok) &
":"
)
86
END IF
87
88
IF 0
= .FunTok
THEN
gtk_emit_Name
(P) _
89
ELSE IF
.ParTok
THEN
.
parseListPara
(@
gtk_emit_Name
())
90
91
IF
*.CurTok > .TOK_EOS
THEN EXIT SUB
92
Code(
GTK_END
)
93
94
IF 0
= .FunTok
THEN EXIT SUB
95
Code(
"'' "
& PROJ_NAME &
"-hint: consider to document the functions body instead."
&
NL
)
96
END WITH
97
END SUB
98
99
100
109
SUB
gtk_func_
CDECL
(
BYVAL
P
AS
Parser
PTR
)
' !!! ToDo member functions
110
WITH
*P
'&Parser* P;
111
VAR
t = .TypTok
112
emit_source
(P, .StaTok[1])
113
Code(
GTK_START
& .
SubStr
(.NamTok) &
":"
)
114
IF
.ParTok
THEN
.
parseListPara
(@
gtk_emit_Name
())
115
116
Code( _
117
NL
& _
118
NL
&
TOFIX
)
119
IF
t
THEN
Code( _
120
NL
& _
121
NL
&
"Returns: "
&
TOFIX
)
122
Code(
SINCE
& _
123
NL
&
COMM_END
)
124
END WITH
125
END SUB
126
127
128
136
SUB
gtk_emitBlockNames
CDECL
(
BYVAL
P
AS
Parser
PTR
)
137
WITH
*P
'&Parser* P;
138
SELECT CASE
AS CONST
*.Tk1
139
CASE
.TOK_PRIV, .TOK_PROT
': .SrcBgn = 0 ' !!! ToDo: hide private?
140
CASE
.TOK_PUBL
': .SrcBgn = 1
141
CASE
.TOK_CLAS, .TOK_TYPE, .TOK_UNIO
142
.
parseBlockTyUn
(@
gtk_emitBlockNames
())
143
CASE
.TOK_ENUM
144
.
parseBlockEnum
(@
gtk_emit_Name
())
145
CASE ELSE
:
IF 0
= .NamTok
THEN EXIT SUB
146
gtk_emit_Name
(P)
147
END SELECT
148
END WITH
149
END SUB
150
151
152
160
SUB
gtk_Block
CDECL
(
BYVAL
P
AS
Parser
PTR
)
161
WITH
*P
'&Parser* P;
162
emit_source
(P, .StaTok[1])
163
Code(
GTK_START
)
164
IF LEN
(.BlockNam)
THEN
Code(.BlockNam &
":"
)
165
166
SELECT CASE
AS CONST
*.Tk1
167
CASE
.TOK_ENUM : .
parseBlockEnum
(@
gtk_emit_Name
())
168
CASE ELSE
: .
parseBlockTyUn
(@
gtk_emitBlockNames
())
169
END SELECT
170
171
Code(
GTK_END
)
172
END WITH
173
END SUB
174
175
176
184
SUB
gtk_empty
CDECL
(
BYVAL
P
AS
Parser
PTR
)
185
WITH
*P
'&Parser* P;
186
Code(
GTK_START
& _
187
"SECTION: "
&
TOFIX
& _
188
NL
&
"@short_description: "
&
TOFIX
& _
189
NL
&
"@title: "
&
TOFIX
& _
190
NL
&
"@section_id: "
&
TOFIX
& _
191
NL
&
"@see_also: "
&
TOFIX
& _
192
NL
&
"@stability: "
&
TOFIX
& _
193
NL
&
"@include: "
&
TOFIX
& _
194
NL
&
"@image: "
&
TOFIX
& _
195
GTK_END
& _
196
NL
)
197
END WITH
198
END SUB
199
200
201
202
209
SUB
init_gtk
(
BYVAL
Emi
AS
EmitterIF
PTR
)
210
WITH
*Emi
211
.Error_ = @
emit_error
()
212
213
.Func_ = @
gtk_func_
()
214
.Decl_ = @
gtk_decl_
()
215
.Defi_ = @
gtk_defi_
()
216
.Enum_ = @
gtk_Block
()
217
.Unio_ = @
gtk_Block
()
218
.Clas_ = @
gtk_Block
()
219
.Init_ = @
geany_init
()
220
.Exit_ = @
geany_exit
()
221
.Empty_ = @
gtk_empty
()
222
END WITH
223
END SUB
224
225
src
bas
fbdoc_emit_gtk.bas
Generated on Tue Nov 22 2016 17:50:33 for fb-doc by
1.8.11