Geometrize  1.0
An application for geometrizing images into geometric primitives
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 1234]
 Nchaiscript
 Nextras
 Ngeometrize
 Ncommon
 Ndialog
 CAboutDialogModels the UI for the vendor info, license details, credits etc
 CAppSplashScreenImplements a splash screen for Geometrize
 CCommandLineEditModels the UI for the command line in a graphical script console
 CCompletionBoxLine edit that facilitates searching task templates with an autocomplete drop-down list
 CCreditsDialogModels the UI for the developer, artwork, localization etc credits pages
 CElidedLabelLabel that elides text that does not fit within it
 CGeometrizeSplashScreen
 CGlobalPreferencesDialogModels the UI for a tabbed preferences dialog for application-level preferences. Note this is a modal dialog, task-specific preferences are edited elsewhere
 CImageTaskExportWidgetThe ImageTaskExportWidget implements a widget for accessing and using the image task exporters e.g. for exporting image task shape data to JSON
 CImageTaskImageWidgetThe ImageTaskImageWidget implements a widget for viewing and manipulating the images that an image task works with
 CImageTaskRunnerWidgetThe ImageTaskRunnerWidget implements a widget for manipulating and changing the settings of an image task e.g. the number of times to mutate each shape the task generates
 CImageTaskScriptingWidgetThe ImageTaskScriptingWidget implements a widget for manipulating scripts that are run when an image is being geometrized e.g. before/after a shape is added
 CImageTaskShapeScriptingPanelThe ImageTaskShapeScriptingPanel models the UI for the script editors for controlling image task shape setup, mutation etc
 CImageTaskStatsWidgetThe ImageTaskStatsWidget implements a widget for statistics relating to image task progress, such as the number of shapes created so far
 CImageTaskWindowEncapsulates the UI for manipiulating, running and viewing an image task that geometrizes an image
 CLanguageSelectListImplements a widget for selecting the application language/locale from a list of options
 CLanguageSelectWidgetImplements a widget for selecting and viewing the application language/locale
 CLaunchWindowModels the UI for a launchpad for opening new task templates and recent tasks
 CLicenseDialogModels the UI for the software license text and notices
 COpenUrlDialogModels the UI for the dialog box users can enter URLs into to open remote images or webpages
 CRangeSlider
 CRecentTasksListModels the UI for a list of recently opened tasks
 CRunScriptDialogModels the UI for picking scripts to run, and specifying script options
 CScriptConsoleModels a command line and output window
 CScriptEditorWidgetImplements a widget for interactively editing a Chaiscript function
 CStringListModel
 CTaskItemWidgetButton that opens/shows a task when pressed (such as a recently opened image, when used on the recently-opened items list)
 CTaskQueueWindowEncapsulates the UI for creating, configuring and executing a collection of tasks that geometrize images
 CTemplateButtonButton that opens a task template when clicked
 CTemplateGridModels the UI for a dynamic grid of project templates
 CWelcomeWindowModels the UI for a quickstart tutorial/welcome page shown to users on first launch
 Nlayout
 CFlowLayoutImplements a layout that arranges components in a directional flow, like lines of text in a paragraph. The layout adapts to changing window sizes, a little like the Swing FlowLayout. It is based on the Qt Flow Layout example
 Nnetwork
 CDownloaderHelper class for downloading files over the network
 Npreferences
 CGlobalPreferencesModels the preferences associated with the application as a whole. These mostly represent application-wide settings that are edited via the tabbed preferences widget
 CImageTaskPreferencesModels the preferences associated with an image task
 Nscene
 CAreaOfInfluenceShapeItemGraphical visualization of a shape that the user interacts with to control where shapes are spawned/mutated as an image is geometrized
 CCustomTabletEventTablet event (specifically from a Wacom Pro pen) that can be passed down to items in a graphics scene
 CImageTaskGraphicsViewModels a graphics view for viewing the images and shapes used and/or produced by image tasks
 CImageTaskPixmapGraphicsItemModels a pixmap graphic item that goes into the scene for an image task. This usually represents a pixmap of the working image that is being transformed into shapes
 CImageTaskPixmapSceneModels a graphics scene for viewing the pixmap-based results of image tasks
 CImageTaskSceneModels a graphics scene for viewing the results of image tasks
 CImageTaskSceneManagerThe ImageTaskSceneManager manages the scenes representing the graphical state of the shapes It mostly works to synchronize their state and provide a single interface for handling scene events
 CImageTaskSvgSceneModels a graphics scene for viewing the shape data of an image task as an SVG
 CSvgItemSVG graphic that is drawn as part of a scene
 CTabletEventDataData produced from a Wacom pen/tablet event (in the context of a graphics view)
 Nscript
 CCommandConvenient way for a script to tell an object about something For example, this can be used to give scripts a way to control the Geometrize user interface
 CCommandHandlerInterface that all objects that can handle/process script commands implement. This is used do things like provide a way for scripts to send commands to the Geometrize user interface
 CGeometrizerEngineEncapsulates script-based setup and mutation methods for geometrizing shapes
 Nserialization
 CGlobalPreferencesDataThe GlobalPreferencesData struct represents the data for the global application preferences
 CImageTaskPreferencesDataThe ImageTaskPreferencesData struct represents the preferences data for an image task
 CStreamViewDefines a custom stream buffer view that allows Cereal to work with Qt resources packed into executables. This is necessary because Cereal uses istreams directly, but we need to work with Qt resources
 CStringVectorDataThe StringVectorData struct represents a vector of strings (as might be used for a history of terminal input, for example)
 CTemplateMetadataThe TemplateMetadata struct represents the metadata (such as license information) for a task template
 Nstrings
 CStringsMethods for getting miscelleanous translatable strings
 Ntask
 CImageTaskTransforms a source image into a collection of shapes approximating the source image
 CImageTaskWorkerTransforms a source image into a collection of shapes. It is made to be run on its own thread to avoid blocking the UI
 CShapeCollectionWrapper for the vector of shapes that have been added to the image task so far
 CSynchronousImageTaskTransforms a source image into a collection of shapes approximating the source image. A wrapper around the asynchronous ImageTask class, this blocks when stepping the model. This is a convenience class for use in scripts and console programs where we would rather block/wait when geometrizing something
 CRecentItemModels an item that was recently interacted with
 CRecentItemsEncapsulates a list of items that were recently interacted with. The class keeps a record of these items stored in preferences. Useful for keeping track of recently opened files
 CRecentItemsImpl
 CTabletProximityEventFilterThe TabletProximityEventFilter captures tablet enter/exit proximity events (like when Wacom pens are held close to the screen) Used to hide the cursor so it doesn't get in the way of wherever the pen is being held
 CTemplateManifestMetadata for a task template
 CTemplateManifestImpl