document maxgui addon
BlitzMax Forums/MaxGUI Module/document maxgui addon| 
 | ||
| Hi ! I have add some functions to maxgui, and i would like them to be documented => building works fine, and functions work too but, a part doesn't want to document : here are my modifs: dir = mod/brl.mod/maxgui.mod/ in Type gadget (gadget.bmx) Field Gadget_Class:Int in maxgui.bmx Rem bbdoc: Retourne le nom de la Classe d un gadget about: [ Classe | Nom$ * GADGET_DESKTOP | Desktop * GADGET_WINDOW | Window * GADGET_BUTTON | Button * GADGET_PANEL | Panel * GADGET_TEXTFIELD | TextField * GADGET_TEXTAREA | TextArea * GADGET_COMBOBOX | ComboBox * GADGET_LISTBOX | ListBox * GADGET_TOOLBAR | ToolBar * GADGET_TABBER | Tabber * GADGET_TREEVIEW | TreeView * GADGET_HTMLVIEW | HtmlView * GADGET_LABEL | Label * GADGET_SLIDER | Slider * GADGET_PROGBAR | ProgBar * GADGET_MENUITEM | MenuItem * GADGET_NODE | Node * GADGET_CANVAS | Canvas * GADGET_TIMER | Timer ] retourne "NOT_GADGET" si la classe ne correspond pas a un gadget de MAXGui retourne "Null" si le gadget n'existe pas/plus See Also: #GadgetClasse, #GadgetIsWindow EndRem Function GadgetGetClasse$(gadget:TGadget) If gadget=Null Return "Null" Select gadget.Gadget_Class Case GADGET_DESKTOP Return "Desktop" Case GADGET_WINDOW Return "Window" Case GADGET_BUTTON Return "Button" Case GADGET_PANEL Return "Panel" Case GADGET_TEXTFIELD Return "TextField" Case GADGET_TEXTAREA Return "TextArea" Case GADGET_COMBOBOX Return "ComboBox" Case GADGET_LISTBOX Return "ListBox" Case GADGET_TOOLBAR Return "ToolBar" Case GADGET_TABBER Return "Tabber" Case GADGET_TREEVIEW Return "TreeView" Case GADGET_HTMLVIEW Return "HtmlView" Case GADGET_LABEL Return "Label" Case GADGET_SLIDER Return "Slider" Case GADGET_PROGBAR Return "ProgBar" Case GADGET_MENUITEM Return "MenuItem" Case GADGET_NODE Return "Node" Case GADGET_CANVAS Return "Canvas" Case GADGET_TIMER Return "Timer" End Select Return "NOT_GADGET" End Function Rem bbdoc: Retourne la classe d un gadget about: [ Classe | Return Integer * GADGET_DESKTOP | 0 * GADGET_WINDOW | 1 * GADGET_BUTTON | 2 * GADGET_PANEL | 3 * GADGET_TEXTFIELD | 4 * GADGET_TEXTAREA | 5 * GADGET_COMBOBOX | 6 * GADGET_LISTBOX | 7 * GADGET_TOOLBAR | 8 * GADGET_TABBER | 9 * GADGET_TREEVIEW | 10 * GADGET_HTMLVIEW | 11 * GADGET_LABEL | 12 * GADGET_SLIDER | 13 * GADGET_PROGBAR | 14 * GADGET_MENUITEM | 15 * GADGET_NODE | 16 * GADGET_CANVAS | 17 * GADGET_TIMER | 18 ] See Also: #GadgetIsWindow, #GadgetGetClasse EndRem Function GadgetClasse:Int(gadget:TGadget) Return gadget.Gadget_Class End Function Rem bbdoc: Retourne true si le gadget est de forme "Window" ( CreateWindow) about: retourne "1" si le gadget est une "window" , sinon retourne "0" See Also: #CreateWindow, #GadgetGetClasse EndRem Function GadgetIsWindow:Int(gadget:TGadget) If GadgetClasse(gadget)=GADGET_WINDOW Return 1 Return False End Function and for each Create"gadget" function, I modified the functions: Function CreateMenu:TGadget( text$,tag,parent:TGadget,hotKey=0,modifier=0 ) Local gadget:TGadget=maxgui_driver.CreateGadget(GADGET_MENUITEM,text,0,0,0,0,parent,tag) gadget.Gadget_Class=GADGET_MENUITEM If gadget And hotKey SetGadgetHotKey gadget,hotKey,modifier Return gadget End Function Function Desktop:TGadget() Local gadget:TGadget=maxgui_driver.CreateGadget(GADGET_DESKTOP,"",0,0,0,0,Null,0) gadget.Gadget_Class=GADGET_DESKTOP Return gadget End Function etc... the functions : GadgetGetClasse(gadget) return the "type" of the gadget with a string "Desktop", "Window" , "ListBox" etc... GadgetClasse(gadget) return the "Id" in Integer, associated with the creation GADGET_DESKTOP =0 , GADGET_WINDOW =1 etc... GadgetIsWindow(gadget) return true if the gadget is a window... problem : building documention does not halt, but does not document the function GadgetGetClasse() Is there a mistake in my code ? | 
| 
 | ||
| here is an example showing the stuff 
win1:TGadget	=	CreateWindow("win1"		,010,010,400,500,Null)
win2:TGadget	=	CreateWindow("win2"		,450,010,250,200,win1)
win3:TGadget	=	CreateWindow("win3"		,450,350,250,200,win1)
btn10:TGadget	=	CreateButton("btn10"	,010,20,100,20,win1)
btn11:TGadget	=	CreateButton("btn11"	,120,20,100,20,win1)
btn20:TGadget	=	CreateButton("btn20"	,010,20,100,20,win2)
btn21:TGadget	=	CreateButton("btn21"	,120,20,100,20,win2)
btn30:TGadget	=	CreateButton("btn30"	,010,20,100,20,win3)
btn31:TGadget	=	CreateButton("btn31"	,120,20,100,20,win3)
lbl10:TGadget	=	CreateLabel	("label 10"	,250,20,100,20,win1)
lbl20:TGadget	=	CreateLabel	("label 20"	,010,50,100,20,win2)
lbl30:TGadget	=	CreateLabel	("label 30"	,010,50,100,20,win3)
can:TGadget		=	CreateCanvas(10,60,380,420,win1)
Print "classe btn10    :"+GadgetGetClasse	(btn10)
Print "classe win1     :"+GadgetGetClasse	(win1)
Print "classe win2     :"+GadgetGetClasse	(win2)
Print "classe win3     :"+GadgetGetClasse	(win3)
Print "classe lbl10    :"+GadgetGetClasse	(lbl10)
Print "classe lbl20    :"+GadgetGetClasse	(lbl20)
Print "classe lbl30    :"+GadgetGetClasse	(lbl30)
While True
	WaitEvent 
	Select EventID()
		Case EVENT_WINDOWCLOSE
			End
	End Select
	SetGraphics CanvasGraphics(can)
	Cls
	DrawText " =====Gadget on active window ========="	,10,000
	DrawText " btn10:"+MaxGUI_GadgetActiveWindow(btn10)	,10,015
	DrawText " btn11:"+MaxGUI_GadgetActiveWindow(btn11)	,10,030
	DrawText " btn20:"+MaxGUI_GadgetActiveWindow(btn20)	,10,045
	DrawText " btn21:"+MaxGUI_GadgetActiveWindow(btn21)	,10,060
	DrawText " btn30:"+MaxGUI_GadgetActiveWindow(btn30)	,10,075
	DrawText " btn31:"+MaxGUI_GadgetActiveWindow(btn31)	,10,090
	DrawText " ========= gadget is Window ==========="	,10,120
	DrawText " btn10 :"+GadgetIsWindow(btn10)			,10,135
	DrawText " btn11 :"+GadgetIsWindow(btn11)			,10,150
	DrawText " btn20 :"+GadgetIsWindow(btn20)			,10,165
	DrawText " btn21 :"+GadgetIsWindow(btn21)			,10,180
	DrawText " btn30 :"+GadgetIsWindow(btn30)			,10,195
	DrawText " btn31 :"+GadgetIsWindow(btn31)			,10,210
	DrawText " win1  :"+GadgetIsWindow(win1)			,10,225
	DrawText " win2  :"+GadgetIsWindow(win2)			,10,240
	DrawText " win3  :"+GadgetIsWindow(win3)			,10,255
	DrawText " ========= gadget classe =============="	,10,280
	DrawText " win1  :"+GadgetGetClasse(win1)			,10,295
	DrawText " btn10 :"+GadgetGetClasse(btn10)			,10,310
	DrawText " lbl10 :"+GadgetGetClasse(lbl10)			,10,325
	DrawText " canvas:"+GadgetGetClasse(can)			,10,340
	Flip
Wend
Function MaxGUI_MainWindow:TGadget(gad:TGadget)
	Local parent:TGadget=GadgetGroup(gad)
	If parent=Null Return gad
	Return MaxGUI_MainWindow(parent)
End Function
Function MaxGUI_GetWindow:TGadget(gad:TGadget)
	If gad=Null Return Null
	If GadgetIsWindow(gad)	Return gad
	Return MaxGUI_GetWindow(GadgetGroup(gad))
End Function
Function MaxGUI_GadgetActiveWindow:Int(gad:TGadget)
	Local l_curgad:TGadget=ActiveGadget()
	Local l_CurWin:TGadget=MaxGUI_GetWindow(l_curgad)
	Local l_BtnWin:TGadget=MaxGUI_GetWindow(gad)
	If l_CurWin=l_BtnWin Return True
	Return False
End Function
If you made the modifications and rebuild maxGui, you'll see the function GadgetGetClasse not highlighted, but working fine | 
| 
 | ||
| Now it runs. I modified 2 things: -> removed the tab before "doc" and function 'GadgetGetClasse' -> removed the "'" in the comment I don't know which one debugged the doc but now it's ok. |