; PureBasic Visual Designer v3.95 build 1485 (PB4Code) XIncludeFile "GenMacros.pbi" ;- Window Constants ; Enumeration #Window_Opts=1 EndEnumeration ;- Gadget Constants ; Enumeration #Frame3D_0=#VScrollBar+1 #Radio_Small #Radio_Medium #Radio_Large #Radio_Huge #Text_0 #Button_MapTile #Text_1 #Button_MapUnit #Text_2 #Button_MapRes #Frame3D_1 #Button_MapOK #Button_MapDEF #Button_MapHelp EndEnumeration Procedure Open_Window_Opts(DW) If OpenWindow(#Window_Opts, 260, 125, 429, 133, "New Map Settings", #PB_Window_TitleBar | #PB_Window_WindowCentered ) If CreateGadgetList(WindowID(#Window_Opts)) Frame3DGadget(#Frame3D_0, 10, 10, 140, 110, "Map Size") OptionGadget(#Radio_Small, 20, 30, 110, 20, "Small Map (25x25)") OptionGadget(#Radio_Medium, 20, 50, 120, 20, "Medium Map (50x50)") OptionGadget(#Radio_Large, 20, 70, 120, 20, "Large Map (100x100)") OptionGadget(#Radio_Huge, 20, 90, 120, 20, "Huge Map (200x200)") TextGadget(#Text_0, 170, 30, 50, 20, "Tile Set") ButtonGadget(#Button_MapTile, 230, 30, 120, 20, "Default") TextGadget(#Text_1, 170, 60, 50, 20, "Units") ButtonGadget(#Button_MapUnit, 230, 60, 120, 20, "Default") TextGadget(#Text_2, 170, 90, 50, 20, "Resources") ButtonGadget(#Button_MapRes, 230, 90, 120, 20, "Default") Frame3DGadget(#Frame3D_1, 160, 10, 200, 110, "Structures and Unit Options") ButtonGadget(#Button_MapOK, 370, 10, 50, 30, "OK", #PB_Button_Default) ButtonGadget(#Button_MapDEF, 370, 50, 50, 30, "Default") ButtonGadget(#Button_MapHelp, 370, 90, 50, 30, "Help") SetGadgetState(#Radio_Medium,1) DisableWindow(DW,1) StickyWindow(#Window_Opts,1) Repeat ; Start of the event loop Event = WaitWindowEvent() ; This line waits until an event is received from Windows WindowID = EventWindow() ; The Window where the event is generated, can be used in the gadget procedures GadgetID = EventGadget() ; Is it a gadget event? ;- Gadget Events EventType = EventType() ; The event type If Event=#PB_Event_Gadget Select GadgetID Case #Radio_Small MapWidth=25 MapHeight=25 Case #Radio_Medium MapWidth=50 MapHeight=50 Case #Radio_Large MapWidth=100 MapHeight=100 Case #Radio_Huge MapWidth=200 MapHeight=200 Case #Button_MapTile IIF(MapTileSet="",NFN.s="*.bmp",NFN=MapTileSet) NFN=OpenFileRequester("RTS Maker - Select a tileset",RunPath+NFN,#BMPPattern,0) If NFN MapTileSet=NFN SetGadgetText(#Button_MapTile,GetFilePart(NFN)) EndIf Case #Button_MapUnit IIF(MapUnitSet="",NFN.s="*.rtu",NFN=MapUnitSet) NFN=OpenFileRequester("RTS Maker - Select a tileset",RunPath+NFN,#UnitPattern,0) If NFN MapUnitSet=NFN SetGadgetText(#Button_MapUnit,GetFilePart(NFN)) EndIf Case #Button_MapRes IIF(MapResource="",NFN.s="*.rtr",NFN=MapResource) NFN=OpenFileRequester("RTS Maker - Select a tileset",RunPath+NFN,#ResPattern,0) If NFN MapResource=NFN SetGadgetText(#Button_MapRes,GetFilePart(NFN)) EndIf Case #Button_MapOK Break Case #Button_MapDEF MapWidth=50 MapHeight=50 MapTileSet="" MapUnitSet="" MapResource="" SetGadgetState(#Radio_Medium,1) SetGadgetText(#Button_MapTile,"Default") SetGadgetText(#Button_MapUnit,"Default") SetGadgetText(#Button_MapRes,"Default") Case #Button_MapHelp GetHelp("#new") EndSelect EndIf Until Event=#PB_Event_CloseWindow StickyWindow(#Window_Opts,0) DisableWindow(DW,0) EndIf CloseWindow(#Window_Opts) EndIf EndProcedure