planner_builders library

Classes

PlannerEntryLayout
The on-screen layout facts handed to a PlannerEntryBuilder for one event (#78). Everything here is derived from the package's geometry for the current frame, so the builder can lay out responsively without recomputing it.

Enums

DragType
What a single in-progress events-canvas drag/resize is doing. A press within 8px of an event's top edge resizes from the top (topHandle), within 8px of the bottom resizes from the bottom (bottomHandle), anywhere else moves the whole event (body); none is the idle state (no drag in progress).

Typedefs

PlannerDayHeaderBuilder = Widget Function(BuildContext context, int columnIndex, String label, bool isHighlighted)
Builds a fully custom widget for a single day/column header (#79). Supplied to the Planner as dayHeaderBuilder; when non-null the planner replaces the painted DateRow text with a row of host-built header widgets — one per column label — each sized to the column's blockWidth and the date row's height, and offset by the live horizontal scroll so the headers stay aligned with the day-columns below as the user pans (it rebuilds on the same triggerUpdate the row repaints on).
PlannerEntryBuilder<T> = Widget Function(BuildContext context, PlannerEntry<T> entry, PlannerEntryLayout layout)
Builds a fully custom widget for a single timed event (#78) — and, reused as allDayEntryBuilder, for a single all-day chip (#80). Supplied to the Planner as entryBuilder; when non-null the planner layers a widget overlay over the canvas and calls this for every (on-screen) event, sizing and positioning the returned widget at the event's current on-screen rect so it tracks scroll, zoom and drag in lockstep with the grid.