mirror of
				https://gitlab.com/freepascal.org/lazarus/lazarus.git
				synced 2025-11-04 14:49:34 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			157 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			157 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
{
 | 
						|
 *****************************************************************************
 | 
						|
  This file is part of the EducationLaz package
 | 
						|
 | 
						|
  See the file COPYING.modifiedLGPL.txt, included in this distribution,
 | 
						|
  for details about the license.
 | 
						|
 *****************************************************************************
 | 
						|
 | 
						|
  Author: Mattias Gaertner
 | 
						|
 | 
						|
  Abstract:
 | 
						|
    Options for Lazarus package system.
 | 
						|
}
 | 
						|
unit EduPkgSystem;
 | 
						|
 | 
						|
{$mode objfpc}{$H+}
 | 
						|
 | 
						|
interface
 | 
						|
 | 
						|
uses
 | 
						|
  Classes, SysUtils, FileUtil, LResources, Forms, Controls, StdCtrls, EduOptions,
 | 
						|
  LazConfigStorage, IDEOptionsIntf;
 | 
						|
 | 
						|
type
 | 
						|
 | 
						|
  { TEduPkgSystemOptions }
 | 
						|
 | 
						|
  TEduPkgSystemOptions = class(TEduOptionsNode)
 | 
						|
  private
 | 
						|
    FHideConfigureInstalledPkgs: boolean;
 | 
						|
    FHideCreatePackage: boolean;
 | 
						|
    FHideOpenPackage: boolean;
 | 
						|
    FHidePackageGraph: boolean;
 | 
						|
    procedure SetHideConfigureInstalledPkgs(const AValue: boolean);
 | 
						|
    procedure SetHideCreatePackage(const AValue: boolean);
 | 
						|
    procedure SetHideOpenPackage(const AValue: boolean);
 | 
						|
    procedure SetHidePackageGraph(const AValue: boolean);
 | 
						|
  public
 | 
						|
    function Load(Config: TConfigStorage): TModalResult; override;
 | 
						|
    function Save(Config: TConfigStorage): TModalResult; override;
 | 
						|
    property HideCreatePackage: boolean read FHideCreatePackage write SetHideCreatePackage;
 | 
						|
    property HideOpenPackage: boolean read FHideOpenPackage write SetHideOpenPackage;
 | 
						|
    property HidePackageGraph: boolean read FHidePackageGraph write SetHidePackageGraph;
 | 
						|
    property HideConfigureInstalledPkgs: boolean read FHideConfigureInstalledPkgs write SetHideConfigureInstalledPkgs;
 | 
						|
  end;
 | 
						|
 | 
						|
  { TEduPkgSystemFrame }
 | 
						|
 | 
						|
  TEduPkgSystemFrame = class(TAbstractIDEOptionsEditor)
 | 
						|
    HideCreatePackageCheckBox: TCheckBox;
 | 
						|
    HideOpenPackageCheckBox: TCheckBox;
 | 
						|
    HidePackageGraphCheckBox: TCheckBox;
 | 
						|
    HideConfigureInstalledPkgsCheckBox: TCheckBox;
 | 
						|
  private
 | 
						|
  public
 | 
						|
    function GetTitle: String; override;
 | 
						|
    procedure Setup({%H-}ADialog: TAbstractOptionsEditorDialog); override;
 | 
						|
    procedure ReadSettings(AOptions: TAbstractIDEOptions); override;
 | 
						|
    procedure WriteSettings(AOptions: TAbstractIDEOptions); override;
 | 
						|
    class function SupportedOptionsClass: TAbstractIDEOptionsClass; override;
 | 
						|
  end;
 | 
						|
 | 
						|
procedure Register;
 | 
						|
 | 
						|
implementation
 | 
						|
 | 
						|
procedure Register;
 | 
						|
begin
 | 
						|
  //EducationOptions.Root.Add(TEduPkgSystemOptions.Create);
 | 
						|
  //RegisterIDEOptionsEditor(GroupEducation,TEduPkgSystemFrame,EduOptionPackagesID);
 | 
						|
end;
 | 
						|
 | 
						|
{ TEduPkgSystemFrame }
 | 
						|
 | 
						|
function TEduPkgSystemFrame.GetTitle: String;
 | 
						|
begin
 | 
						|
  Result:='Packages';
 | 
						|
end;
 | 
						|
 | 
						|
procedure TEduPkgSystemFrame.Setup(ADialog: TAbstractOptionsEditorDialog);
 | 
						|
begin
 | 
						|
  HideCreatePackageCheckBox.Caption:='Hide menu items to create new packages';
 | 
						|
  HideOpenPackageCheckBox.Caption:='Hide menu items to open package';
 | 
						|
  HidePackageGraphCheckBox.Caption:='Hide menu item package graph';
 | 
						|
  HideConfigureInstalledPkgsCheckBox.Caption:='Hide "Configure installed packages"';
 | 
						|
end;
 | 
						|
 | 
						|
procedure TEduPkgSystemFrame.ReadSettings(AOptions: TAbstractIDEOptions);
 | 
						|
begin
 | 
						|
  if AOptions=EducationOptions then begin
 | 
						|
  end;
 | 
						|
end;
 | 
						|
 | 
						|
procedure TEduPkgSystemFrame.WriteSettings(AOptions: TAbstractIDEOptions);
 | 
						|
begin
 | 
						|
  if AOptions=EducationOptions then begin
 | 
						|
  end;
 | 
						|
end;
 | 
						|
 | 
						|
class function TEduPkgSystemFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
 | 
						|
begin
 | 
						|
  Result:=EducationIDEOptionsClass;
 | 
						|
end;
 | 
						|
 | 
						|
{ TEduPkgSystemOptions }
 | 
						|
 | 
						|
procedure TEduPkgSystemOptions.SetHideConfigureInstalledPkgs(
 | 
						|
  const AValue: boolean);
 | 
						|
begin
 | 
						|
  if FHideConfigureInstalledPkgs=AValue then exit;
 | 
						|
  FHideConfigureInstalledPkgs:=AValue;
 | 
						|
  Changed;
 | 
						|
end;
 | 
						|
 | 
						|
procedure TEduPkgSystemOptions.SetHideCreatePackage(const AValue: boolean);
 | 
						|
begin
 | 
						|
  if FHideCreatePackage=AValue then exit;
 | 
						|
  FHideCreatePackage:=AValue;
 | 
						|
  Changed;
 | 
						|
end;
 | 
						|
 | 
						|
procedure TEduPkgSystemOptions.SetHideOpenPackage(const AValue: boolean);
 | 
						|
begin
 | 
						|
  if FHideOpenPackage=AValue then exit;
 | 
						|
  FHideOpenPackage:=AValue;
 | 
						|
  Changed;
 | 
						|
end;
 | 
						|
 | 
						|
procedure TEduPkgSystemOptions.SetHidePackageGraph(const AValue: boolean);
 | 
						|
begin
 | 
						|
  if FHidePackageGraph=AValue then exit;
 | 
						|
  FHidePackageGraph:=AValue;
 | 
						|
  Changed;
 | 
						|
end;
 | 
						|
 | 
						|
function TEduPkgSystemOptions.Load(Config: TConfigStorage): TModalResult;
 | 
						|
begin
 | 
						|
  FHideConfigureInstalledPkgs:=Config.GetValue('HideConfigureInstalledPackages',false);
 | 
						|
  FHideCreatePackage:=Config.GetValue('HideCreatePackage',false);
 | 
						|
  FHideOpenPackage:=Config.GetValue('HideOpenPackage',false);
 | 
						|
  FHidePackageGraph:=Config.GetValue('HidePackageGraph',false);
 | 
						|
  Result:=inherited Load(Config);
 | 
						|
end;
 | 
						|
 | 
						|
function TEduPkgSystemOptions.Save(Config: TConfigStorage): TModalResult;
 | 
						|
begin
 | 
						|
  Config.SetDeleteValue('HideConfigureInstalledPackages',FHideConfigureInstalledPkgs,false);
 | 
						|
  Config.SetDeleteValue('HideCreatePackage',FHideCreatePackage,false);
 | 
						|
  Config.SetDeleteValue('HideOpenPackage',FHideOpenPackage,false);
 | 
						|
  Config.SetDeleteValue('HidePackageGraph',FHidePackageGraph,false);
 | 
						|
  Result:=inherited Save(Config);
 | 
						|
end;
 | 
						|
 | 
						|
{$R *.lfm}
 | 
						|
 | 
						|
end.
 |