System API Types and Constants

Now reading version 20. 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.
참고

Altium 제품에 접근할 수 있는 레벨에 따라 사용할 수 있는 기능이 달라집니다. 다양한 레벨의 Altium Designer Software Subscription에 포함된 기능과 Altium 365 플랫폼에서 제공하는 애플리케이션을 통해 제공되는 기능을 비교해보세요.

소프트웨어에서 논의된 기능을 찾을 수 없는 경우, Altium 영업팀에 문의하여 자세한 정보를 확인해주세요.