' $Id$ Import noddybox.simplegui Import noddybox.bitmapfont Incbin "font.bmf" Const SCRW=800 Const SCRH=600 SetGraphicsDriver GLMax2DDriver() Graphics SCRW,SCRH,32,60' Or HARDSYNC font:TBitmapFont=TBitmapFont.Load("incbin::font.bmf",0) TGUIFont.font=font Global gui:TGUIHandler=TGUIHandler.Create() Global label1:TLabel=TLabel.Create(gui,0,0,"Text 1:") Global label2:TLabel=TLabel.Create(gui,0,20,"Text 2:") Global text1:TText=TText.Create(gui,label1.w,0,"Text entry 1",20,False,TextCallback) Global text2:TText=TText.Create(gui,label2.w,20,"Text entry 2",30,False) Global check1:TCheckbox=TCheckbox.Create(gui,400,0,"Check 1",CheckCallback) Global check2:TCheckbox=TCheckbox.Create(gui,400,20,"Check 2") Global button1:TButton=TButton.Create(gui,0,360,100,30,"Test Alerts",ButtonCallback) Global button2:TButton=TButton.Create(gui,110,360,100,30,"Quit",ButtonCallback) Global buttonlist:TButtonList=TButtonList.Create(gui,500,0,["Hidden","Globally","Widgets"],0,Null) TLabel.Create(gui,0,60,"Float:") Global numberf:TNumberFloat=TNumberFloat.Create(gui,80,60) TLabel.Create(gui,0,80,"Int:") Global numberi:TNumberInt=TNumberInt.Create(gui,80,80) TLabel.Create(gui,0,100,"Float") TText.Create(gui,100,100,"",20,TText.NUMERIC) TLabel.Create(gui,0,110,"Float pos") TText.Create(gui,100,110,"",20,TText.NUMERIC|TText.POSITIVE) TLabel.Create(gui,0,120,"Int") TText.Create(gui,100,120,"",20,TText.NUMERIC|TText.INTEGER) TLabel.Create(gui,0,130,"Int pos") TText.Create(gui,100,130,"",20,TText.NUMERIC|TText.INTEGER|TText.POSITIVE) Global dialog:TGUIHandler=TGUIHandler.Create() Global dpanel:TPanel=TPanel.Create(dialog,-1,-1,400,300) Global dlab:TLabel=TLabel.Create(dialog,dpanel.x+5,dpanel.y+5,"Enter a number:") Global dnum:TNumberInt=TNumberInt.Create(dialog,dpanel.x+25,dpanel.y+25) Global dok:TButton=TButton.Create(dialog,dpanel.x+5,dpanel.y+dpanel.h-25,dpanel.w/2-10,20,"OK",Null) Global dcan:TButton=TButton.Create(dialog,dpanel.x+dpanel.w/2+5,dpanel.y+dpanel.h-25,dpanel.w/2-10,20,"Cancel",Null) SetBlend(ALPHABLEND) Global quit=False While Not KeyHit(KEY_ESCAPE) And Not quit Cls gui.EventLoop() If KeyHit(KEY_MOUSERIGHT) Menu() EndIf SetColor(255,0,0) DrawRect(390,300,10,numberf.value) SetColor(0,255,0) DrawRect(400,300,10,numberi.value) Flip FlushMem Wend EndGraphics End Function TextCallback(w:TWidget) GUINotify(w.Text) End Function Function CheckCallback(w:TWidget) Local c:TCheckbox=TCheckbox(w) check2.enabled=c.checked text2.enabled=c.checked button2.enabled=c.checked End Function Function ButtonCallback(w:TWidget) If w.text="Quit" quit=GUIYesNo("Really quit this really rather impressive (cough) demo?") Else GUINotify(w.text + " pressed") GUINotify("Hello|World") If GUIYesNo("Test yes/no?") GUINotify("yes") Else GUINotify("no") EndIf If GUIYesNo("Test yes/no|with some very very very long|multiple lines?") GUINotify("yes") Else GUINotify("no") EndIf EndIf End Function Function Menu() Local opt:Int=GUIMenu("A long long Menu",["Test Dialog","Option 1","Option 2","Option 3"],MouseX(),MouseY()) If opt>-1 If opt=0 dnum.value=numberi.value If GUIDialog(dialog,dok,dcan) numberi.value=dnum.value EndIf Else GUINotify("Selected " + opt) EndIf EndIf End Function