[Gambas-user] Custom ShowModal() Is it good enough?

Bruce Steers bsteers4 at gmail.com
Tue Nov 8 14:37:37 CET 2022


Hi all.

Would the following code be an acceptable ShowModal() override/replacement
in a Form.class for a pseudo modal window?
This overrides modal window positioning center screen, with properties
StickyModals and StickyForms it forces modals or forms to center on active
window if required and if a forms X,Y has not been explicitly set.

My doubt is in the way i am making ShowModal() open a non-modal window but
in a modal mode (i think)
Can someone look at the ShowModal() method I've used and let me know if
it's missing anything vital that a modal window requires?

Attached is a test application that shows how it works, you can
enable/disable the properties and test Message, Modal, Form opening.

Thanks in advance
BruceS


' Gambas class file

Create Static

Export

Private $bIsModal As Boolean
Private $iModalValue As Integer

'' Make all modal windows center on the active window
Static Property StickyModals As Boolean Use $bStickyModals
'' Make all form windows without X,Y set center on the active window
Static Property StickyForm As Boolean Use $bStickyForm

Public Sub Show()

  Dim XY As Integer = -16 ' gtk uses -16 and a non set position value, qt
uses 0
  If Component.IsLoaded("gb.qt4") Or If Component.IsLoaded("gb.qt5") Then
xy = 0

  If $bStickyForm And If Me.X = xy And If Me.Y = xy And If
Application.ActiveWindow Then MoveMe
  Super.Show

End

Private Sub MoveMe()

  With Application.ActiveWindow
    Me.Move(.X + (.W / 2) - (Me.W / 2), .Y + (.H / 2) - (Me.H / 2))
  End With

End

Public Sub ShowModal() As Integer

  If $bStickyModals And If Application.ActiveWindow Then
    Dim hWin As Window = Application.ActiveWindow
    Dim bEnabled As Boolean = hWin.Enabled
    $bIsModal = True
    MoveMe
    hWin.Enabled = False
    Me.Utility = True
    Me.Show
    While Object.IsValid(Me)
      Wait 0.1
    Wend

    hWin.Enabled = bEnabled

    Return $iModalValue

  Else
    Return Super.ShowModal()
  Endif

End

Public Sub Close(Optional Value As Integer) As Boolean

  If $bIsModal Then
    $iModalValue = Value
  Endif
  Super.Close(Value)

End
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gambas-basic.org/pipermail/user/attachments/20221108/bd04ba64/attachment-0001.htm>
-------------- next part --------------
<salt FCKGM-0001-7B3B-C72F-2EFD>
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
f7sTbNAAeAAA
</salt>


More information about the User mailing list