ores.cpp.qt
Table of Contents
This page is the node for the ores.cpp.qt facet of the codegen
template library, part of the ores.cpp technical space. Each archetype
below is documented, and holds its mustache source, in its own
linked page — this page is the facet-level summary and the routing
table to them.
Summary
Twelve templates generating an entity's Qt UI layer: the client model
(list data + NATS-driven refresh), the controller (dialog orchestration
— including the generic ores::qt::HistoryDialog wiring, per
doc/knowledge/architecture/history_diff_architecture.org; no
per-entity history dialog is generated anymore), the detail dialog
with its .ui XML twin, and the MDI window hosting the list view. All
belong to the qt profile.
The ores.cpp.qt facet
The Qt projection of the entity model: every entity gets the same
four-class ensemble, derived from domain_entity.qt fields (detail
fields, list columns, protocol class names). The dialogs load their
.ui twin (generated by the same facet); the client model subscribes
to the entity's NATS changed events so lists refresh live.
Mustache incantations
Field loops switch on the same widget-kind flags in both the C++ and
.ui templates (is_line_edit, is_check_box, is_dynamic_combo,
…) to generate matching accessors and form rows; protocol and event
class names arrive as explicit model fields. Otherwise standard
constructs (see the group doc).
Archetypes
| Archetype | Description |
|---|---|
| ores.cpp.qt.client_model_header | Client model declarations. |
| ores.cpp.qt.client_model_impl | List model + NATS refresh wiring. |
| ores.cpp.qt.controller_header | Controller declarations. |
| ores.cpp.qt.controller_impl | Dialog lifecycle and service calls. |
| ores.cpp.qt.detail_dialog_header | Detail dialog declarations. |
| ores.cpp.qt.detail_dialog_impl | Loads the generated .ui; field get/set per widget kind. |
| ores.cpp.qt.detail_dialog_ui | Qt Designer XML for {EntityPascal}DetailDialog.ui: a form layout with one row per detail_fields entry, widget chosen by the field's kind flag. Consumed by the qt profile; output projects/ores.qt.{component}/ui/{EntityPascal}DetailDialog.ui — note this is the pre-regroup layout. |
| ores.cpp.qt.mdi_window_header | MDI window declarations. |
| ores.cpp.qt.mdi_window_impl | List view window hosted in the main MDI area. |
See also
- ores.cpp — the parent technical space's generated facet/archetype catalogue and shared Mustache conventions.
- C++ Technical Space — the domain-concept overview of this technical space.
- Codegen template library — the groups overview.