lazarus/components/education/edupkgsystem.pas
mattias 21a6cb800e educationlaz: less hints
git-svn-id: trunk@44083 -
2014-02-15 23:16:19 +00:00

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.