[bmx] System Requestors for MaxGUI by JoshK [ 1+ years ago ]

Started by BlitzBot, June 29, 2017, 00:28:42

Previous topic - Next topic

BlitzBot

Title : System Requestors for MaxGUI
Author : JoshK
Posted : 1+ years ago

Description : brl.system requestors that disable all program windows while open

Code :
Code (blitzmax) Select
SuperStrict

Import brl.system
Import maxgui.maxgui

Private

Global disabledwindowslist:TList

Function TopMostGadget:TGadget(gadget:TGadget)
While gadget.parent
gadget=gadget.parent
Wend
Return gadget
EndFunction

Function DisableWindows(gadget:TGadget)
If Not disabledwindowslist disabledwindowslist=New TList
If Not GadgetDisabled(gadget)
DisableGadget gadget
disabledwindowslist.addlast(gadget)
EndIf
For gadget=EachIn gadget.kids
If GadgetClass(gadget)=GADGET_WINDOW
DisableWindows gadget
EndIf
Next
EndFunction

Public

Function Notify:Int(text:String,serious:Int=False)
Local result:Int
Local gadget:TGadget

gadget=ActiveGadget()
If gadget
gadget=TopMostGadget(gadget)
DisableWindows(gadget)
EndIf

result=brl.system.Notify(text,serious)

If disabledwindowslist
For gadget=EachIn disabledwindowslist
EnableGadget gadget
Next
disabledwindowslist=Null
EndIf

Return result
EndFunction

Function Confirm:Int(text:String,serious:Int=False)
Local result:Int
Local gadget:TGadget

gadget=ActiveGadget()
If gadget
gadget=TopMostGadget(gadget)
DisableWindows(gadget)
EndIf

result=brl.system.Confirm(text,serious)

If disabledwindowslist
For gadget=EachIn disabledwindowslist
EnableGadget gadget
Next
disabledwindowslist=Null
EndIf

Return result
EndFunction

Function Proceed:Int(text:String,serious:Int=False)
Local result:Int
Local gadget:TGadget

gadget=ActiveGadget()
If gadget
gadget=TopMostGadget(gadget)
DisableWindows(gadget)
EndIf

result=brl.system.Proceed(text,serious)

If disabledwindowslist
For gadget=EachIn disabledwindowslist
EnableGadget gadget
Next
disabledwindowslist=Null
EndIf

Return result
EndFunction

Function RequestDir:String(text:String,initial_path:String="")
Local result:String
Local gadget:TGadget

gadget=ActiveGadget()
If gadget
gadget=TopMostGadget(gadget)
DisableWindows(gadget)
EndIf

result=brl.system.RequestDir(text,initial_path)

If disabledwindowslist
For gadget=EachIn disabledwindowslist
EnableGadget gadget
Next
disabledwindowslist=Null
EndIf

Return result
EndFunction

Function RequestFile:String(text:String,extensions:String="",save_flag:Int=False,initial_path:String="")
Local result:String
Local gadget:TGadget

gadget=ActiveGadget()
If gadget
gadget=TopMostGadget(gadget)
DisableWindows(gadget)
EndIf

result=brl.system.RequestFile(text,extensions,save_flag,initial_path)

If disabledwindowslist
For gadget=EachIn disabledwindowslist
EnableGadget gadget
Next
disabledwindowslist=Null
EndIf

Return result
EndFunction


Comments : none...