System API Types and Constants

Now reading version 4. For the latest, read: System API Types and Constants for version 5

Nexus message

This documentation page references Altium NEXUS/NEXUS Client (part of the deployed NEXUS solution), which has been discontinued. All your PCB design, data management and collaboration needs can now be delivered by Altium Designer and a connected Altium 365 Workspace. Check out the FAQs page for more information.

Parent page: Technical Reference - System API

Please note that this documentation was last updated for an older version of Altium NEXUS. While many of the principles and approaches will remain the same, be aware that interfaces, objects, methods, properties, and the like will have changed since then, and will not reflect the entirety of those found in later versions of the software.

System API: Types and Constants

Contents of this reference:

Client Enumerated Types Client Constants

TCommandProc procedure type
TDocumentsBarGrouping type
TGetStateProc procedure type
THighlightMethod type
THighlightMethodSet type
TSnippetCreationMode type
TServerModuleFactory function type

General constants
DocumentNotification codes
View Notification codes
Module Notification codes
System Notification codes
Message notification codes
Client Functions

 

Client Enumerated Types

The enumerated types are used for many of the client/server interfaces and methods which are covered in this section.

TCommandProc procedure type

Syntax
TCommandProc  = Procedure(Const AContext : IServerDocumentView; AParameters : PChar);

TDocumentsBarGrouping type

TDocumentsBarGrouping = (dbgNone, dbgByDocKind, dbgByProject);

TGetStateProc procedure type

Syntax
TGetStateProc = Procedure(Const AContext : IServerDocumentView; AParameters : PChar; Var Enabled, Checked, Visible : LongBool; Caption, ImageFile : PChar);

THighlightMethod type

Syntax
THighlightMethod = (eHighlight_Filter,eHighlight_Zoom,eHighlight_Select,eHighlight_Graph,eHighlight_Dim,eHighlight_Thicken, eHighlight_ZoomCursor);

THighlightMethodSet type

Syntax
THighlightMethodSet = Set Of THighlightMethod;

TSnippetCreationMode type

TSnippetCreationMode = (eSnippetCreationBySelection, eSnippetCreationByUnionIndex);

TServerModuleFactory function type

Syntax
TServerModuleFactory = Function (Const AClient : IClient) : IServerModule;

 

Client Constants

General constants

    cDXPHomePage = 'DXP://Home';
    cDXPProcess  = 'DXPProcess';
    cDXPDocument = 'DXPDoc';
    cViewNameParam = 'ViewName';
    cContextHelpDelimiter = '.';
 
{$IFDEF ALTIUMINTERNAL}
   cWebUpdate_DefaultURL            = 'http://intranet.altium.com.au/rd/AltiumDesigner6/Updates/';
{$ELSE}
   cWebUpdate_DefaultURL            = 'https://www.altium.com/webupdate/';
{$ENDIF}
   cWebUpdate_DefaultNetworkPath    = '';
   cWebUpdate_DefaultUseNetworkPath = False;
   cWebUpdate_DefaultCheckFrequency = wucfEveryDay;
 
    cWebUpdate_CheckFrequencyNames : Array[TWebUpdate_CheckFrequency] Of AnsiString =
    (
        'Never',
        'On Altium NEXUS startup',
        'Every day',
        'Every 3 days',
        'Every week',
        'Every 2 weeks',
        'Every month');

DocumentNotification codes

cDocumentLoading            = 0;
cDocumentOpening            = 1;
cDocumentClosing            = 2;
cDocumentActivating         = 3;
cDocumentNameChanging       = 4;
cDocumentCompiled           = 6;
cDocumentCompiling          = 7;
cDocumentBeforeClose        = 8;
cDocumentProjectChanged     = 9;
cDocumentSaved              = 10;
cDocumentModifiedChanged    = 11;
cDocumentHidden             = 12;
cDocumentProjectActivating  = 15;
cDocumentScrapCompiling     = 16;
cDocumentScrapCompiled      = 17;
cProjectClosing             = 18;
 
cDocumentWorkspaceLoad_Begin = 101;
cDocumentWorkspaceLoad_End   = 102;
cDocumentWorkspaceSave_Begin = 103;
cDocumentWorkspaceSave_End   = 104;
 
cDocumentRouterStarted       = 200;
cDocumentRouterStopped       = 201;
 
cDocumentOwnershipChanged    = 300;

View Notification codes

cDocumentDataInserted            = 0;
cDocumentDataDeleted             = 1;
cDocumentDataModified            = 2;
cDocumentDataRefresh             = 3;
cApplicationStartupComplete      = 6;
cApplicationShutdownStarted      = 7;
cLicenseDetailsChanged           = 8;
cObjectNavigated                 = 150;
cGroupNavigated                  = 155;
cNavigationHistory               = 160;
cRefreshNavigationPanels         = 170;
cObjectCrossprobed               = 180;
cGroupCrossprobed                = 185;
cBeginRefreshNavigationPanels    = 190;

Module Notification codes

cModuleLoaded    = 0;

System Notification codes

cLibrariesUpdated                = 0;
cSystemPreferencesChanged        = 1;
cTextEditPreferencesChanged      = 2;
cPCBPreferencesChanged           = 3;
cSchPreferencesChanged           = 4;
cSchPreferencesChangedWithUpdate = 5;
cCamtasticPreferencesChanged     = 6;
cPCB3DPreferencesChanged         = 7;
cVersionControlPreferencesChanged= 8;
cSchPreferencesChanged_UpdateStringsFont = 10;
cCustomDynamicHelpUpdated                = 11;

Message notification codes

cMessagesAdd              = 0;
cMessagesReplaceLast      = 1;
cMessagesFullUpdate       = 2;
cMessagesClearAll         = 3;

Client Functions

Function Client : IClient;
Function Server : IServerModule;
 
Procedure SetClient (Const AClient : IClient);
Procedure SetServer (Const AServer : IServerModule);
 
Function CreateNewDocumentFromDocumentKind    (Const DocumentKind : AnsiString) : IServerDocument;
 
Function CreateNewFreeDocumentFromDocumentKind(Const DocumentKind : AnsiString) : IServerDocument;
 
Function GetSceneManager : ISceneManager;

If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.