IClient interface
A plug-in module loaded in Altium Designer has hooks to the single executable subsystem, so you have access to the specific documents and launch commands on these documents.
public interface IClient
Namespace: DXP · Assembly: Altium.SDK.Interfaces
Properties
| Property | Type | Access | Description |
|---|---|---|---|
| AccessFeaturesInDevelopment | bool | get | |
| CurrentView | IServerDocumentView | get; set | This property returns the current document view interface which represents the current design document view in Altium Designer. |
| PreferencesChanged | bool | get; set |
AccessFeaturesInDevelopment
No description yet.
bool GetState_AccessFeaturesInDevelopment();
Type: bool · Access: read-only
CurrentView
This property returns the current document view interface which represents the current design document view in Altium Designer.
IServerDocumentView GetCurrentView();
void SetCurrentView(IServerDocumentView argValue);
Type: IServerDocumentView · Access: read/write
The accessors are extension methods of IClientHelper (using DXP;).
SendMessage Example
CurrentView example
ViewName example
This code snippet uses the Client.CurrentView.ViewName method to find out the current document's type.
See also: IServerDocumentView
Examples: Extension_CreatePCBLib, Extension_GenerateGerber, Extension_PCBToImage, Extension_PlaceDeviceSheet
PreferencesChanged
No description yet.
bool GetPreferencesChanged();
void SetPreferencesChanged(bool argValue);
Type: bool · Access: read/write
Methods
| Method | Returns | Description |
|---|---|---|
| AddServerView | void | This method adds a document view such as a custom panel in the Client object within Altium Designer. |
| AddViewToFavorites | bool | |
| ApplicationIdle | void | When the ApplicationIdle method is invoked, the method puts the Altium Designer in a mode where it has a chance to process Window and Altium Designer specific messages. |
| ArePreferencesReadOnly | bool | |
| BeginDisableInterface | void | These BeginDisableInterface and EndDisableInterface methods are invoked when the User Interface of Client need to be disabled, for example there might be extensive processing going on, and you do not… |
| BeginDocumentLoad | void | The BeginDocumentLoad and EndDocumentLoad methods are used to load a group of documents in Altium Designer. |
| BeginRecoverySave | void | The BeginRecoverySave and EndRecoverySave properties can be used to suppress the client notification of document name changes when doing a backup of a current design document in Altium Designer. |
| BroadcastNotification | void | This method broadcasts a notification message in Altium Designer where all active design documents / servers have an opportunity to respond. |
| BroadcastNotificationAsynchronously | void | |
| CloseDocument | void | Closes the specified document (if it is loaded and opened in Altium Designer already). |
| DisableServerNotificationHandler | void | |
| DispatchNotification | void | This method dispatches a notification message to the targeted server in Altium Designer. |
| DisplayDocsTogetherForCompare | void | |
| DisplaySplashScreen | void | |
| EndDisableInterface | void | These BeginDisableInterface and EndDisableInterface methods are invoked when the User Interface of Client needs to be disabled, for example there might be extensive processing going on, and you do no… |
| EndDocumentLoad | void | The BeginDocumentLoad and EndDocumentLoad methods are used to load a group of documents in Altium Designer. |
| EndRecoverySave | void | The BeginRecoverySave and EndRecoverySave methods can be used to suppress the client notification of document name changes when doing a backup of a current design document in Altium Designer. |
| GetApplicationHandle | int | You can use the application handle into server code if dialogs need to be created dynamically from your server and so that when a dialog that appears on Altium Designer will inherit Altium Designer's… |
| GetBomManagerFactory | IBomManagerFactory | |
| GetClientAPI | IClientAPI_Interface | |
| GetCommandLauncher | ICommandLauncher | This method fetches the ICommandLauncher interface which represents Client's process launcher which can be used to launch a server process and its parameters. |
| GetCount | int | This method returns the number of active (loaded) servers in a current session of Altium Designer. |
| GetDefaultExtensionForDocumentKind | string | This method returns the default extension for the specific document kind based on the document kind parameter. |
| GetDocumentByPath | IServerDocument | This method fetches the full file path to a design document and if the path is valid, an IServerDocument object interface is returned representing the whole design document and its panels. |
| GetDocumentCaptionFromDocumentKind | string | |
| GetDocumentCaptionFromDocumentPath | string | |
| GetDocumentKindFromDocumentFileName | string | |
| GetDocumentKindFromDocumentPath | string | This method returns the document kind based on the valid and full document path. |
| GetDocumentKindFromDocumentPathEx | string | |
| GetDocumentPreviewHint | IDocumentPreviewHint | |
| GetDocumentPreviewManager | IDocumentPreviewManager | |
| GetDXPAltiumPortal | IDXPAltiumPortal | |
| GetDXPSplash | IDXPSplash | |
| GetDXPUrlCommandData | bool | |
| GetDXPWorkspace | IDXPWorkSpace | |
| GetDynamicHelpManager | IDynamicHelpManager | The method returns the Dynamic Help manager which represents the Knowledge Center panel in Altium Designer. |
| GetGlobalPreferencesRevisionGUID | string | |
| GetGlobalPreferencesVaultGUID | string | |
| GetGUIManager | IGUIManager | Returns the GUI Manager interface. |
| GetInternalOptions | IInternalOptions | |
| GetLayoutSaveLoadManager | ISaveLoadLayout | |
| GetLicenseManager | ILicenseManager | |
| GetMacroManager | IMacroManager | |
| GetMainWindowHandle | uint | You can use the application handle into server code if dialogs need to be created dynamically from your server and so that when a dialog that appears on Altium Designer will inherit Altium Designer's… |
| GetNavigationSystem | INavigationSystem | The method returns the Navigation system interface. |
| GetOptionsManager | IOptionsManager | This method retrieves the IOptionsManager interface. |
| GetOptionsSet | IDocumentOptionsSet | This method returns you the indexed Options set (IDocumentOptionsSet type). |
| GetOptionsSetByName | IDocumentOptionsSet | This method retrieves the IDocumentOptionsSet interface based on the valid Name string. |
| GetOptionsSetCount | int | This method returns you the number of Options Set. |
| GetPanelInfoByName | IServerPanelInfo | This method obtains the IServerPanelInfo interface for the specified panel. |
| GetPluginsRegistry | IPluginsRegistry | |
| GetProcessControl | IProcessControl | Returns the Process Control interface. |
| GetProductName | string | |
| GetProductVersion | string | |
| GetRealMainWindowHandle | UIntPtr | The method returns the window handle of the main window in Altium Designer. |
| GetSceneManager | ISceneManager | |
| GetSearchManager | ISearchManager | |
| GetSecurityManager | ISecurityManager | |
| GetSecurityServerManager | ISecurityServerManager | |
| GetServerModule | IServerModule | The ServerModule property is used in conjunction with the Count property to retrieve active (loaded) servers. |
| GetServerModuleByName | IServerModule | Returns the server module interface depending on the validity of the module name. |
| GetServerNameByPLID | string | This method returns you the server name based on the PLID identifier string (a string extracted from the server's resources file). |
| GetServerRecord | IServerRecord | The GetServerRecord method reports the number of installed servers based on the installation *.INS files in the System folder of Altium Designer installation). |
| GetServerRecordByFeature | IServerRecord | |
| GetServerRecordByName | IServerRecord | Returns the IServerRecord interface for a server module name. |
| GetServerRecordCount | int | This method returns the number of server records that represent the server installation files found in the \System\ folder of the Altium Designer software installation. |
| GetServerViewFromName | IServerView | This method returns the server view object interface depending on the name of the server view. |
| GetTechnologySets | string | |
| GetTechnologySubscriptionExpirationDate | double | |
| GetTimerManager | ITimerManager | This property returns the timer manager object interface. |
| GetVersion | string | |
| GetWindowKindByName | IServerWindowKind | Returns the IServerWindowKind interface for a window kind name. |
| HandleException | void | |
| HideDocument | void | This method hides the document, ie puts it out of focus but not closed or destroyed. |
| InRecoverySave | bool | This method checks whether Altium Designer is in the process of Recovery Save mode, before you can invoke the BeginRecoverySave or EndRecoverySave methods. |
| InTestMode | bool | |
| IsDocumentOfKind | bool | |
| IsDocumentOpen | bool | Returns a boolean value whether the document is open in Altium Designer or not. |
| IsInitialized | bool | |
| IsQuitting | bool | Returns a boolean value that represents the state Altium Designer is in: true if Altium Designer is about to quit or in the process of quitting, false if Altium Designer is still active. |
| LastActiveDocumentOfType | IServerDocument | This method returns the last active loaded document in Altium Designer by the document type. |
| LicenseInfoStillValid | bool | |
| LoadCustomizationsFromFile | void | |
| LoadCustomizationsFromFileByMode | void | |
| LoadCustomizationsFromPath | void | |
| LoadGlobalPreferencesFromVault | void | |
| OpenDocument | IServerDocument | The OpenDocument method returns the IServerDocument interface depending on the DocumentKind and FileName values of this document are valid. |
| OpenDocumentShowOrHide | IServerDocument | This method opens a specific document but you can control how it is displayed in the Altium Designer workspace. |
| OpenNewDocument | IServerDocument | |
| ProductInfo | IProductInfo | |
| QuerySystemFont | void | Query the system font used. |
| RegisterFilteredNotificationHandler | void | |
| RegisterNotificationHandler | void | The RegisterNotificationHandler method registers the notification handler in the Client module part of Altium Designer once the server object is created and loaded in computer memory. |
| RegisterServerNotificationHandler | void | |
| ReleaseGlobalPreferencesToVault | void | |
| RemoveServerView | void | This method removes a server view (representing a server document window) from Altium Designer. |
| SaveCustomizationsForExport | string | |
| ShowDocument | void | Displays the design document in Altium Designer. |
| ShowDocumentDontFocus | void | Displays the design document but leaves the previously focussed document in focus. |
| StartServer | bool | The StartServer and StopServer properties can be used to load a server in Altium Designer if it has not already, before you can invoke this server's processes and to stop this server once you have do… |
| StartSuspendTestMode | void | |
| StopServer | bool | The StartServer and StopServer properties can be used to load a server in Altium Designer if it has not loaded already, before you can invoke this server's processes and to stop this server once you… |
| StopSuspendTestMode | void | |
| UnregisterNotificationHandler | void | The UnregisterNotificationHandler method un registers the notification handler from Client once the server object goes out of scope (destroyed). |
| UnregisterServerNotificationHandler | void |
AddServerView
This method adds a document view such as a custom panel in the Client object within Altium Designer. In the TServerModule constructor, where the server commands are registered, this is the place to create global panel views. The TServerModule.CreateServerViews method will have the global panel form and the view created from this panel form. Then the view is added to the server module (TServerModule.AddView()) as well as in the client object (Client.AddServerView).
void AddServerView(IServerView argView);
void AddServerView(object argView);
| Parameter | Type | Passing |
|---|---|---|
argView | IServerView | value |
Returns: nothing (void)
The first overload is an extension method of IClientHelper (using DXP;) with typed parameters; the second is declared by the interface.
See also: IServerView
Examples: Extension_WebBrowserPanel
AddViewToFavorites
No description yet.
bool AddViewToFavorites(IServerDocumentView argView, bool argIsSnippet);
bool AddViewToFavorites(object argView, bool argIsSnippet);
| Parameter | Type | Passing |
|---|---|---|
argView | IServerDocumentView | value |
argIsSnippet | bool | value |
Returns: bool
The first overload is an extension method of IClientHelper (using DXP;) with typed parameters; the second is declared by the interface.
ApplicationIdle
When the ApplicationIdle method is invoked, the method puts the Altium Designer in a mode where it has a chance to process Window and Altium Designer specific messages.
void ApplicationIdle();
Returns: nothing (void)
ArePreferencesReadOnly
No description yet.
bool ArePreferencesReadOnly(string argServerName, string argFormName);
| Parameter | Type | Passing |
|---|---|---|
argServerName | string | value |
argFormName | string | value |
Returns: bool
BeginDisableInterface
These BeginDisableInterface and EndDisableInterface methods are invoked when the User Interface of Client need to be disabled, for example there might be extensive processing going on, and you do not want the user's intervention.
void BeginDisableInterface();
Returns: nothing (void)
See also: IClient.EndDisableInterface
BeginDocumentLoad
The BeginDocumentLoad and EndDocumentLoad methods are used to load a group of documents in Altium Designer.
void BeginDocumentLoad();
Returns: nothing (void)
See also: IClient.EndDocumentLoad
BeginRecoverySave
The BeginRecoverySave and EndRecoverySave properties can be used to suppress the client notification of document name changes when doing a backup of a current design document in Altium Designer. To check if the recovery save process is in progress, invoke the InRecoverySave method.
void BeginRecoverySave();
Returns: nothing (void)
See also: IClient.EndRecoverySave, IClient.InRecoverySave
BroadcastNotification
This method broadcasts a notification message in Altium Designer where all active design documents / servers have an opportunity to respond. A BoardcastNotification is a DispatchNotification (null, ANotification); There are five types of Notification interfaces; ISystemNotification, IDocumentNotification, IDocumentFormNotification, IViewNotification and IModuleNotification.
void BroadcastNotification(INotification argNotification);
void BroadcastNotification(object argNotification);
| Parameter | Type | Passing |
|---|---|---|
argNotification | INotification | value |
Returns: nothing (void)
The first overload is an extension method of IClientHelper (using DXP;) with typed parameters; the second is declared by the interface.
See also: INotification
Examples: Extension_SetGroupingInDocumentsBar
BroadcastNotificationAsynchronously
No description yet.
void BroadcastNotificationAsynchronously(INotification argNotification);
void BroadcastNotificationAsynchronously(object argNotification);
| Parameter | Type | Passing |
|---|---|---|
argNotification | INotification | value |
Returns: nothing (void)
The first overload is an extension method of IClientHelper (using DXP;) with typed parameters; the second is declared by the interface.
Examples: Extension_TestNotification
CloseDocument
Closes the specified document (if it is loaded and opened in Altium Designer already). Note the document is not removed from Altium Designer, that is, the document still exists on the Projects panel for example.
void CloseDocument(IServerDocument argDocument);
void CloseDocument(object argDocument);
| Parameter | Type | Passing | Description |
|---|---|---|---|
argDocument | IServerDocument | value | The document to close. |
Returns: nothing (void)
The first overload is an extension method of IClientHelper (using DXP;) with typed parameters; the second is declared by the interface.
See also: IClient.OpenDocument
Examples: Extension_GenerateGerber, Extension_PcbLibToImage
DisableServerNotificationHandler
No description yet.
void DisableServerNotificationHandler(IServerModule argHandler);
void DisableServerNotificationHandler(object argHandler);
| Parameter | Type | Passing |
|---|---|---|
argHandler | IServerModule | value |
Returns: nothing (void)
The first overload is an extension method of IClientHelper (using DXP;) with typed parameters; the second is declared by the interface.
DispatchNotification
This method dispatches a notification message to the targeted server in Altium Designer. There are four types of Notification interfaces; IDocumentNotification, IDocumentFormNotification, IViewNotification and IModuleNotification.
void DispatchNotification(IServerModule argServerModule, INotification argNotification);
void DispatchNotification(object argServerModule, object argNotification);
| Parameter | Type | Passing |
|---|---|---|
argServerModule | IServerModule | value |
argNotification | INotification | value |
Returns: nothing (void)
The first overload is an extension method of IClientHelper (using DXP;) with typed parameters; the second is declared by the interface.
See also: INotification
DisplayDocsTogetherForCompare
No description yet.
void DisplayDocsTogetherForCompare();
Returns: nothing (void)
DisplaySplashScreen
No description yet.
void DisplaySplashScreen(string argImagePath, int argFadeInMillis, int argDisplayMillis, int argFadeOutMillis, int argAlphaStep);
| Parameter | Type | Passing |
|---|---|---|
argImagePath | string | value |
argFadeInMillis | int | value |
argDisplayMillis | int | value |
argFadeOutMillis | int | value |
argAlphaStep | int | value |
Returns: nothing (void)
EndDisableInterface
These BeginDisableInterface and EndDisableInterface methods are invoked when the User Interface of Client needs to be disabled, for example there might be extensive processing going on, and you do not want the user's intervention. This is a Altium Designer wide method.
void EndDisableInterface();
Returns: nothing (void)
See also: IClient.BeginDisableInterface
EndDocumentLoad
The BeginDocumentLoad and EndDocumentLoad methods are used to load a group of documents in Altium Designer.
void EndDocumentLoad(bool argShow);
| Parameter | Type | Passing |
|---|---|---|
argShow | bool | value |
Returns: nothing (void)
See also: IClient.BeginDocumentLoad
EndRecoverySave
The BeginRecoverySave and EndRecoverySave methods can be used to suppress the client notification of document name changes when doing a backup of a current design document in Altium Designer.
void EndRecoverySave();
Returns: nothing (void)
To check if the recovery save is in progress, invoke the InRecoverySave method.
See also: IClient.BeginRecoverySave, IClient.InRecoverySave
GetApplicationHandle
You can use the application handle into server code if dialogs need to be created dynamically from your server and so that when a dialog that appears on Altium Designer will inherit Altium Designer's icon and appear as one whole application on the task bar.
int GetApplicationHandle();
Returns: int
This ApplicationHandle property can be passed as a parameter for the create constructor of the dialog. The GetMainWindowHandle method is its equivalent.
See also: IClient.GetMainWindowHandle
GetBomManagerFactory
No description yet.
IBomManagerFactory GetBomManagerFactory();
Returns: IBomManagerFactory
Extension method of Utils (using DXP;).
GetClientAPI
No description yet.
IClientAPI_Interface GetClientAPI();
Returns: IClientAPI_Interface
Extension method of IClientHelper (using DXP;).
Examples: Ciiva, Ciiva, Extension_HierarchicalDesign, Extension_Preference, Extension_SetGroupingInDocumentsBar
GetCommandLauncher
This method fetches the ICommandLauncher interface which represents Client's process launcher which can be used to launch a server process and its parameters. See the IProcessLauncher interface as well.
ICommandLauncher GetCommandLauncher();
Returns: ICommandLauncher
Extension method of IClientHelper (using DXP;).
The CommandLauncher property returns the Command Launcher interface. This interface contains the table of client's process launchers that can be used to launch a command.
See also: ICommandLauncher, IProcessLauncher
GetCount
This method returns the number of active (loaded) servers in a current session of Altium Designer. Use this method (or the Count property) in conjunction with the ServerModule property to fetch Server Module interfaces.
int GetCount();
Returns: int
This property returns the number of active servers in a current session of Altium Designer. Use this property in conjunction with the ServerModule property to fetch Server Module interfaces.
See also: IServerModule
GetDefaultExtensionForDocumentKind
This method returns the default extension for the specific document kind based on the document kind parameter.
string GetDefaultExtensionForDocumentKind(string argDocumentKind);
| Parameter | Type | Passing |
|---|---|---|
argDocumentKind | string | value |
Returns: string
IClient interface
GetDocumentByPath
This method fetches the full file path to a design document and if the path is valid, an IServerDocument object interface is returned representing the whole design document and its panels.
IServerDocument GetDocumentByPath(string argFilePath);
| Parameter | Type | Passing |
|---|---|---|
argFilePath | string | value |
Returns: IServerDocument
Extension method of IClientHelper (using DXP;).
Examples: Extension_CreatePCBLib, Extension_SupplierPreference
GetDocumentCaptionFromDocumentKind
No description yet.
string GetDocumentCaptionFromDocumentKind(string argDocumentKind);
| Parameter | Type | Passing |
|---|---|---|
argDocumentKind | string | value |
Returns: string
GetDocumentCaptionFromDocumentPath
No description yet.
string GetDocumentCaptionFromDocumentPath(string argPath);
| Parameter | Type | Passing |
|---|---|---|
argPath | string | value |
Returns: string
GetDocumentKindFromDocumentFileName
No description yet.
string GetDocumentKindFromDocumentFileName(string argPath, bool argCheckForTextFiles);
| Parameter | Type | Passing |
|---|---|---|
argPath | string | value |
argCheckForTextFiles | bool | value |
Returns: string
GetDocumentKindFromDocumentPath
This method returns the document kind based on the valid and full document path.
string GetDocumentKindFromDocumentPath(string argPath);
| Parameter | Type | Passing |
|---|---|---|
argPath | string | value |
Returns: string
GetDocumentKindFromDocumentPathEx
No description yet.
string GetDocumentKindFromDocumentPathEx(string argPath, ref string argDocSubKind);
| Parameter | Type | Passing |
|---|---|---|
argPath | string | value |
argDocSubKind | string | ref |
Returns: string
GetDocumentPreviewHint
No description yet.
IDocumentPreviewHint GetDocumentPreviewHint();
Returns: IDocumentPreviewHint
Extension method of IClientHelper (using DXP;).
GetDocumentPreviewManager
No description yet.
IDocumentPreviewManager GetDocumentPreviewManager();
Returns: IDocumentPreviewManager
Extension method of IClientHelper (using DXP;).
GetDXPAltiumPortal
No description yet.
IDXPAltiumPortal GetDXPAltiumPortal();
Returns: IDXPAltiumPortal
Extension method of IClientHelper (using DXP;).
GetDXPSplash
No description yet.
IDXPSplash GetDXPSplash();
Returns: IDXPSplash
Extension method of IClientHelper (using DXP;).
GetDXPUrlCommandData
No description yet.
bool GetDXPUrlCommandData(string argUrl, out string argCommand, out string argParams);
| Parameter | Type | Passing |
|---|---|---|
argUrl | string | value |
argCommand | string | out |
argParams | string | out |
Returns: bool
GetDXPWorkspace
No description yet.
IDXPWorkSpace GetDXPWorkspace();
Returns: IDXPWorkSpace
Extension method of IClientHelper (using DXP;).
Examples: Ciiva, Extension_AddVariant, Extension_BOMManager, Extension_CreateProject, Extension_GenerateGerber, Extension_HierarchicalDesign, Extension_PartComment, Extension_PlaceComponentFromVault, Extension_PlaceDeviceSheet, Extension_RefreshDocument, Extension_TestPortHarnessDev, Extension_VariantOptions
GetDynamicHelpManager
The method returns the Dynamic Help manager which represents the Knowledge Center panel in Altium Designer.
IDynamicHelpManager GetDynamicHelpManager();
Returns: IDynamicHelpManager
Extension method of IClientHelper (using DXP;).
GetGlobalPreferencesRevisionGUID
No description yet.
string GetGlobalPreferencesRevisionGUID();
Returns: string
GetGlobalPreferencesVaultGUID
No description yet.
string GetGlobalPreferencesVaultGUID();
Returns: string
GetGUIManager
Returns the GUI Manager interface. Use the GUIManager property instead. This Interface object deals with the User Interface of Altium Designer such as controlling the status bars of Altium Designer, the locations and the state of panels in Altium Designer.
IGUIManager GetGUIManager();
Returns: IGUIManager
Extension method of IClientHelper (using DXP;).
The GUIManager property returns the GUIManager interface. This Interface object deals with the Altium Designer's Graphical User Interface such as controlling the status bars, the locations and the state of panels.
See also: IGUIManager
GetInternalOptions
No description yet.
IInternalOptions GetInternalOptions();
Returns: IInternalOptions
Extension method of IClientHelper (using DXP;).
GetLayoutSaveLoadManager
No description yet.
ISaveLoadLayout GetLayoutSaveLoadManager();
Returns: ISaveLoadLayout
Extension method of IClientHelper (using DXP;).
GetLicenseManager
No description yet.
ILicenseManager GetLicenseManager();
Returns: ILicenseManager
Extension method of IClientHelper (using DXP;).
See also: ILicenseManager
GetMacroManager
No description yet.
IMacroManager GetMacroManager();
Returns: IMacroManager
Extension method of IClientHelper (using DXP;).
GetMainWindowHandle
You can use the application handle into server code if dialogs need to be created dynamically from your server and so that when a dialog that appears on Altium Designer will inherit Altium Designer's icon and appear as one whole application on the task bar. This ApplicationHandle property is also its equivalent.
uint GetMainWindowHandle();
Returns: uint
The MainWindowHandle property returns the handle of the main window in Altium Designer which can be used for addon dialogs that will be attached to Altium Designer and have a single Altium Designer icon on the Taskbar for example.
See also: IClient.GetApplicationHandle
Examples: Extension_PlacePad
GetNavigationSystem
The method returns the Navigation system interface.
INavigationSystem GetNavigationSystem();
Returns: INavigationSystem
Extension method of IClientHelper (using DXP;).
The NavigationSystem property represents the Navigation system in Altium Designer. The navigation system is the workhouse for the Navigation panel which is the center-piece for net connectivity for the design project. There are three ways a design can be arranged - as a list of compiled sheets, flattened hierarchy and as a structural tree.
See also: INavigationSystem
Examples: Extension_NavigationProvider
GetOptionsManager
This method retrieves the IOptionsManager interface. With this interface, you can invoke IOptionsManager.GetOptionsReader or IOptionsManager.GetOptionsWriter to retrieve or write options (settings) for the target server. Each editor server has options that manage its server documents.
IOptionsManager GetOptionsManager();
Returns: IOptionsManager
Extension method of IClientHelper (using DXP;).
This is a read only property that returns the IOptionsManager interface. This interface is responsible for managing (reading and writing) values to/from the system wide Preferences dialog in Altium Designer for the specified server.
This interface is useful for server writers who wish to add their options pages in the system wide preferences dialog and manage the controls on these options pages.
See also: IOptionsManager
Examples: Extension_SupplierPreference
GetOptionsSet
This method returns you the indexed Options set (IDocumentOptionsSet type).
IDocumentOptionsSet GetOptionsSet(int argIndex);
| Parameter | Type | Passing |
|---|---|---|
argIndex | int | value |
Returns: IDocumentOptionsSet
Extension method of IClientHelper (using DXP;).
See also: IClient.GetOptionsSetCount, IClient.GetOptionsSetByName
GetOptionsSetByName
This method retrieves the IDocumentOptionsSet interface based on the valid Name string.
IDocumentOptionsSet GetOptionsSetByName(string argName);
| Parameter | Type | Passing |
|---|---|---|
argName | string | value |
Returns: IDocumentOptionsSet
Extension method of IClientHelper (using DXP;).
See also: IClient.GetOptionsSetCount, IClient.GetOptionsSet, IDocumentOptionsSet
GetOptionsSetCount
This method returns you the number of Options Set.
int GetOptionsSetCount();
Returns: int
See also: IClient.GetOptionsSet, IClient.GetOptionsSetByName
GetPanelInfoByName
This method obtains the IServerPanelInfo interface for the specified panel.
IServerPanelInfo GetPanelInfoByName(string argPanelName);
| Parameter | Type | Passing |
|---|---|---|
argPanelName | string | value |
Returns: IServerPanelInfo
Extension method of IClientHelper (using DXP;).
See also: IServerPanelInfo
GetPluginsRegistry
No description yet.
IPluginsRegistry GetPluginsRegistry();
Returns: IPluginsRegistry
Extension method of IClientHelper (using DXP;).
GetProcessControl
Returns the Process Control interface. This Process Control determines the number of "re-entrant" processes occurring, ie one client's process occurring stacked on top of another active client's process - this is the process depth. If a process control's process depth is zero, it indicates that nothing is taking place in Altium Designer.
IProcessControl GetProcessControl();
Returns: IProcessControl
Extension method of IClientHelper (using DXP;).
This property returns the IProcessControl interface. This Process Control interface determines the number of "re-entrant" processes occurring, ie one client's process occurring stacked on top of another active client's process - this is the process depth. If a process control's process depth is zero, it indicates that nothing is taking place in Altium Designer. Refer to the IProcessControl interface for details.
See also: IProcessControl
GetProductName
No description yet.
string GetProductName();
Returns: string
GetProductVersion
No description yet.
string GetProductVersion();
Returns: string
GetRealMainWindowHandle
The method returns the window handle of the main window in Altium Designer.
UIntPtr GetRealMainWindowHandle();
Returns: UIntPtr
Extension method of IClientHelper (using DXP;).
GetSceneManager
No description yet.
ISceneManager GetSceneManager();
Returns: ISceneManager
Extension method of IClientHelper (using DXP;).
GetSearchManager
No description yet.
ISearchManager GetSearchManager();
Returns: ISearchManager
Extension method of IClientHelper (using DXP;).
GetSecurityManager
No description yet.
ISecurityManager GetSecurityManager();
Returns: ISecurityManager
Extension method of IClientHelper (using DXP;).
GetSecurityServerManager
No description yet.
ISecurityServerManager GetSecurityServerManager();
Returns: ISecurityServerManager
Extension method of IClientHelper (using DXP;).
GetServerModule
The ServerModule property is used in conjunction with the Count property to retrieve active (loaded) servers. The ServerModule property returns the IServerModule interface for the loaded server module in Altium Designer.
IServerModule GetServerModule(int argIndex);
| Parameter | Type | Passing |
|---|---|---|
argIndex | int | value |
Returns: IServerModule
Extension method of IClientHelper (using DXP;).
Note, that PCB server and Schematic server have their own IPCB_ServerInterface and ISch_ServerInterface interfaces respectively.
IServerModule example
This example gets the Schematic's IServerModule interface and returns the number of document views open in Altium Designer
See also: IServerModule
GetServerModuleByName
Returns the server module interface depending on the validity of the module name. Use the ServerModuleByName property instead to return the indexed server module.
IServerModule GetServerModuleByName(string argModuleName);
| Parameter | Type | Passing | Description |
|---|---|---|---|
argModuleName | string | value | The server module name, for example 'PCB' or 'SCH'. |
Returns: IServerModule
Extension method of IClientHelper (using DXP;).
The ServerModuleByName property returns the IServerModule interface if the module name is found in the Client's table of active servers. For a PCB editor, module name is PCB, for a Schematic Editor, the module name is SCH etc.
Server Names
See also: IClient.GetServerModule, IServerModule
Examples: Extension_BOMManager, Extension_BOMManager, Extension_SchPreference
GetServerNameByPLID
This method returns you the server name based on the PLID identifier string (a string extracted from the server's resources file).
string GetServerNameByPLID(string argPLID);
| Parameter | Type | Passing |
|---|---|---|
argPLID | string | value |
Returns: string
GetServerRecord
The GetServerRecord method reports the number of installed servers based on the installation *.INS files in the System folder of Altium Designer installation). Use this in conjunction with the GetServerRecordCount method.
IServerRecord GetServerRecord(int argIndex);
| Parameter | Type | Passing |
|---|---|---|
argIndex | int | value |
Returns: IServerRecord
Extension method of IClientHelper (using DXP;).
The IClient interface has GetServerRecord and GetServerModule methods. The difference between these two methods is that the GetServerRecord method reports the number of installed servers (*.INS files in the \System\ folder of Altium Designer installation).
The GetServerModule merely returns the active (loaded) server in Altium Designer and to get each active server, you need to invoke the GetCount method and pass the count parameter into the GetServerModule method.
See also: IClient.GetServerRecordCount, IClient.GetServerModule
GetServerRecordByFeature
No description yet.
IServerRecord GetServerRecordByFeature(string argFeature);
| Parameter | Type | Passing |
|---|---|---|
argFeature | string | value |
Returns: IServerRecord
Extension method of IClientHelper (using DXP;).
GetServerRecordByName
Returns the IServerRecord interface for a server module name. This IServerRecord interface represents the installation file for the server (with an INS extension).
IServerRecord GetServerRecordByName(string argModuleName);
| Parameter | Type | Passing | Description |
|---|---|---|---|
argModuleName | string | value | The server module name. |
Returns: IServerRecord
Extension method of IClientHelper (using DXP;).
See also: IServerRecord
GetServerRecordCount
This method returns the number of server records that represent the server installation files found in the \System\ folder of the Altium Designer software installation. This is to be used in conjunction with the GetServerRecord method.
int GetServerRecordCount();
Returns: int
See also: IServerRecord
GetServerViewFromName
This method returns the server view object interface depending on the name of the server view. A IServerView interface represents a panel view as well as an ancestor for a document view.
IServerView GetServerViewFromName(string argViewName);
| Parameter | Type | Passing |
|---|---|---|
argViewName | string | value |
Returns: IServerView
Extension method of IClientHelper (using DXP;).
See also: IExternalForm, IServerView
GetTechnologySets
No description yet.
string GetTechnologySets(ref uint argValidAtTimestamp);
| Parameter | Type | Passing |
|---|---|---|
argValidAtTimestamp | uint | ref |
Returns: string
GetTechnologySubscriptionExpirationDate
No description yet.
double GetTechnologySubscriptionExpirationDate(string argTechnologySet);
| Parameter | Type | Passing |
|---|---|---|
argTechnologySet | string | value |
Returns: double
GetTimerManager
This property returns the timer manager object interface.
ITimerManager GetTimerManager();
Returns: ITimerManager
Extension method of IClientHelper (using DXP;).
See also: ITimerManager
GetVersion
No description yet.
string GetVersion();
Returns: string
GetWindowKindByName
Returns the IServerWindowKind interface for a window kind name.
IServerWindowKind GetWindowKindByName(string argWindowKindName);
| Parameter | Type | Passing | Description |
|---|---|---|---|
argWindowKindName | string | value | The window kind name, which denotes the document kind. For example, there are two document kinds in the PCB editor - PCB and PCBLIB documents. |
Returns: IServerWindowKind
Extension method of IClientHelper (using DXP;).
See also: IServerWindowKind
HandleException
No description yet.
void HandleException(string argMessage);
| Parameter | Type | Passing |
|---|---|---|
argMessage | string | value |
Returns: nothing (void)
HideDocument
This method hides the document, ie puts it out of focus but not closed or destroyed.
void HideDocument(IServerDocument argDocument);
void HideDocument(object argDocument);
| Parameter | Type | Passing |
|---|---|---|
argDocument | IServerDocument | value |
Returns: nothing (void)
The first overload is an extension method of IClientHelper (using DXP;) with typed parameters; the second is declared by the interface.
See also: IClient.CloseDocument, IClient.OpenDocument, IClient.ShowDocument, IServerDocument
InRecoverySave
This method checks whether Altium Designer is in the process of Recovery Save mode, before you can invoke the BeginRecoverySave or EndRecoverySave methods.
bool InRecoverySave();
Returns: bool
See also: IClient.BeginRecoverySave, IClient.EndRecoverySave
InTestMode
No description yet.
bool InTestMode();
Returns: bool
IsDocumentOfKind
No description yet.
bool IsDocumentOfKind(string argPath, string argDocKind);
| Parameter | Type | Passing |
|---|---|---|
argPath | string | value |
argDocKind | string | value |
Returns: bool
IsDocumentOpen
Returns a boolean value whether the document is open in Altium Designer or not.
bool IsDocumentOpen(string argFilePath);
| Parameter | Type | Passing | Description |
|---|---|---|---|
argFilePath | string | value | The file path of the document; the result depends on whether this path is valid or not. |
Returns: bool
IsInitialized
No description yet.
bool IsInitialized();
Returns: bool
IsQuitting
Returns a boolean value that represents the state Altium Designer is in: true if Altium Designer is about to quit or in the process of quitting, false if Altium Designer is still active.
bool IsQuitting();
Returns: bool
LastActiveDocumentOfType
This method returns the last active loaded document in Altium Designer by the document type. Types include PCB, SCH, TEXT, WAVE, PCBLIB, SCHLIB.
IServerDocument LastActiveDocumentOfType(string argType);
| Parameter | Type | Passing |
|---|---|---|
argType | string | value |
Returns: IServerDocument
Extension method of IClientHelper (using DXP;).
LicenseInfoStillValid
No description yet.
bool LicenseInfoStillValid(uint argRetrievedAt);
| Parameter | Type | Passing |
|---|---|---|
argRetrievedAt | uint | value |
Returns: bool
LoadCustomizationsFromFile
No description yet.
void LoadCustomizationsFromFile(string argRCSFileName);
| Parameter | Type | Passing |
|---|---|---|
argRCSFileName | string | value |
Returns: nothing (void)
LoadCustomizationsFromFileByMode
No description yet.
void LoadCustomizationsFromFileByMode(string argRCSFileName, bool argRemoveAllUserResources);
| Parameter | Type | Passing |
|---|---|---|
argRCSFileName | string | value |
argRemoveAllUserResources | bool | value |
Returns: nothing (void)
LoadCustomizationsFromPath
No description yet.
void LoadCustomizationsFromPath(string argRCSFilePath);
| Parameter | Type | Passing |
|---|---|---|
argRCSFilePath | string | value |
Returns: nothing (void)
LoadGlobalPreferencesFromVault
No description yet.
void LoadGlobalPreferencesFromVault(string argVaultGuid, string argItemRevisionGUID);
| Parameter | Type | Passing |
|---|---|---|
argVaultGuid | string | value |
argItemRevisionGUID | string | value |
Returns: nothing (void)
OpenDocument
The OpenDocument method returns the IServerDocument interface depending on the DocumentKind and FileName values of this document are valid.
IServerDocument OpenDocument(string argKind, string argFileName);
| Parameter | Type | Passing |
|---|---|---|
argKind | string | value |
argFileName | string | value |
Returns: IServerDocument
Extension method of IClientHelper (using DXP;).
See also: IClient.ShowDocument
Examples: Extension_ChangeOutputJobFile, Extension_CreateProject, Extension_GenerateGerber, Extension_HierarchicalDesign, Extension_IntegratedLibraryManager, Extension_PCBDrawing, Extension_PartComment, Extension_PcbLibToImage
OpenDocumentShowOrHide
This method opens a specific document but you can control how it is displayed in the Altium Designer workspace.
IServerDocument OpenDocumentShowOrHide(string argKind, string argFileName, bool argShowInTree);
| Parameter | Type | Passing |
|---|---|---|
argKind | string | value |
argFileName | string | value |
argShowInTree | bool | value |
Returns: IServerDocument
Extension method of IClientHelper (using DXP;).
OpenNewDocument
No description yet.
IServerDocument OpenNewDocument(string argKind, string argFileName, string argNewName, bool argReuseExisting);
| Parameter | Type | Passing |
|---|---|---|
argKind | string | value |
argFileName | string | value |
argNewName | string | value |
argReuseExisting | bool | value |
Returns: IServerDocument
Extension method of IClientHelper (using DXP;).
ProductInfo
No description yet.
IProductInfo ProductInfo();
Returns: IProductInfo
Extension method of IClientHelper (using DXP;).
QuerySystemFont
Query the system font used.
void QuerySystemFont(TFontQueryMode argQueryMode, ref bool argUseSysFont, ref string argFontName, ref int argFontSize, ref TFontStyleSet argFontStyle, ref int argFontColor, ref int argFontCharset);
void QuerySystemFont(int argQueryMode, ref bool argUseSysFont, ref string argFontName, ref int argFontSize, ref ITransportSet argFontStyle, ref int argFontColor, ref int argFontCharset);
| Parameter | Type | Passing |
|---|---|---|
argQueryMode | TFontQueryMode | value |
argUseSysFont | bool | ref |
argFontName | string | ref |
argFontSize | int | ref |
argFontStyle | TFontStyleSet | ref |
argFontColor | int | ref |
argFontCharset | int | ref |
Returns: nothing (void)
The first overload is an extension method of IClientHelper (using DXP;) with typed parameters; the second is declared by the interface.
RegisterFilteredNotificationHandler
No description yet.
void RegisterFilteredNotificationHandler(INotificationHandler argHandler, string argNotificationFilter);
void RegisterFilteredNotificationHandler(object argHandler, string argNotificationFilter);
| Parameter | Type | Passing |
|---|---|---|
argHandler | INotificationHandler | value |
argNotificationFilter | string | value |
Returns: nothing (void)
The first overload is an extension method of IClientHelper (using DXP;) with typed parameters; the second is declared by the interface.
RegisterNotificationHandler
The RegisterNotificationHandler method registers the notification handler in the Client module part of Altium Designer once the server object is created and loaded in computer memory.
void RegisterNotificationHandler(INotificationHandler argHandler);
void RegisterNotificationHandler(object argHandler);
| Parameter | Type | Passing | Description |
|---|---|---|---|
argHandler | INotificationHandler | value | The server module object. |
Returns: nothing (void)
The first overload is an extension method of IClientHelper (using DXP;) with typed parameters; the second is declared by the interface.
The INotificationHandler object interface is responsible for handling notifications raised in Altium Designer.
Each server object has an INotificationHandler.HandleNotification method to handle notifications when the options values have been adjusted from the system wide Preferences dialog.
The INotificationHandler.HandleNotification method would involve calls to update the server preferences values on the server panel for example every-time a specific server notification code is intercepted.
This method is normally used for in developing servers and not for extensions.
See also: IClient.BroadcastNotification, IClient.DispatchNotification, INotificationHandler
RegisterServerNotificationHandler
No description yet.
void RegisterServerNotificationHandler(IServerModule argServerModule, INotificationHandler argHandler, string argNotificationFilter);
void RegisterServerNotificationHandler(object argServerModule, object argHandler, string argNotificationFilter);
| Parameter | Type | Passing |
|---|---|---|
argServerModule | IServerModule | value |
argHandler | INotificationHandler | value |
argNotificationFilter | string | value |
Returns: nothing (void)
The first overload is an extension method of IClientHelper (using DXP;) with typed parameters; the second is declared by the interface.
ReleaseGlobalPreferencesToVault
No description yet.
void ReleaseGlobalPreferencesToVault(string argVaultGUID, string argItemGUID);
| Parameter | Type | Passing |
|---|---|---|
argVaultGUID | string | value |
argItemGUID | string | value |
Returns: nothing (void)
RemoveServerView
This method removes a server view (representing a server document window) from Altium Designer.
void RemoveServerView(IServerView argView);
void RemoveServerView(object argView);
| Parameter | Type | Passing |
|---|---|---|
argView | IServerView | value |
Returns: nothing (void)
The first overload is an extension method of IClientHelper (using DXP;) with typed parameters; the second is declared by the interface.
See also: IClient.CurrentView
SaveCustomizationsForExport
No description yet.
string SaveCustomizationsForExport();
Returns: string
ShowDocument
Displays the design document in Altium Designer.
void ShowDocument(IServerDocument argDocument);
void ShowDocument(object argDocument);
| Parameter | Type | Passing | Description |
|---|---|---|---|
argDocument | IServerDocument | value | The server document loaded in Altium Designer. |
Returns: nothing (void)
The first overload is an extension method of IClientHelper (using DXP;) with typed parameters; the second is declared by the interface.
IServerDocument example
This example gets the client interface and then opens and shows a document.
See also: IClient.OpenDocument, IServerDocument
Examples: Extension_CreateProject, Extension_HierarchicalDesign, Extension_IntegratedLibraryManager, Extension_PartComment, Extension_PcbLibToImage
ShowDocumentDontFocus
Displays the design document but leaves the previously focussed document in focus. If there are not design documents open already, then this design document will still be displayed but not focussed.
void ShowDocumentDontFocus(IServerDocument argDocument);
void ShowDocumentDontFocus(object argDocument);
| Parameter | Type | Passing | Description |
|---|---|---|---|
argDocument | IServerDocument | value | The design document to display. |
Returns: nothing (void)
The first overload is an extension method of IClientHelper (using DXP;) with typed parameters; the second is declared by the interface.
See also: IClient.OpenDocument, IClient.ShowDocument, IServerDocument
StartServer
The StartServer and StopServer properties can be used to load a server in Altium Designer if it has not already, before you can invoke this server's processes and to stop this server once you have done with these server processes. This can be used to conserve computer's memory.
bool StartServer(string argModuleName);
| Parameter | Type | Passing |
|---|---|---|
argModuleName | string | value |
Returns: bool
The StartServer method is usually used if you need to load a design document and execute the server's processes or its API methods if the server has not been loaded yet. Example, during a blank session of Altium Designer where there are no PCB documents open, and you need to use the PCB API to manipulate the contents on a PCB document, you would need to "start" the PCB server first so the PCB API is made active.
Example of the StartServer method
Example: Start the PCB server.
using DXP;
DXP.GlobalVars.Client.StartServer("PCB");
See also: IClient.StopServer
Examples: Ciiva, Extension_BOMManager, Extension_BOMManager, Extension_CreateProject
StartSuspendTestMode
No description yet.
void StartSuspendTestMode();
Returns: nothing (void)
StopServer
The StartServer and StopServer properties can be used to load a server in Altium Designer if it has not loaded already, before you can invoke this server's processes and to stop this server once you have done with these server processes. This can be used to conserve computer's memory.
bool StopServer(string argModuleName, bool argUnloadDLL);
| Parameter | Type | Passing |
|---|---|---|
argModuleName | string | value |
argUnloadDLL | bool | value |
Returns: bool
The StartServer method is usually used if you need to load a design document and execute the server's processes or its API methods if the server has not been loaded yet. Example, during a blank session of Altium Designer where there are no PCB documents open, and you need to use the PCB API to manipulate the contents on a PCB document, you would need to "start" the PCB server first so the PCB API is made active.
Example of the StopServer method
Example: Stop the PCB server.
using DXP;
// Sample value: whether to unload the server's DLL as well.
bool unloadDll = false;
DXP.GlobalVars.Client.StopServer("PCB", unloadDll);
See also: IClient.StartServer
StopSuspendTestMode
No description yet.
void StopSuspendTestMode();
Returns: nothing (void)
UnregisterNotificationHandler
The UnregisterNotificationHandler method un registers the notification handler from Client once the server object goes out of scope (destroyed).
void UnregisterNotificationHandler(INotificationHandler argHandler);
void UnregisterNotificationHandler(object argHandler);
| Parameter | Type | Passing | Description |
|---|---|---|---|
argHandler | INotificationHandler | value | The server module object. |
Returns: nothing (void)
The first overload is an extension method of IClientHelper (using DXP;) with typed parameters; the second is declared by the interface.
The INotificationHandler object interface is responsible for handling notifications raised in Altium Designer.
Each server object has an INotificationHandler.HandleNotification method to handle notifications when the options values have been adjusted from the system wide Preferences dialog.
The INotificationHandler.HandleNotification method would involve calls to update the server preferences values on the server panel for example every-time a specific server notification code is intercepted.
This method is normally used for in developing servers and not for extensions.
See also: IClient.BroadcastNotification, IClient.DispatchNotification, IClient.RegisterNotificationHandler, INotificationHandler
UnregisterServerNotificationHandler
No description yet.
void UnregisterServerNotificationHandler(IServerModule argServerModule, INotificationHandler argHandler);
void UnregisterServerNotificationHandler(object argServerModule, object argHandler);
| Parameter | Type | Passing |
|---|---|---|
argServerModule | IServerModule | value |
argHandler | INotificationHandler | value |
Returns: nothing (void)
The first overload is an extension method of IClientHelper (using DXP;) with typed parameters; the second is declared by the interface.
Returned by
IServerModule.GetClient, GlobalVars.Client
Accepted by
Examples
Used in the SDK examples: Ciiva, Extension_AddVariant, Extension_BOMManager, Extension_BOMManager, Extension_BOMManager, Extension_BlockAD_CS, Extension_ChangeOutputJobFile, Extension_CreatePCBLib, Extension_CreateProject, Extension_CreateProject, Extension_CreateSchComponent, Extension_CreateVariantComponent.