lazarus/ide/packages/idedebugger/idedebuggervalueformattersetup.pas

83 lines
2.4 KiB
ObjectPascal

unit IdeDebuggerValueFormatterSetup;
{$mode objfpc}{$H+}
interface
uses
LazIDEIntf, IdeDebuggerWatchValueIntf, IdeDebuggerOpts,
IdeDebuggerValueFormatter, IdeDebuggerValueFormatterDateTime,
IdeDebuggerValueFormatterColor, IdeDebuggerValueFormatterCurrency;
implementation
procedure DoEnvOptsLoaded; // DebuggerOpts are also loaded now
var
vc: TIdeDbgValueFormatterSelectorList;
f: TIdeDbgValueFormatterSelector;
dt: TIdeDbgValueFormatterDateTime;
cl: TIdeDbgValueFormatterColor;
begin
vc := DebuggerOptions.ValueFormatterConfig;
if vc.DefaultsAdded < 1 then begin
f := TIdeDbgValueFormatterSelector.Create(TIdeDbgValueFormatterRegistryDateTime);
f.Name := 'TDateTime formatter';
f.Enabled := True;
f.MatchTypeNames.Add('TDateTime');
f.OriginalValue := vfovAtEnd;
dt := TIdeDbgValueFormatterDateTime(f.ValFormatter.GetObject);
dt.DateTimeFormat := 'f';
dt.DateFormat := 'f';
dt.TimeFormat := 'f';
vc.Add(f);
f := TIdeDbgValueFormatterSelector.Create(TIdeDbgValueFormatterRegistryDateTime);
f.Name := 'TDate formatter';
f.Enabled := True;
f.MatchTypeNames.Add('TDate');
f.OriginalValue := vfovAtEnd;
dt := TIdeDbgValueFormatterDateTime(f.ValFormatter.GetObject);
dt.DateTimeFormat := 'f';
dt.DateFormat := 'ddddd';
dt.TimeFormat := 'f';
vc.Add(f);
f := TIdeDbgValueFormatterSelector.Create(TIdeDbgValueFormatterRegistryDateTime);
f.Name := 'TTime formatter';
f.Enabled := True;
f.MatchTypeNames.Add('TTime');
f.OriginalValue := vfovAtEnd;
dt := TIdeDbgValueFormatterDateTime(f.ValFormatter.GetObject);
dt.DateTimeFormat := 'f';
dt.DateFormat := 'f';
dt.TimeFormat := 'tt';
vc.Add(f);
f := TIdeDbgValueFormatterSelector.Create(TIdeDbgValueFormatterRegistryColor);
f.Name := 'Color formatter';
f.Enabled := True;
f.MatchTypeNames.Add('TColor');
f.OriginalValue := vfovAtEnd;
cl := TIdeDbgValueFormatterColor(f.ValFormatter.GetObject);
cl.ShowName := True;
cl.ShowRgb := True;
cl.ShowRgbAsDec := False;
vc.Add(f);
f := TIdeDbgValueFormatterSelector.Create(TIdeDbgValueFormatterRegistryCurrency);
f.Name := 'Currency formatter';
f.Enabled := True;
f.MatchTypeNames.Add('Currency');
f.OriginalValue := vfovHide;
vc.Add(f);
vc.DefaultsAdded := 1;
end;
end;
initialization
AddBootHandler(libhEnvironmentOptionsLoaded, @DoEnvOptsLoaded)
end.