Fresnel - CSS Komponenten und Designer

Rund um die LCL und andere Komponenten
Antworten
Mattias
Lazarusforum e. V.
Beiträge: 196
Registriert: Do 22. Mai 2008, 15:14
OS, Lazarus, FPC: LinuxOSX (L head FPC head)
CPU-Target: xxBit

Fresnel - CSS Komponenten und Designer

Beitrag von Mattias »

Hallo!

Fresnel ist ein komplett in FPC geschriebenes open source GUI-Framework basierend auf CSS. Es hat Formulare wie die LCL, die sowohl in LCL-Anwendungen laufen, als auch eigenständig als native Anwendungen.
Ein Fresnel Formular kann mit dem Lazarus Designer und Object Inspector bearbeitet werden, und hat neben der lfm Datei noch eine css-Datei, die man live editieren kann. Dazu ein CSS Inspector.

https://wiki.freepascal.org/Fresnel

Fresnel läuft bereits unter Linux, Macos, Windows und im Browser per Webassembly.

Es gibt bereits viele der Standardkomponenten:
  • Containers — TBody, TDiv, TSpan, TLabel, TImage, TPanel, TGroupBox
  • Buttons and toggles — TButton, TCheckBox, TRadioButton, TToggle, TCheckGroup, TRadioGroup
  • Text input — TEdit, TMemo, TButtonEdit, TWordsEdit
  • Lists and combo boxes — TListBox, TColorListBox, TCheckListBox, TGroupedListBox, TComboBox
  • Tabs, splitters — TTabs, TPageControl, TTabSheet, TSplitter, TStatusBar, TToast
  • Trees and calendars — TTreeView, TCalendar, TCalendarEdit
  • Grids — TGrid, TDBGrid
  • Indicators and shapes — TProgressBar, TTrackBar, TSpinner, TShape
  • Menus — TMainMenu, TPopupMenu
  • A code editor - TFresnelSynEdit
Fresnel CSS:
  • benutzt die fcl-css units
  • kennt bereits über 150 Attribute
  • Layouters: flow, flex und grid
  • :root, :empty, :first-child, :last-child, :only-child and the -of-type versions.
  • :nth-child(...) and friends, including the An+B of <selector> form.
  • :not(...), :is(...), :where(...).
  • pseudo classes, e.g. :hover, :focus, :enabled, :valid
  • pseudo elements, e.g. ::selection
  • units: px, %, rem, em, pt, fr, vw, vh, ...
  • Stylesheets: type css, application css, form css, element style css
  • custom attributes with var(...)
  • nested and @media rules
Und es gibt noch viele Baustellen. Daher hier die Einladung, wer mithelfen möchte, ist willkommen.

Es gibt Testsuites, die auch die Komponenten testen.

Schönes Wochenende!

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 7381
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Fresnel - CSS Komponenten und Designer

Beitrag von af0815 »

Zuerst das hier lesen, ansonsten geht es wahrscheinlich schief.

https://gitlab.com/freepascal.org/lazar ... type=heads
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
theo
Beiträge: 11367
Registriert: Mo 11. Sep 2006, 19:01

Re: Fresnel - CSS Komponenten und Designer

Beitrag von theo »

Beim Thema Fresnel hat es bei mir einfach noch nicht "klick" gemacht.
Was hat das mit Lazarus zu tun und weshalb will ich das?

Mattias
Lazarusforum e. V.
Beiträge: 196
Registriert: Do 22. Mai 2008, 15:14
OS, Lazarus, FPC: LinuxOSX (L head FPC head)
CPU-Target: xxBit

Re: Fresnel - CSS Komponenten und Designer

Beitrag von Mattias »

Was hat das mit Lazarus zu tun:
- Es sind alles Lazarus Projekte und Pakete und Lazarus dient als Designer.
- Fresnel kann in LCL-Anwendungen laufen.

Vorteile gegenüber der LCL:
- Detailierte Kontrolle über das Aussehen jedes Elements
- Trennung zwischen Design und Logik
- Andere Einheiten als Pixel: em, vh, cm, mm, %, ...
- Mächtige Selektoren
- Da CSS ein Standard ist, können Stylesheets von Websites genutzt werden.
- Texte mit Auszeichnungen, Dekorationen, Platzhaltern, Icons, etc
- Font fallbacks, Farbräume, Animationen, Subpixel rendering, flexible alignments, ...

Antworten