Menu

#658 GTK3V2MAIN: Doxygen main-page/dev-docs improvements, Phase C (curated developer guide page)

closed
nobody
None
2 hours ago
2 days ago
No

Third phase of the effort to make the generated Doxygen internals docs (docs/doxygen/) usable. Follows Phases A (SF #656) and B (SF #657). Full plan: git's .claude/doxygen-mainpage-plan.md (working notes, not committed). Branched from bug-657's tip -- must merge in order #656 -> #657 -> this one.

New docs/doxygen/devguide.md, linked from the Main Page via \subpage. Two kinds of content:

  1. Curated coding-conventions content, extracted from docs/DevGuide.docx and fact-checked against current GTK3V2MAIN source before reuse -- not a mechanical conversion. Naming convention, casts, error-handling taxonomy, GetArgs() extensibility. Corrected several claims found stale or wrong during fact-checking:
  2. wlib interaction described as "MS-Windows or GTK2" -- this branch's wlib only has a gtk3lib backend.
  3. The docx's cast-macro pair VP2I()/L2VP() does not exist anywhere in the tree; only I2VP()/VP2L() (common.h) are real.
  4. wNoticeEx (cited for CHECKMSG's abort dialog) does not exist; the actual function is wNoticeWithIcon() (misc.c).
  5. The docx's worked GetArgs() extensibility example (SEG_FILCRCL using format "lwfpfc") is stale -- current code uses "lwfpf", no trailing 'c'. Replaced with a real current example (GetEndPtArg() in trkendpt.c).
    The three placeholder sections in DevGuide.docx (Undo Processing, Draw Model, #ifdef WINDOWS) were literally just headers with no content and are not included here -- tracked as a "content needed" list in bug-tracker.md instead of publishing empty sections.

  6. New Building & Testing section, not sourced from DevGuide.docx at all -- transcribed from ci-gtk3.yml's actual job steps (Linux/ARM64/Clang/macOS/Windows-MSYS2) as commands a developer runs locally, with CI-only bits (xvfb-run) called out explicitly, plus a pinned-tool-versions table (Doxygen 1.15.0 and AStyle 3.6.13 are explicitly pinned; cppcheck/clang-tidy/compilers/CMake are not -- versions for those pulled from a real recent green CI run rather than guessed, dated so readers know they'll drift).

Verification: docs-doxygen exits 0 with FAIL_ON_WARNINGS active (CI-pinned Doxygen 1.15.0 binary). Confirmed the devguide page renders with the intended content and title, and the Main Page's \subpage link resolves. Full rebuild clean, ctest 10/10 pass. Git PR: https://github.com/adbyrne/XTrkCAD/pull/27 (stacked on PR #26, GTK3V2MAIN).

Discussion

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB