API — ICoreEssentials/UI/Layouts
The public contract of 3 header(s) under ICoreEssentials/UI/Layouts — 0 class/struct definition(s), 0 declaration(s). Each section shows the header's banner and its public (and protected-virtual) surface exactly as the file writes it.
| Header | Defines | Declarations | Bases |
|---|---|---|---|
ICoreFlowLayout.h | — | 0 | — |
ICoreInstalledLayout.h | — | 0 | — |
ICoreLayouts.h | — | 0 | — |
ICoreFlowLayout.h#
ICoreEssentials/UI/Layouts/ICoreFlowLayout.h
Declares no class of its own — see the file.
ICoreInstalledLayout.h#
ICoreEssentials/UI/Layouts/ICoreInstalledLayout.h
Driving the layout INSTALLED ON A CONTAINER while that container's frame is being animated -- the crop slide (W10.37, A10.73).
A panel that slides open by growing its frame would otherwise re-run its installed layout over its whole subtree on every step of the slide. The recipe is: lay the content out ONCE at the size the slide finishes at, suspend the re-run a frame change provokes, clip the children to the frame (ICoreWidget::setClipsChildren), and animate only the frame -- so what moves per step is a rectangle and a crop, and nothing is measured or re-placed.
⚠ WHY THESE ARE FREE FUNCTIONS AND NOT ICoreLayoutSeatCore CALLS. W10.37 wrote the recipe against ICoreLayoutSeatCore::installedOn(), which is what the WinUI and Gtk4 seats lay out with. The AppKit seat has its own layout engine (ICoreAppKitLayoutSeat) and is not registered there, so on a Mac the
Declares no class of its own — see the file.
ICoreLayouts.h#
ICoreEssentials/UI/Layouts/ICoreLayouts.h
ICoreVBoxLayout / ICoreHBoxLayout / ICoreGridLayout / ICoreStackedLayout / ICoreFormLayout -- the editor's box, grid, stack and form layouts.
Styled subclasses (README S9, shape 1) of the five Qt layouts, and the only family in this folder with NO applyTheme(). That is a finding rather than an omission, and it is worth stating because a component without a theme hook otherwise reads as one that forgot it (README S3, and C6 made the same argument for the native dialogs):
A layout has no colour. It has no paint event either -- it moves other widgets and draws nothing itself. And the theme this project switches is a COLOUR theme: ICoreTheme carries fills, borders, text and shadow tones and not one metric, so there is no token for a layout to re-read on a Light <-> Dark switch. Subscribing to themeChanged here would install a
File-scope declarations#
// Shared by all five, so a call site does not have to remember which layout's
// enum it is naming. Deliberately not nested in one of them: nesting would
// make `ICoreVBoxLayout::Fit` the spelling at an ICoreGridLayout call site.
enum class ICoreLayoutFit {
Default, // Qt's own margins and spacing -- untouched
Tight // contents margins 0, spacing 0
};