Repository navigation
Development
Building Platemaker from source and contributing to it.
Scope. These pages cover the Qt GUI.
libplatemakerappears only where the GUI needs it — for the library's own build instructions, data models and CLI, see the PlateMaker repository.
Platemaker/
├── CMakeLists.txt
├── Platemaker.iss Inno Setup installer script
├── app/ main.cpp
├── mainwindow/ application shell, split by concern
├── widgets/ one folder per widget or dialog
├── icons/
└── docs/ SPECIFICATION.md, CHANGELOG.md, TODO.md
| Module | Description |
|---|---|
| Qt | 6.8+ |
| CMake | 3.21+ |
| Compiler | MSVC 2022 or MinGW via MSYS2 (Windows), GCC/Clang (Linux) |
| libplatemaker | 0.6.0+ |
Full setup: Environment.
| Page | Covers |
|---|---|
| Environment | Toolchain install, Qt Creator kits |
| Building | Configuring, linking libplatemaker, running |
| Architecture | How the code is organised and why |
| Main window | The shell, the project view, application state, thumbnails, threads |
| Workflows | Open, create, render, cancel, templates, canvas profiles, step by step |
| Releasing | Versioning, installer, publishing a release |
| Contributing | Branching, style, pull requests |
| Windows hardening | The DLL search path, and what is deferred |
A separate group of pages specifies the strip editor's tool framework — how tools, objects and property groups relate, and which panel is allowed to talk about which.
| Page | Covers |
|---|---|
| Tool framework | Vocabulary, layers, the regions |
| Code map | Which folder holds which region, what may include what |
| Shell | The dock, rail, columns, cursor, colour pair, rendering, the grade |
| Objects | Bubbles, tails, placement, presets, imported artwork |
| Property groups | The structs, ownership, roles, the write contract, the tests |
| Object state and tool options | What each panel contains, presets and their badge |
| History and undo | One undo history per project, and how a step shows itself |
| Advisories and badges | Status-bar advisories, widgets/badge/ — application-wide |
| Inputs and anchoring | Replacing a page, unanchored objects, the render gate |
| Page | Covers |
|---|---|
| Workspace folder ownership | One workspace per folder, the lock and takeover, Save As collecting files, the sweep at open, missing-font healing, the workspace's own fonts, the export/open package |
These pages cover the GUI. For the library itself, the PlateMaker repository has:
| Document | Covers |
|---|---|
| its wiki | The domain model, the pipeline, profile matching and its error semantics |
docs/CHEATSHEET.md |
Copy-paste build commands for every preset |
docs/CODING_STYLE.md |
Naming, Doxygen format and file layout — shared by both projects |
docs/TODO.md |
Planned library work, including anything the GUI is waiting on |
The Development pages (this one, the strip-editor series, Advisories, Anchoring, Workspace folder ownership) are synced against the application's source, not against the public GUI release — they describe unreleased work in progress. When you next need to bring them up to date, diff from the commit named in the footer of every page (also below) rather than from the last tagged release.
Last synced to Platemaker GUI commit 1296c1c, 2026-10-01.
There is no build/test CI — nothing compiles or exercises your change on push. The GUI has a
small unit-test target covering the property model (tests/gui-unit-tests/, off by default — see
Property groups); everything involving a window is verified
manually. The project is also not currently seeking
contributors, which is not a rule against contributions — see Contributing
before starting work you would like merged, and
Extending the strip editor before
extending the strip editor.
See also: About · Architecture · Contributing
Platemaker GUI 1.4.3 · GPL-3.0 · Application repository · libplatemaker · Report an issue
Development pages synced to code commit 1331e01 (2026-10-04).
Overview
Manual
- Manual overview
- Installation
- Quick start
- Concepts
- Main window
- Workspaces
- Projects
- Canvas profiles
- Templates
- Output profiles
- Rendering
- File statuses
- Menu reference
- Troubleshooting
Comic production
Development
- Overview
- Environment
- Building
- Architecture
- Main window
- Workflows
- Releasing
- Contributing
- Windows hardening
Strip editor