diff options
Diffstat (limited to 'src/corelib/fpg_base.pas')
-rw-r--r-- | src/corelib/fpg_base.pas | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/corelib/fpg_base.pas b/src/corelib/fpg_base.pas index 37e19471..979ac61a 100644 --- a/src/corelib/fpg_base.pas +++ b/src/corelib/fpg_base.pas @@ -45,7 +45,7 @@ type TWindowType = (wtChild, wtWindow, wtModalForm, wtPopup); - TWindowAttribute = (waSizeable, waAutoPos, waScreenCenterPos, waStayOnTop, waFullScreen, waBorderless); + TWindowAttribute = (waSizeable, waAutoPos, waScreenCenterPos, waStayOnTop, waFullScreen, waBorderless, waUnblockableMessages, waX11SkipWMHints); TWindowAttributes = set of TWindowAttribute; TMouseCursor = (mcDefault, mcArrow, mcCross, mcIBeam, mcSizeEW, mcSizeNS, @@ -453,6 +453,8 @@ type end; + { TfpgApplicationBase } + TfpgApplicationBase = class(TComponent) private FMainForm: TfpgWindowBase; @@ -473,6 +475,7 @@ type procedure PushModalForm(AForm: TfpgWindowBase); procedure PopModalForm; function PrevModalForm: TfpgWindowBase; + function RemoveWindowFromModalStack(AForm: TfpgWindowBase): Integer; procedure CreateForm(AFormClass: TComponentClass; out AForm: TfpgWindowBase); function GetScreenWidth: TfpgCoord; virtual; abstract; function GetScreenHeight: TfpgCoord; virtual; abstract; @@ -2112,6 +2115,11 @@ begin Result := TfpgWindowBase(FModalFormStack.Items[FModalFormStack.Count-2]); end; +function TfpgApplicationBase.RemoveWindowFromModalStack (AForm: TfpgWindowBase): Integer; +begin + Result := FModalFormStack.Remove(AForm); +end; + procedure TfpgApplicationBase.CreateForm(AFormClass: TComponentClass; out AForm: TfpgWindowBase); begin |