mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-09 15:28:14 +02:00
vclass: Stores the result of FindWSComponentClass
git-svn-id: trunk@55121 -
This commit is contained in:
parent
ec4473a91a
commit
0886cc5c9c
@ -47,6 +47,8 @@ type
|
||||
|
||||
TWSCommonDialogClass = class of TWSCommonDialog;
|
||||
TWSCommonDialog = class(TWSLCLComponent)
|
||||
public class var
|
||||
WSCommonDialog_WSClass: TWSCommonDialogClass;
|
||||
published
|
||||
class function CreateHandle(const ACommonDialog: TCommonDialog): THandle; virtual;
|
||||
class procedure ShowModal(const ACommonDialog: TCommonDialog); virtual;
|
||||
@ -54,16 +56,6 @@ type
|
||||
class function QueryWSEventCapabilities(const ACommonDialog: TCommonDialog): TCDWSEventCapabilities; virtual;
|
||||
end;
|
||||
|
||||
{ TWSCommonDialog_CallWS }
|
||||
|
||||
TWSCommonDialog_CallWS = class(TWSCommonDialog)
|
||||
published
|
||||
class function CreateHandle(const ACommonDialog: TCommonDialog): THandle; override;
|
||||
class procedure ShowModal(const ACommonDialog: TCommonDialog); override;
|
||||
class procedure DestroyHandle(const ACommonDialog: TCommonDialog); override;
|
||||
class function QueryWSEventCapabilities(const ACommonDialog: TCommonDialog): TCDWSEventCapabilities; override;
|
||||
end;
|
||||
|
||||
{ TWSFileDialog }
|
||||
|
||||
TWSFileDialog = class(TWSCommonDialog)
|
||||
@ -102,8 +94,12 @@ type
|
||||
|
||||
{ TWSFontDialog }
|
||||
|
||||
TWSFontDialog = class(TWSCommonDialog_CallWS)
|
||||
TWSFontDialog = class(TWSCommonDialog)
|
||||
published
|
||||
class function CreateHandle(const ACommonDialog: TCommonDialog): THandle; override;
|
||||
class procedure ShowModal(const ACommonDialog: TCommonDialog); override;
|
||||
class procedure DestroyHandle(const ACommonDialog: TCommonDialog); override;
|
||||
class function QueryWSEventCapabilities(const ACommonDialog: TCommonDialog): TCDWSEventCapabilities; override;
|
||||
end;
|
||||
|
||||
{ WidgetSetRegistration }
|
||||
@ -141,56 +137,52 @@ class procedure TWSCommonDialog.ShowModal(const ACommonDialog: TCommonDialog);
|
||||
begin
|
||||
end;
|
||||
|
||||
{ TWSCommonDialog_CallWS }
|
||||
{ TWSFontDialog }
|
||||
|
||||
class function TWSCommonDialog_CallWS.CreateHandle(const ACommonDialog: TCommonDialog): THandle;
|
||||
var
|
||||
lWSClass: TWSCommonDialogClass;
|
||||
class function TWSFontDialog.CreateHandle(const ACommonDialog: TCommonDialog): THandle;
|
||||
begin
|
||||
lWSClass := TWSCommonDialogClass(FindWSComponentClass(TCommonDialog));
|
||||
if lWSClass <> nil then
|
||||
if WSCommonDialog_WSClass = nil then
|
||||
WSCommonDialog_WSClass := TWSCommonDialogClass(FindWSComponentClass(TCommonDialog));
|
||||
if WSCommonDialog_WSClass <> nil then
|
||||
begin
|
||||
Result := lWSClass.CreateHandle(ACommonDialog);
|
||||
Result := WSCommonDialog_WSClass.CreateHandle(ACommonDialog);
|
||||
Exit;
|
||||
end;
|
||||
Result:=inherited CreateHandle(ACommonDialog)
|
||||
end;
|
||||
|
||||
class procedure TWSCommonDialog_CallWS.ShowModal(const ACommonDialog: TCommonDialog);
|
||||
var
|
||||
lWSClass: TWSCommonDialogClass;
|
||||
class procedure TWSFontDialog.ShowModal(const ACommonDialog: TCommonDialog);
|
||||
begin
|
||||
lWSClass := TWSCommonDialogClass(FindWSComponentClass(TCommonDialog));
|
||||
if lWSClass <> nil then
|
||||
if WSCommonDialog_WSClass = nil then
|
||||
WSCommonDialog_WSClass := TWSCommonDialogClass(FindWSComponentClass(TCommonDialog));
|
||||
if WSCommonDialog_WSClass <> nil then
|
||||
begin
|
||||
lWSClass.ShowModal(ACommonDialog);
|
||||
WSCommonDialog_WSClass.ShowModal(ACommonDialog);
|
||||
Exit;
|
||||
end;
|
||||
inherited ShowModal(ACommonDialog);
|
||||
end;
|
||||
|
||||
class procedure TWSCommonDialog_CallWS.DestroyHandle(const ACommonDialog: TCommonDialog);
|
||||
var
|
||||
lWSClass: TWSCommonDialogClass;
|
||||
class procedure TWSFontDialog.DestroyHandle(const ACommonDialog: TCommonDialog);
|
||||
begin
|
||||
lWSClass := TWSCommonDialogClass(FindWSComponentClass(TCommonDialog));
|
||||
if lWSClass <> nil then
|
||||
if WSCommonDialog_WSClass = nil then
|
||||
WSCommonDialog_WSClass := TWSCommonDialogClass(FindWSComponentClass(TCommonDialog));
|
||||
if WSCommonDialog_WSClass <> nil then
|
||||
begin
|
||||
lWSClass.DestroyHandle(ACommonDialog);
|
||||
WSCommonDialog_WSClass.DestroyHandle(ACommonDialog);
|
||||
Exit;
|
||||
end;
|
||||
inherited DestroyHandle(ACommonDialog);
|
||||
end;
|
||||
|
||||
class function TWSCommonDialog_CallWS.QueryWSEventCapabilities(
|
||||
class function TWSFontDialog.QueryWSEventCapabilities(
|
||||
const ACommonDialog: TCommonDialog): TCDWSEventCapabilities;
|
||||
var
|
||||
lWSClass: TWSCommonDialogClass;
|
||||
begin
|
||||
lWSClass := TWSCommonDialogClass(FindWSComponentClass(TCommonDialog));
|
||||
if lWSClass <> nil then
|
||||
if WSCommonDialog_WSClass = nil then
|
||||
WSCommonDialog_WSClass := TWSCommonDialogClass(FindWSComponentClass(TCommonDialog));
|
||||
if WSCommonDialog_WSClass <> nil then
|
||||
begin
|
||||
Result := lWSClass.QueryWSEventCapabilities(ACommonDialog);
|
||||
Result := WSCommonDialog_WSClass.QueryWSEventCapabilities(ACommonDialog);
|
||||
Exit;
|
||||
end;
|
||||
Result:=inherited QueryWSEventCapabilities(ACommonDialog);
|
||||
|
Loading…
Reference in New Issue
Block a user