Puzzle Naming
One result of the code is that we have a lot of files with similar names that do different things. This even gets confusing for people who are veterans of the code base. This is a quick description of each file to make it easier to navigate:
Play Widgets
play-border — Border/corner of cells
play-cell — Represents each cell
play-clue-list — A visual list of clues on the main board
play-clue-row — An individual clue
play-grid — A grid representing an IPuzPuzzle. made up of cells and borders
play-window — The main window
play-xword — A crossword playing area
play-xword-column — The custom widget that manages a PlayXword
Picker Widgets
puzzle-picker — Base widget for both PickerGrid and PickerList
picker-grid — A grid of locked puzzles. Used for cats and dogs
picker-list — A list of puzzles. Used for most puzzle sets
puzzle-button — Button used by the PickerGrid
puzzle-button-icon — An icon of a crossword for a puzzle button
Puzzle Management
puzzle-set — Base type of a set of puzzles. Can be a source to download new puzzles, or include existing puzzles. (Example: Cats & Dogs)
puzzle-set-config — Parses puzzle.config and extracts resources from the GResource.
puzzle-set-list — A global list of the PuzzleSets that the game has found. It’s currently static, but could be dynamic in the future.
puzzle-set-model — A GListModel that represents the puzzles in a PuzzleSet.
puzzle-downloader — Object that PuzzleSets use to download new puzzles
puzzle-downloader-dialog — Dialog to help manage the downloader.
Editor widgets
edit-window — Main editor
edit-?? — Components of the editor
puzzle-stack — A stack of puzzles you can flip through. Used in the autofill dialog to show results from a autofill thread.
Deprecated but still used
play-style — The old style system. Replaced by CSS and used just for rendering svg icons now. Will be replaced once we implement printing and thumbnails.