Răsfoiți Sursa

design: new fresnel form: add dependency Fresnel or FresnelLCL

mattias 1 an în urmă
părinte
comite
9e9c022757
1 a modificat fișierele cu 20 adăugiri și 0 ștergeri
  1. 20 0
      design/fresnel.register.pas

+ 20 - 0
design/fresnel.register.pas

@@ -70,6 +70,8 @@ type
   TFileDescFresnelForm = class(TFileDescPascalUnitWithResource)
   TFileDescFresnelForm = class(TFileDescPascalUnitWithResource)
   public
   public
     constructor Create; override;
     constructor Create; override;
+    function Init(var NewFilename: string; NewOwner: TObject;
+      var NewSource: string; Quiet: boolean): TModalResult; override;
     function GetInterfaceUsesSection: string; override;
     function GetInterfaceUsesSection: string; override;
     function GetLocalizedName: string; override;
     function GetLocalizedName: string; override;
     function GetLocalizedDescription: string; override;
     function GetLocalizedDescription: string; override;
@@ -382,6 +384,24 @@ begin
   UseCreateFormStatements:=true;
   UseCreateFormStatements:=true;
 end;
 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;
 function TFileDescFresnelForm.GetInterfaceUsesSection: string;
 begin
 begin
   Result:='Classes, SysUtils, Fresnel.Classes, Fresnel.Forms, Fresnel.DOM, Fresnel.Controls';
   Result:='Classes, SysUtils, Fresnel.Classes, Fresnel.Forms, Fresnel.DOM, Fresnel.Controls';