ソースを参照

design: new fresnel form: add dependency Fresnel or FresnelLCL

mattias 1 年間 前
コミット
9e9c022757
1 ファイル変更20 行追加0 行削除
  1. 20 0
      design/fresnel.register.pas

+ 20 - 0
design/fresnel.register.pas

@@ -70,6 +70,8 @@ type
   TFileDescFresnelForm = class(TFileDescPascalUnitWithResource)
   public
     constructor Create; override;
+    function Init(var NewFilename: string; NewOwner: TObject;
+      var NewSource: string; Quiet: boolean): TModalResult; override;
     function GetInterfaceUsesSection: string; override;
     function GetLocalizedName: string; override;
     function GetLocalizedDescription: string; override;
@@ -382,6 +384,24 @@ begin
   UseCreateFormStatements:=true;
 end;
 
+function TFileDescFresnelForm.Init(var NewFilename: string; NewOwner: TObject;
+  var NewSource: string; Quiet: boolean): TModalResult;
+var
+  aProject: TLazProject;
+  DependencyOwner: TObject;
+begin
+  // if project uses the LCL, add dependency FresnelLCL else Fresnel
+  aProject:=LazarusIDE.ActiveProject;
+  RequiredPackages:='Fresnel;FresnelDsgn';
+  if aProject<>nil then
+  begin
+    if PackageEditingInterface.IsOwnerDependingOnPkg(aProject,'LCL',DependencyOwner) then
+      RequiredPackages:='FresnelLCL;FresnelDsgn';
+  end;
+
+  Result:=inherited Init(NewFilename, NewOwner, NewSource, Quiet);
+end;
+
 function TFileDescFresnelForm.GetInterfaceUsesSection: string;
 begin
   Result:='Classes, SysUtils, Fresnel.Classes, Fresnel.Forms, Fresnel.DOM, Fresnel.Controls';