1.3.4 Internal Origin Objects Class


Internal Origin Objects Class

The following classes are used to handle Origin objects. For details, see the Origin C Reference: Classes – Internal Origin Objects chapter in the Origin C help.

Class Brief Description
Axis Access axes contained in layers on an Origin page.
AxisObject Access axis objects (ticks, grids, labels) contained by axes on a graph page.
Collection Generic container template for internal Origin objects (e.g., Collection<PageBase> Pages). Supports attach/detach and idiomatic looping (e.g., foreach).
CollectionEmbeddedPages Access pages embedded in a worksheet.
Column Wrapper for worksheet columns; each holds a Dataset. Primarily controls display/style of the associated data.
DataObject Base class for worksheet columns and matrix objects; data objects live in layers on a page.
DataObjectBase Abstract base for DataObject and DataPlot hierarchies (polymorphic use).
DataPlot Wrapper for graph data plots; stores plot characteristics and resides in a graph layer.
DataRange Build/query ranges from Worksheet/Matrix/Graph. Holds page, sheet/layer, and index info; can aggregate multiple sub-ranges.
DataRangeEx Extension of DataRange.
DatasetObject Access non-numeric datasets (typically members of Column).
Datasheet Handle worksheet and matrix layers.
Folder Project Explorer folder wrapper; provides access to pages and folder hierarchy.
fpoint3d 3D point with double (x, y, z).
fpoint 2D point with double (x, y).
GetGraphPoints Get screen/data (x, y) positions from a graph window.
GraphLayer Wrapper for graph layers; contains a collection of DataPlot objects; owned by a GraphPage.
GraphObject Handle graph objects (text/graphic annotations, style holders, ROI objects). Contained by a GraphLayer.
GraphPage Wrapper for graph pages (windows); provides access to layers and their objects.
GraphPageBase Base class for GraphPage and LayoutPage.
Grid Format data-sheet windows; selection, labels, cell color, merge, etc.
GroupPlot Handle grouped plots contained in a layer.
Layer Wrapper for page layers; many objects on a page are contained in layers.
LayoutPage Wrapper for layout pages (windows); exposes page methods and layer access.
Layout Wrapper for layout layers within a layout page.
MatrixLayer Handle matrix layers; contains a collection of matrix objects in the layer.
MatrixObject Wrapper for matrix objects; controls style/display. Data access is via Matrix; analogous to Column (style) vs Dataset (data).
MatrixPage Wrapper for matrix pages (windows); provides access to matrix layers and their objects.
Note Wrapper for Note pages (windows).
OriginObject Base class for all Origin objects.
Page Wrapper for general pages; contains one or more layers (except Note).
PageBase Abstract base for page types; useful for generic functions or attaching to the active page.
point 2D integer point (x, y).
Project Access most objects in the project; exposes collections (pages, datasets) and active objects (ActiveCurve/Layer/Folder).
ROIObject Handle region-of-interest objects, typically on matrices.
Scale Handle axis scales (each graph layer has X and Y scales).
storage Save binary (TreeNode) and INI (INIFile) data into Origin objects.
StyleHolder Wrapper for data-plot style holders (plot type info).
UndoBlock Safe project edits via UndoBlockBegin()/UndoBlockEnd().
WorksheetPage Wrapper for worksheet pages (windows).
Worksheet Handle worksheet layers; contains a collection of Column objects.
XYRange Build/get XY ranges (one X, one Y). Holds page/sheet/layer and index info; can contain multiple sub-ranges.
XYRangeComplex XY ranges for complex data (matrix/worksheet); multiple sub-ranges supported.
XYZRange XYZ ranges (matrix/worksheet); multiple sub-ranges supported.

Many of these classes are **wrappers** around internal Origin objects (they reference an internal object; multiple wrappers can refer to the same internal object). Where applicable, data access vs. style/display responsibilities are split (e.g., Matrix for data, MatrixObject for style).