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.