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

Emacs 29.3 (Org mode 9.6.15)