 BackgroundStateAbstractBase | Background image state machine state base class |
  BackgroundStateCurve | Background image state for showing filter image from current curve |
  BackgroundStateNone | Background image state for showing no image |
  BackgroundStateOriginal | Background image state for showing original (=unfiltered) image |
  BackgroundStateUnloaded | Background image state for interval between startup and loading of the image |
 BackgroundStateContext | Context class that manages the background image state machine |
 CallbackAddPointsInCurvesGraphs | Callback that is used when iterating through a read-only CurvesGraphs to add corresponding points in Document |
 CallbackAxesCheckerFromAxesPoints | Callback for positioning the axes indicator according to the axes points |
 CallbackAxisPointsAbstract | Callback for collecting axis points and then performing common calculations on those axis points |
  CallbackCheckAddPointAxis | Callback for sanity checking the screen and graph coordinates of an axis point, before it is added to the axes curve |
  CallbackCheckEditPointAxis | Callback for sanity checking the screen and graph coordinates of an axis point that is in the axes curve, before changing its graph coordinates |
  CallbackUpdateTransform | Callback for collecting axis points and then calculating the current transform from those axis points |
 CallbackBoundingRects | Callback for computing the bounding rectangles of the screen and graph coordinates of the points in the Document |
 CallbackGatherXThetaValuesFunctions | Callback for collecting X/Theta independent variables, for functions, in preparation for exporting |
 CallbackNextOrdinal | Callback for computing the next ordinal for a new point |
 CallbackPointOrdinal | Callback for computing the ordinal for a specified point, as a function of the LineStyle and curve geometry |
 CallbackRemovePointsInCurvesGraphs | Callback that is used when iterating through a read-only CurvesGraphs to remove corresponding points in Document |
 CallbackSceneUpdateAfterCommand | Callback for updating the QGraphicsItems in the scene after a command may have modified Points in Curves |
 Checker | Box shape that is drawn through the three axis points, to temporarily (usually) or permanently (rarely) highlight the local up/down/left/right directions when all axis points have been defined |
 CmdFactory | Factory for CmdAbstractBase objects |
 ColorFilter | Class for filtering image to remove unimportant information |
 ColorFilterEntry | Helper class so ColorFilter class can compute the background color |
 ColorFilterHistogram | Class that generates a histogram according to the current filter |
 ColorFilterSettings | Color filter parameters for one curve. For a class, this is handled the same as LineStyle and PointStyle |
 CoordSystemInterface | Interface common to CoordSystemContext and CoordSystem classes |
  CoordSystem | Storage of data belonging to one coordinate system |
  CoordSystemContext | This class plays the role of context class in a state machine, although the 'states' are actually different instantiations of the CoordSystem class |
 Correlation | Fast cross correlation between two functions |
 CursorFactory | Create standard cross cursor, or custom cursor, according to settings |
 Curve | Container for one set of digitized Points |
 CurveNameListEntry | Utility class for converting the QVariant in CurveNameList to/from the curve names as QStrings, for use by the CurveNameList model class |
 CurveSettingsInt | Internal settings for one curve, such as LineStyle, PointStyle and CurveFilter |
 CurvesGraphs | Container for all graph curves. The axes point curve is external to this class |
 CurveStyle | Container for LineStyle and PointStyle for one Curve |
 CurveStyles | Model for DlgSettingsCurveProperties and CmdSettingsCurveProperties |
 DigitizeStateAbstractBase | Base class for all digitizing states. This serves as an interface to DigitizeStateContext |
  DigitizeStateAxis | Digitizing state for digitizing one axis point at a time |
  DigitizeStateColorPicker | Digitizing state for selecting a color for DigitizeStateSegment |
  DigitizeStateCurve | Digitizing state for creating Curve Points, one at a time |
  DigitizeStateEmpty | Digitizing state before a Document has been created. In this state, the cursor is Qt::ArrowCursor |
  DigitizeStatePointMatch | Digitizing state for matching Curve Points, one at a time |
  DigitizeStateSegment | Digitizing state for creating multiple Points along a highlighted segment |
  DigitizeStateSelect | Digitizing state for selecting one or more Points in the Document |
 DlgFilterCommand | Command pattern object for receiving new parameters in DlgFilterWorker from GUI thread |
 DlgValidatorFactory | Validator factory |
 Document | Storage of one imported image and the data attached to that image |
 DocumentModelAbstractBase | Abstract base class for document models. This class enforces a common interface for the leaf subclasses |
  DocumentModelAxesChecker | Model for DlgSettingsAxesChecker and CmdSettingsAxesChecker |
  DocumentModelColorFilter | Model for DlgSettingsColorFilter and CmdSettingsColorFilter |
  DocumentModelCoords | Model for DlgSettingsCoords and CmdSettingsCoords |
  DocumentModelDigitizeCurve | Model for DlgSettingsDigitizeCurve and CmdSettingsDigitizeCurve |
  DocumentModelExportFormat | Model for DlgSettingsExportFormat and CmdSettingsExportFormat |
  DocumentModelGeneral | Model for DlgSettingsGeneral and CmdSettingsGeneral |
  DocumentModelGridRemoval | Model for DlgSettingsGridRemoval and CmdSettingsGridRemoval. The settings are unstable until the user approves |
  DocumentModelPointMatch | Model for DlgSettingsPointMatch and CmdSettingsPointMatch |
  DocumentModelSegments | Model for DlgSettingsSegments and CmdSettingsSegments |
  MainWindowModel | Model for DlgSettingsMainWindow |
 ExportAlignLinear | Pick first simplest x value between specified min and max, for linear scaling |
 ExportAlignLog | Pick first simplest x value between specified min and max, for log scaling |
 ExportFileAbstractBase | Strategy base class for exporting to a file. This class provides common methods |
  ExportFileFunctions | Strategy class for exporting to a file. This strategy is external to the Document class so that class is simpler |
  ExportFileRelations | Strategy class for exporting to a file. This strategy is external to the Document class so that class is simpler |
 ExportOrdinalsSmooth | Utility class to interpolate points spaced evenly along a piecewise defined curve with fitted spline |
 ExportOrdinalsStraight | Utility class to interpolate points spaced evenly along a piecewise defined curve with line segments between points |
 ExportToClipboard | Strategy class for exporting to the clipboard. This strategy is external to the Document class so that class is simpler |
 ExportToFile | Strategy class for exporting to a file. This strategy is external to the Document class so that class is simpler |
 ExportXThetaValuesMergedFunctions | Creates the set of merged x/theta values for exporting functions, using interpolation |
 FileCmdAbstract | Base class for 'file commands' that are used specifically for regression testing of file import/open/export features |
  FileCmdClose | Command for closing a file |
  FileCmdExport | Command for exporting a file |
  FileCmdImport | Command for importing a file |
  FileCmdOpen | Command for opening a file |
 FileCmdFactory | Factory that creates FileCmds from a file cmd script file, in xml format |
 FileCmdScript | File that manages a command stack for regression testing of file import/open/export/close |
 FilterImage | Filters an image using a combination of color filtering and grid removal |
 FormatCoordsUnits | Highest-level wrapper around other Formats classes |
 FormatCoordsUnitsStrategyAbstractBase | Common methods for formatting strategies |
  FormatCoordsUnitsStrategyNonPolarTheta | Format conversions between unformatted and formatted for CoordUnitsNonPolarTheta |
  FormatCoordsUnitsStrategyPolarTheta | Format conversions between unformatted and formatted for CoordUnitsStrategyPolarTheta |
 FormatDateTime | Input parsing and output formatting for date/time values |
 FormatDegreesMinutesSecondsBase | Common input parsing and output formatting for degrees/minutes/seconds values |
  FormatDegreesMinutesSecondsNonPolarTheta | Angular units according to CoordUnitsNonPolarTheta |
  FormatDegreesMinutesSecondsPolarTheta | Angular units according to CoordUnitsPolarTheta |
 GhostEllipse | Ghost for a QGraphicsEllipseItem |
 GhostPath | Ghost for a QGraphicsPathItem |
 GhostPolygon | Ghost for a QGraphicsPolygonItem |
 Ghosts | Class for showing points and lines for all coordinate systems simultaneously, even though the code normally only allows graphical items for once coordinate system to be visible at a time |
 GraphicsLinesForCurves | This class stores the GraphicsLinesForCurves objects, one per Curve |
 GraphicsPointAbstractBase | Base class for adding identifiers to graphics items that represent Points |
  GraphicsPoint | Graphics item for drawing a circular or polygonal Point |
 GraphicsPointFactory | Factor for generating GraphicsPointAbstractBase class objects |
 GridClassifier | Classify the grid pattern in an original image |
 GridHealer | Class that 'heals' the curves after grid lines have been removed |
 GridRemoval | Strategy class for grid removal |
 Jpeg2000 | Wrapper around OpenJPEG library, in C, for opening jpeg2000 files |
 LineStyle | Details for a specific Line |
 LoadFileInfo | Returns information about files |
 LoggerUpload | Upload logging information to website for developer support |
 MigrateToVersion6 | Converts old (=pre version 6) enums to new (=version 6) enums, for reading of old document files |
 OrdinalGenerator | Utility class for generating ordinal numbers |
 Point | Class that represents one digitized point. The screen-to-graph coordinate transformation is always external to this class |
 PointComparator | Comparator for sorting Point class |
 PointIdentifiers | Hash table class that tracks point identifiers as the key, with a corresponding boolean value |
 PointMatchAlgorithm | Algorithm returning a list of points that match the specified point |
 PointMatchPixel | Single on or off pixel out of the pixels that define the point match mode's candidate point |
 PointMatchTriplet | Representation of one matched point as produced from the point match algorithm |
 PointStyle | Details for a specific Point |
 QAbstractTableModel | |
  CurveNameList | Model for DlgSettingsCurveAddRemove and CmdSettingsCurveAddRemove |
 QDialog | |
  DlgEditPoint | Dialog box for editing the information of one axis point |
  DlgErrorReport | Dialog for sending error report |
  DlgSettingsAbstractBase | Abstract base class for all Settings dialogs |
   DlgImportAdvanced | Dialog for setting the advanced parameters in a newly imported Document |
   DlgSettingsAxesChecker | Dialog for editing axes checker settings |
   DlgSettingsColorFilter | Dialog for editing filtering settings |
   DlgSettingsCoords | Dialog for editing coordinates settings |
   DlgSettingsCurveAddRemove | Dialog for editing curve names settings |
   DlgSettingsCurveProperties | Dialog for editing curve properties settings |
   DlgSettingsDigitizeCurve | Dialog for editing DigitizeStateCurve settings |
   DlgSettingsExportFormat | Dialog for editing exporting settings |
   DlgSettingsGeneral | Dialog for editing general settings |
   DlgSettingsGridRemoval | Dialog for editing grid removal settings |
   DlgSettingsMainWindow | Dialog for editing main window settings, which are entirely independent of all documents |
   DlgSettingsPointMatch | Dialog for editing point match settings, for DigitizeStatePointMatch |
   DlgSettingsSegments | Dialog for editing Segments settings, for DigitizeStateSegment |
  TutorialDlg | Tutorial using a strategy like a comic strip with decision points deciding which panels appear |
 QDockWidget | |
  ChecklistGuide | Dockable text window containing checklist guide |
  HelpWindow | Dockable help window |
 QDoubleValidator | |
  DlgValidatorAbstract | Abstract validator for all numeric formats |
   DlgValidatorDateTime | Validator for numeric value expressed as date and/or time |
   DlgValidatorDegreesMinutesSeconds | Validator for angles in real degrees, integer degrees and real minutes, or integer degrees with integer minutes with real seconds |
   DlgValidatorNumber | Validator for generic (=simple) numbers |
 QGraphicsEllipseItem | |
  GraphicsArcItem | Draw an arc as an ellipse but without lines from the center to the start and end points |
  GraphicsPointEllipse | This class add event handling to QGraphicsEllipseItem |
 QGraphicsLineItem | |
  SegmentLine | This class is a special case of the standard QGraphicsLineItem for segments |
 QGraphicsPathItem | |
  GraphicsLinesForCurve | This class stores the GraphicsLine objects for one Curve |
 QGraphicsPolygonItem | |
  GraphicsPointPolygon | This class add event handling to QGraphicsPolygonItem |
 QGraphicsRectItem | |
  TutorialButtonRect | This class customizes QGraphicsRectItem so it performs a callback after a mouse event |
  ViewProfileDivider | Divider that can be dragged, in a dialog QGraphicsView |
 QGraphicsScene | |
  GraphicsScene | Add point and line handling to generic QGraphicsScene |
 QGraphicsTextItem | |
  TutorialButtonText | This class customizes QGraphicsTextItem so it performs a callback after a mouse event |
 QGraphicsView | |
  GraphicsView | QGraphicsView class with event handling added. Typically the events are sent to the active digitizing state |
  ViewPreview | Class that modifies QGraphicsView to automatically expand/shrink the view to fit the window, after resize events |
  ViewProfile | Class that modifies QGraphicsView to present a two-dimensional profile, with movable dividers for selecting a range |
 QLabel | |
  ViewPointStyle | Class that displays a view of the current Curve's point style |
  ViewProfileScale | Linear horizontal scale, with the spectrum reflecting the active filter parameter |
  ViewSegmentFilter | Class that displays the current Segment Filter in a MainWindow toolbar |
 QLineEdit | |
  ChecklistLineEdit | Adds key event handling to QLineEdit |
 QMainWindow | |
  MainWindow | Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document Interface |
 QMessageBox | |
  DlgAbout | About Engauge dialog. This provides a hidden shortcut for triggering ENGAUGE_ASSERT |
  DlgRequiresTransform | Dialog to be displayed whenever some operation or processing cannot be performed since the axis points are not defined |
 QMimeData | |
  MimePoints | Custom mime type for separate treatment of graph coordinates and, when there is no transform, points coordinates |
 QNetworkAccessManager | |
  NetworkClient | Client for interacting with Engauge server |
 QObject | |
  CmdStackShadow | Command stack that shadows the CmdMediator command stack at startup when reading commands from an error report file |
  DigitizeStateContext | Container for all DigitizeStateAbstractBase subclasses. This functions as the context class in a standard state machine implementation |
  DigitizeStateSegment | Digitizing state for creating multiple Points along a highlighted segment |
  DlgFilterWorker | Class for processing new filter settings. This is based on http://blog.debao.me/2013/08/how-to-use-qworker-in-the-right-way-part-1/ |
  LoadImageFromUrl | Load QImage from url. This is trivial for a file, but requires an asynchronous download step for http urls |
  Segment | Selectable piecewise-defined line that follows a filtered line in the image |
  SegmentLine | This class is a special case of the standard QGraphicsLineItem for segments |
  StatusBar | Wrapper around QStatusBar to manage permanent widgets |
  TestCorrelation | Unit tests of fast correlation algorithm |
  TestFormats | Unit tests of formats |
  TestGraphCoords | Unit tests of graph coordinate sanity checking |
  TestProjectedPoint | Unit test of spline library |
  TestSegmentFill | Unit test of segment fill feature |
  TestSpline | Unit test of spline library |
  TestTransformation | Unit test of transformation class. Checking mostly involves verifying forward/reverse are inverses of each other |
  TestValidators | Unit tests of validators |
  TransformationStateDefined | Class to show transformation since transformation is defined |
  TutorialButton | Show a button with text for clicking ion. The button is implemented using layering of two graphics items (text and rectangle) |
  TutorialStateAbstractBase | One state manages one panel of the tutorial |
   TutorialStateAxisPoints | Axis points panel discusses axis point digitization |
   TutorialStateChecklistWizardAbstract | Abstract class that supports checklist wizard panels |
    TutorialStateChecklistWizardLines | Checklist wizard panel for lines discusses the checklist wizard, and returns to TRANSITION_STATE_SEGMENT_FILL |
    TutorialStateChecklistWizardPoints | Checklist wizard panel for points discusses the checklist wizard, and returns to TRANSITION_STATE_POINT_MATCH |
   TutorialStateColorFilter | Color filter panel discusses the curve-specific color filtering |
   TutorialStateCurveSelection | Curve selection panel discusses how to select a curve, and perform setup on the selected curve |
   TutorialStateCurveType | Curve type state/panel lets user select the curve type (lines or points) |
   TutorialStateIntroduction | Introduction state/panel is the first panel the user sees |
   TutorialStatePointMatch | Point match panel discusses the matching of points in curves without lines |
   TutorialStateSegmentFill | Segment fill panel discusses the digitization of points along curve lines |
  TutorialStateContext | Context class for tutorial state machine |
  ViewProfileDivider | Divider that can be dragged, in a dialog QGraphicsView |
 QTextBrowser | |
  ChecklistGuideBrowser | Class that adds rudimentary tree collapse/expand functionality to QTextBrowser |
  HelpBrowser | Text browser with resource loading enhanced for use as help text browser |
 QThread | |
  DlgFilterThread | Class for processing new filter settings. This is based on http://blog.debao.me/2013/08/how-to-use-qthread-in-the-right-way-part-1/ |
 QUndoCommand | |
  CmdAbstract | Wrapper around QUndoCommand. This simplifies the more complicated feature set of QUndoCommand |
   CmdAddPointAxis | Command for adding one axis point |
   CmdAddPointGraph | Command for adding one graph point |
   CmdAddPointsGraph | Command for adding one or more graph points. This is for Segment Fill mode |
   CmdCopy | Command for moving all selected Points by a specified translation |
   CmdCut | Command for cutting all selected Points |
   CmdDelete | Command for deleting all selected Points |
   CmdEditPointAxis | Command for editing the graph coordinates one axis point |
   CmdMoveBy | Command for moving all selected Points by a specified translation |
   CmdPaste | Command for moving all selected Points by a specified translation |
   CmdSelectCoordSystem | Command for changing the currently selected CoordSystem |
   CmdSettingsAxesChecker | Command for DlgSettingsAxesChecker |
   CmdSettingsColorFilter | Command for DlgSettingsColorFilter |
   CmdSettingsCoords | Command for DlgSettingsCoords |
   CmdSettingsCurveAddRemove | Command for DlgSettingsCurveAddRemove |
   CmdSettingsCurveProperties | Command for DlgSettingsCurveProperties |
   CmdSettingsDigitizeCurve | Command for DlgSettingsDigitizeCurve |
   CmdSettingsExportFormat | Command for DlgSettingsExportFormat |
   CmdSettingsGeneral | Command for DlgSettingsGeneral |
   CmdSettingsGridRemoval | Command for DlgSettingsGridRemoval |
   CmdSettingsPointMatch | Command for DlgSettingsPointMatch |
   CmdSettingsSegments | Command for DlgSettingsSegments |
 QUndoStack | |
  CmdMediator | Command queue stack |
 QWizard | |
  ChecklistGuideWizard | Wizard for setting up the checklist guide |
 QWizardPage | |
  ChecklistGuidePage | This class customizes QWizardPage for ChecklistGuideWizard |
   ChecklistGuidePageConclusion | This class uses the validation method of the Conclusion page to perform final processing for ChecklistGuideWizard |
   ChecklistGuidePageCurves | This class adds validation to the Curves page |
   ChecklistGuidePageIntro | This class sets up the introduction page |
 SegmentFactory | Factory class for Segment objects |
 SettingsForGraph | Manage storage and retrieval of the settings for the curves |
 Spline | Cubic interpolation given independent and dependent value vectors |
 SplineCoeff | Four element vector of a,b,c,d coefficients and the associated x value, for one interval of a set of piecewise-defined intervals |
 SplinePair | Single X/Y pair for cubic spline interpolation initialization and calculations |
 Transformation | Affine transformation between screen and graph coordinates, based on digitized axis points |
 TransformationStateAbstractBase | Base class for all transformation states. This serves as an interface to TransformationStateContext |
  TransformationStateDefined | Class to show transformation since transformation is defined |
  TransformationStateUndefined | Class to not show transformation since transformation is undefined |
 TransformationStateContext | Context class for transformation state machine |
 TranslatorContainer | Class that stores QTranslator objects for the duration of application execution |