System API Types and Constants

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

Parent page: Technical Reference - System API

Please note that this documentation was last updated for an older version of Altium Designer. 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 Designer 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.
Note

The features available depend on your Altium product access level. Compare features included in the various levels of Altium Designer Software Subscription and functionality delivered through applications provided by the Altium 365 platform.

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.