1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154
|
{
*****************************************************************************
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:
Frame to setup the education package.
}
unit EduEnvOptsFrame;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils,
// LazUtils
LazConfigStorage,
// LCL
LCLProc, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, LazIDEIntf,
// Education
EduOptions;
const
EnvOptionsEducation = 2000;
type
{ TEduGeneralOptions }
TEduGeneralOptions = class(TEduOptionsNode)
public
constructor Create; override;
destructor Destroy; override;
function Load(Config: TConfigStorage): TModalResult; override;
function Save(Config: TConfigStorage): TModalResult; override;
end;
{ TEduEnvFrame }
TEduEnvFrame = class(TAbstractIDEOptionsEditor)
EnableCheckBox: TCheckBox;
procedure FrameClick(Sender: TObject);
private
public
constructor Create(TheOwner: TComponent); override;
destructor Destroy; override;
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;
var
EduEnvFrame: TEduEnvFrame;
EduGeneralOptions: TEduGeneralOptions = nil;
procedure Register;
implementation
procedure Register;
begin
EduGeneralOptions:=TEduGeneralOptions.Create;
EducationOptions.Root.Add(EduGeneralOptions);
EduOptionID:=RegisterIDEOptionsGroup(EduOptionID,TEduOptions)^.Index;
EduOptionGeneralID:=RegisterIDEOptionsEditor(EduOptionID,TEduEnvFrame,
EduOptionGeneralID)^.Index;
LazarusIDE.AddHandlerOnProjectOpened(@EducationOptions.OnProjectOpened);
end;
{ TEduEnvFrame }
procedure TEduEnvFrame.FrameClick(Sender: TObject);
begin
end;
constructor TEduEnvFrame.Create(TheOwner: TComponent);
begin
inherited Create(TheOwner);
end;
destructor TEduEnvFrame.Destroy;
begin
inherited Destroy;
end;
function TEduEnvFrame.GetTitle: String;
begin
Result:=ersEduEnvOptsFrameTitle;
end;
procedure TEduEnvFrame.Setup(ADialog: TAbstractOptionsEditorDialog);
begin
EnableCheckBox.Caption:=ersEnableEduCheckBoxCaption;
end;
procedure TEduEnvFrame.ReadSettings(AOptions: TAbstractIDEOptions);
begin
if AOptions=EducationOptions then begin
EnableCheckBox.Checked:=EducationOptions.Enabled;
end;
end;
procedure TEduEnvFrame.WriteSettings(AOptions: TAbstractIDEOptions);
begin
if AOptions=EducationOptions then begin
EducationOptions.Enabled:=EnableCheckBox.Checked;
end;
end;
class function TEduEnvFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
begin
Result := EducationIDEOptionsClass;
end;
{ TEduGeneralOptions }
constructor TEduGeneralOptions.Create;
begin
inherited Create;
Name:='General';
end;
destructor TEduGeneralOptions.Destroy;
begin
if EduGeneralOptions=Self then EduGeneralOptions:=nil;
inherited Destroy;
end;
function TEduGeneralOptions.Load(Config: TConfigStorage): TModalResult;
begin
Result:=inherited Load(Config);
end;
function TEduGeneralOptions.Save(Config: TConfigStorage): TModalResult;
begin
Result:=inherited Save(Config);
end;
{$R *.lfm}
end.
|