InspDemoStyles1.pas 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. unit InspDemoStyles1;
  2. {$mode objfpc}{$H+}
  3. interface
  4. uses
  5. Classes, SysUtils, Fresnel.Forms, Fresnel.DOM, Fresnel.Controls, Fresnel.CSSStyleInspector;
  6. type
  7. { TDemoStylesWindow }
  8. TDemoStylesWindow = class(TFresnelForm)
  9. procedure DemoStylesWindowCreate(Sender: TObject);
  10. private
  11. FBody: TBody;
  12. FCSSStyleInspector: TCSSStyleInspector;
  13. public
  14. procedure ApplyCSS; override;
  15. property Body: TBody read FBody;
  16. property CSSStyleInspector: TCSSStyleInspector read FCSSStyleInspector;
  17. end;
  18. var
  19. DemoStylesWindow: TDemoStylesWindow;
  20. implementation
  21. {$R *.lfm}
  22. { TDemoForm1 }
  23. procedure TDemoStylesWindow.DemoStylesWindowCreate(Sender: TObject);
  24. begin
  25. FCSSStyleInspector:=TCSSStyleInspector.Create(Self);
  26. with CSSStyleInspector do begin
  27. Name:='CSSStyleInspector';
  28. Parent:=Self;
  29. end;
  30. Stylesheet.Text:=':root { color: #fff; font-size: 15px; background-color: #333; }';
  31. end;
  32. procedure TDemoStylesWindow.ApplyCSS;
  33. procedure W(Prefix: string; El: TFresnelElement);
  34. var
  35. i: Integer;
  36. begin
  37. El.CSSClasses.Delimiter:=',';
  38. writeln(Prefix,'Name="',El.Name,'":',El.ClassName,' Classes="',El.CSSClasses.DelimitedText,'"');
  39. for i:=0 to El.NodeCount-1 do
  40. W(Prefix+' ',El.Nodes[i]);
  41. end;
  42. begin
  43. inherited ApplyCSS;
  44. //writeln('TDemoStylesWindow.ApplyCSS START');
  45. //W('',Self);
  46. //writeln('TDemoStylesWindow.ApplyCSS END');
  47. end;
  48. end.