Contact Us
Contact our corporate or local offices directly.
Parent page: Technical Reference - System API
Contents of this reference:
Overview
The ICommandLauncher
interface encapsulates the functionality of launching a command (which is a pre packaged process) in Altium Designer. A command is associated with a user interface item in the server (Text Editor, Schematic Editor etc) such as a hot key button, menu item or a toolbar bitmap. In essence, a server is supported by its set of processes and the processes act as a link between Altium Designer and this server.
The LaunchCommand
method launches a process from the server that this ICommandLauncher
interface function is associated with.
The GetCommandState
method retrieves information for the specified command.
Since a server has a set of processes and these process identifiers are stored in an installation file (which ends with an INS extension) and the process launchers that link to specific user interface elements (also called resources) and the layout of user interface elements are defined in the resources file (which ends with a RCS extension).
ICommandLauncher Methods and Properties Table
ICommandLauncher MethodsLaunchCommand GetCommandState |
ICommandLauncher Properties |
Notes
All the functions in a server available to the user, such as placing a primitive, changing the zoom level and so on are performed by commands which are pre-packaged process launchers. The pre-packaged process launchers bundle together the process that runs when the command is selected, plus any parameters, bitmaps (icons), captions (the name of an item that displays on a resource), descriptions and associated shortcut keys.
When you select a menu item or click on a toolbar button, you are launching a process. Processes are launched by passing the process identifier to the appropriate server and the server then executes the process. Processes are defined and implemented in the Commands unit of a server source code project. The processes are declared in an Installation File (with an INS extension).
Each process has a process identifier. The process identifier is made up of two parts separated by a colon. The first part of the process identifier indicates the server that defines the process, and the second part is the process name.
For example, the process Sch:ZoomIn
is provided by Schematic server. When this process is launched, either by selecting a menu item, pressing a hot key or activating a toolbar button (which are all defined as process launchers in the Altium Designer), it will perform the task of zooming in on the currently active schematic sheet.
When a server is started up for the first time in Altium Designer, process procedures or commands registered in the CommandLauncher object within the server module are loaded in Altium Designer.
See also
IClient interface
IServerModule interface
(ICommandLauncher interface)
Syntax
Procedure GetCommandState( ACommandName,
AParameters : PChar;
Const AContext : IServerDocumentView;
Var Enabled,
Checked,
Visible : LongBool;
Caption,
ImageFile : PChar);
Description
The GetCommandState procedure fetches the current snapshot of the server command (internal server process) and the parameters are returned for the specified server command name.
Example
ACommandLauncher := AServerModule.GetCommandLauncher;
If ACommandLauncher <> Nil Then
Begin
ACommandLauncher.GetCommandState(Command,
Parameters,
View,
Enabled,
Checked,
Visible,
Caption,
Image);
// do what you want with the parameters
// after you have supplied the Command parameter.
End;
See also
IServerModule interface
(ICommandLauncher interface)
Syntax
Function LaunchCommand (Const ACommandName : PChar;
AParameters : PChar;
MaxParameterSize : Integer;
AContext : IServerDocumentView) : LongBool;
Description
This function launches a command from a server module or from Client. (Client also has its own command launcher table since Client has its own processes as well).
The AContext
parameter denotes which IServerDocumentView
interface to launch the process onto. If the command can be launched, the function returns a true value.
Example
If StringsEqual(ServerModule.ModuleName,'TextEdit') Then
Begin
ServerModule.CommandLauncher.LaunchCommand('TextEdit:MoveCursorToTopOfDocument',
Nil,0,ServerDocument.View[0]);
End;
See also
IServerDocumentView interface
Overview
The IGUIManager interface represents the Graphical User interface portions of the Altium Designer application such as resizing panels, checking for certain hot key maps and status bars.
IGUIManager methods AddKeyStrokeAndLaunch AddKeyToBuffer BeginDragDrop CanResizePanel CurrentProcessLauncherAvailable DoneTransparentToolbars DXPShortcutToDelphiShortcut GetActivePLByCommand GetAllAvailableHotkeys GetFocusedPanelName GetPanelIsOpen GetPanelIsOpenInAnyForm GetPanelIsVisibleInAnyForm GetProcessLauncherInfoByID GetShortcutTextForPLID InitTransparentToolbars IsPanelValidInCurrentForm IsPanelVisibleInCurrentForm IsSysLevelHotKey LaunchCurrentHotkey ProcessMessage RegisterFloatingWindow ResizePanel SetFocusLock SetPanelActiveInCurrentForm SetPanelVisibleInCurrentForm ShowCurrentProcessLauncherHelp ShowTreeAsPopup StatusBar_GetState StatusBar_SetState UnregisterFloatingWindow UpdateInterfaceState UpdateTransparentToolbars |
IGUIManager properties |
See also
(IGUIManager interface)
Syntax
Function AddKeyStrokeAndLaunch (AKey : Word) : LongBool;
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Function AddKeyToBuffer (KeyId : Integer;Alt, Shift, Ctrl : LongBool) : LongBool;
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Procedure BeginDragDrop (ADragDropInfo : IDragDropObject);
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Function CanResizePanel (Const AViewName : Widestring) : LongBool;
Description
This function determines whether the panel can be resized or not. The name of the panel need to be supplied.
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Function CurrentProcessLauncherAvailable : LongBool;
Description
This function determines whether the current process launcher is available or not to use.
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Procedure DoneTransparentToolbars;
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Function GetActivePLByCommand (Const DocumentKind, ACommand, AParams : Widestring) : IProcessLauncherInfo;
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Function GetFocusedPanelName : Widestring;
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Function GetPanelIsOpen (Const AViewName : Widestring) : LongBool;
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Function GetProcessLauncherInfoByID (Const PLID : Widestring) : IProcessLauncherInfo;
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Procedure InitTransparentToolbars (Const ViewRect : TRect);
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Function IsPanelValidInCurrentForm (Const AViewName : Widestring) : LongBool;
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Function IsPanelVisibleInCurrentForm (Const AViewName : Widestring) : LongBool;
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Function IsSysLevelHotKey (KeyId : Integer; Alt, Shift, Ctrl : LongBool): LongBool;
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Procedure LaunchCurrentHotkey;
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Function ProcessMessage (Var Msg : TMessage) : LongBool;
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Procedure RegisterFloatingWindow (Const FloatingWindow : IFloatingWindow);
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Procedure ResizePanel (Const AViewName : Widestring; AWidth, AHeight : Integer);
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Procedure SetFocusLock (Locked : LongBool);
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Procedure SetPanelActiveInCurrentForm (Const AViewName : Widestring);
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Procedure SetPanelVisibleInCurrentForm (Const AViewName : Widestring; IsVisible : LongBool);
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Function ShowCurrentProcessLauncherHelp : LongBool;
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Procedure ShowTreeAsPopup (Const TreeID : Widestring);
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Function StatusBar_GetState (Index : Integer) : Widestring;
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Procedure StatusBar_SetState (Index : Integer; Const S : Widestring);
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Procedure UnregisterFloatingWindow (Const FloatingWindow : IFloatingWindow);
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Procedure UpdateInterfaceState;
Description
Example
See also
IGUIManager interface
(IGUIManager interface)
Syntax
Procedure UpdateTransparentToolbars;
Description
Example
See also
IGUIManager interface
Overview
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.
INavigationSystem Methods and Properties Table
INavigationSystem methods RegisterNavigationProvider UnregisterNavigationProtocol RegisterSpecialURLString UnregisterSpecialURLString ParseDestinationString NavigateTo ExpandTargets ValidatedTarget |
INavigationSystem properties |
See also
IClient interface
(INavigationSystem interface)
Syntax
Procedure UnregisterNavigationProtocol(Const Protocol : WideString; Handle : THandle);
Description
Example
See also
INavigationSystem interface
(INavigationSystem interface)
Syntax
Procedure RegisterSpecialURLString (Const SpecialString : WideString; SpecialStringFunc : TSpecialStringFunc);
Description
Example
See also
INavigationSystem interface
(INavigationSystem interface)
Syntax
Function RegisterNavigationProvider (Const ProtocolName : WideString; Const NavigationProvider : INavigationProvider) : THandle;
Description
Example
See also
INavigationSystem interface
(INavigationSystem interface)
Syntax
Procedure ParseDestinationString(Const Destination : WideString; Var Protocol, Target, Parameters : WideString);
Description
Example
See also
INavigationSystem interface
(INavigationSystem interface)
Syntax
Function NavigateTo (Const CurrentView : IExternalForm; Var Destination : WideString; Out TargetView : IExternalForm) : LongBool;
Description
Example
See also
INavigationSystem interface
(INavigationSystem interface)
Syntax
Procedure ExpandTargets (Var Target : WideString);
Description
Example
See also
INavigationSystem interface
(INavigationSystem interface)
Syntax
Function ValidatedTarget ( Target : WideString) : WideString;
Description
Example
See also
INavigationSystem interface
(INavigationSystem interface)
Syntax
Procedure UnregisterSpecialURLString (Const SpecialString : WideString; SpecialStringFunc : TSpecialStringFunc);
Description
Example
See also
INavigationSystem interface
Overview
The INotification
interface is used by the IClient, IServerView, IServerDocument, IServerModule, INotificationHandler interfaces.
The notifications could be a document loading notification, workspace being loaded, an object being navigated, and a server module being loaded.
Notifications as event messages can be broadcasted by the Client system, and any open server documents can receive them and act on them accordingly.
The Broadcast Notification is a system wide notification, and the Dispatch Notification is a server specific notification.
1. DocumentNotification
2. ViewNotification
3. DocumentFormNotification
4. ModuleNotification
5. SystemNotification
6. MessagesNotification
7. DragDropNotification
8. FastCrossSelectNotification
1. Override the ReceiveNotifications
method in the TServerModule
class to handle and process different notifications.
2. Define different notification handlers.
3. Process each handler based on the Code property of each notification.
Example
Procedure TNotificationModule.ReceiveNotification(Const ANotification: INotification);
Var
DocumentNotification : IDocumentNotification;
ViewNotification : IViewNotification;
FormNotification : IDocumentFormNotification;
ModuleNotification : IModuleNotification;
SystemNotification : ISystemNotification;
Begin
If Supports(ANotification, IDocumentNotification, DocumentNotification) Then
HandleDocumentNotification(DocumentNotification);
If Supports(ANotification, IViewNotification, ViewNotification) Then
HandleViewNotification(ViewNotification);
If Supports(ANotification, IDocumentFormNotification, FormNotification) Then
HandleFormNotification(FormNotification);
If Supports(ANotification, IModuleNotification, ModuleNotification) Then
HandleModuleNotification(ModuleNotification);
If Supports(ANotification, ISystemNotification, SystemNotification) Then
HandleSystemNotification(SystemNotification);
End;
The INotification
interface hierarchy is as follows;
INotification
IDocumentNotification
IViewNotification
IDocumentFormNotification
IModuleNotification
ISystemNotification
IMessageNotification
IDragDropNotification
IDocumentRequest
IFastCrossNotification
INotification methods | INotification properties |
See also
IClient Interface
IServerView interface
IServerDocument interface
IServerModule interface
INotificationHandler interface
IDocumentNotification interface
IViewNotification interface
IDocumentFormNotification interface
IModuleNotification interface
ISystemNotification interface
IMessageNotification interface
IDragDropNotification interface
IDocumentRequest interface
IFastCrossNotification interface
(IDocumentFormNotification interface)
Overview
Description
Example
See also
IClient interface
IExternalForm interface
(ISystemNotification interface)
Syntax
Description
Example
See also
IClient interface
IExternalForm interface
Overview
The IMessagesNotification interface
IMessagesNotification methods | IMessagesNotification propertiesCode |
See also
IClient interface
IExternalForm interface
Overview
See also
IClient interface
IExternalForm interface
Overview
Description
Example
See also
IClient interface
IExternalForm interface
Overview
Notes
Inherited from INotification interface.
IDragDropNotification MethodsGetCode GetDragDropObject |
IDragDropNotification Properties |
See also
IDragDropObject interface
Overview
IEventNavigated MethodsGetCode GetWnd |
IEventNavigated Properties Code Wnd |
See also
IDragDropObject interface
Overview
INavigationProvider MethodsNavigateTo |
INavigationProvider Properties |
See also
IDragDropObject interface
Overview
INavigator MethodsNavigateTo |
INavigator Properties |
See also
Overview
IBackForwardNavigator MethodsGetAddress : WideString; GetCaption : WideString; GetBackwardHistoryCount GetBackwardHistoryAddress GetBackwardHistoryCaption MoveBackward GetForwardHistoryCount GetForwardHistoryAddress GetForwardHistoryCaption MoveForward |
IBackForwardNavigator Properties Address Caption |
See also
Overview
INavigationSystem MethodsRegisterNavigationProvider UnregisterNavigationProtocol RegisterSpecialURLString UnregisterSpecialURLString ParseDestinationString NavigateTo ExpandTargets ValidatedTarget |
INavigationSystem Properties |
See also
IDragDropObject interface
Overview
INavigateAttributes MethodsGetAddress : GetCaption : IsSameAddress |
INavigateAttributes Properties Address Caption |
See also
Overview
This interface represents the Knowledge Center panel in Altium Designer. This interface is part of the IClient interface.
IDynamicHelpManager MethodsAddCustomContent RemoveCustomContent GetCustomSectionName GetCustomSectionBody GetCustomSectionsCount |
IDynamicHelpManager Properties |
See also
IClient interface
Overview
IFastCrossSelectionNotification Methods | IFastCrossSelectNotification PropertiesObjectType ObjectDesignator SourceKind SelectionState |
See also
IClient interface
IExternalForm interface
Overview
The IDocumentNotification interface represents
IDocumentNotification Methods | IDocumentNotification PropertiesCode ServerDocument OldFileName |
See also
IClient interface
IExternalForm interface
Overview
Description
Example
See also
IClient interface
INotification interface
Overview
The INotificationHandler
interface handles notifications broadcasted in the Altium Designer system. The notifications could be a document loading notification, workspace being loaded, an object being navigated, and a server module being loaded.
Notifications as event messages can be broadcasted by the Client system, and any open server documents can receive them and act on them accordingly. The Broadcast Notification is a system wide notification, and the Dispatch Notification is a server specific notification.
To register a Notification handler in the server project (either in a server module object, panel view object or document view object)
1. When a object is created, the Client.RegisterNotificationHandler is invoked.
2. When a object is destroyed, the Client.UnregisterNotificationHandler is invoked.
3. To handle custom notifications, a object has a HandlerNotification method which checks if the custom notification code is intercepted then a call can be made to update for example the Panel's preferences controls.
The INotificationHandler is inherited in the TServerModule, TServerDocumentForm and TServerPanelForm classes and thus custom notifications can be registered and handled.
INotificationHandler methods HandleNotification |
See also
IClient interface
(INotificationHandler interface)
Syntax
Procedure HandleNotification(Const ANotification : INotification);
Description
Example
See also
IClient interface
Overview
This IProcessLauncher
interface is a mechanism that launches a server process in Altium Designer. See ICommandLauncher
and IServerProcess
interfaces as well.
Since a server has a set of processes and these process identifiers are stored in an installation file (which ends with an INS extension) and the process launchers that link to specific user interface elements (also called resources) and the layout of user interface elements are defined in the resources file (which ends with a RCS extension).
IProcessLauncher Methods and Properties Table
IProcessLauncher methodsPostMessage SendMessage GetCommandState |
See also
ICommandLauncher interface
IClient interface
IServerProcess interface
ICommandLauncher interface
Overview
The IProcessLauncherInfo
interface hierarchy is as follows;
IProcessLauncherInfo Methods and Properties Table
IProcessLauncherInfo methods GetCaption GetParameters GetDescription GetImageFile GetKey GetShift GetKey2 GetShift2 GetServerCommand GetShortcutText |
IProcessLauncherInfo properties Caption Parameters Description ImageFile Key Shift Key2 Shift2 ShortcutText ServerCommand |
See also
(IProcessLauncherInfo interface)
Syntax
Function GetCaption : Widestring;
Description
Example
See also
IProcessLauncherInfo interface
(IProcessLauncherInfo interface)
Syntax
Function GetDescription : Widestring;
Description
Example
See also
IProcessLauncherInfo interface
(IProcessLauncherInfo interface)
Syntax
Function GetImageFile : Widestring;
Description
Example
See also
IProcessLauncherInfo interface
(IProcessLauncherInfo interface)
Syntax
Function GetKey : Integer;
Description
Example
See also
IProcessLauncherInfo interface
(IProcessLauncherInfo interface)
Syntax
Function GetKey2 : Integer;
Description
Example
See also
IProcessLauncherInfo interface
(IProcessLauncherInfo interface)
Syntax
Function GetParameters : Widestring;
Description
Example
See also
IProcessLauncherInfo interface
(IProcessLauncherInfo interface)
Syntax
Function GetServerCommand : Widestring;
Description
Example
See also
IProcessLauncherInfo interface
(IProcessLauncherInfo interface)
Syntax
Function GetShift : TShiftState;
Description
Example
See also
IProcessLauncherInfo interface
(IProcessLauncherInfo interface)
Syntax
Function GetShift2 : TShiftState;
Description
Example
See also
IProcessLauncherInfo interface
(IProcessLauncherInfo interface)
Syntax
Function GetShortcutText : Widestring;
Description
Example
See also
IProcessLauncherInfo interface
(IProcessLauncherInfo interface)
Syntax
Property Caption : Widestring Read GetCaption ;
Description
Example
See also
IProcessLauncherInfo interface
(IProcessLauncherInfo interface)
Syntax
Property Description : Widestring Read GetDescription ;
Description
Example
See also
IProcessLauncherInfo interface
(IProcessLauncherInfo interface)
Syntax
Property ImageFile : Widestring Read GetImageFile ;
Description
Example
See also
IProcessLauncherInfo interface
(IProcessLauncherInfo interface)
Syntax
Property Key : Integer Read GetKey ;
Description
Example
See also
IProcessLauncherInfo interface
(IProcessLauncherInfo interface)
Syntax
Property Key2 : Integer Read GetKey2 ;
Description
Example
See also
IProcessLauncherInfo interface
(IProcessLauncherInfo interface)
Syntax
Property Parameters : Widestring Read GetParameters ;
Description
Example
See also
IProcessLauncherInfo interface
(IProcessLauncherInfo interface)
Syntax
Property ServerCommand : Widestring Read GetServerCommand;
Description
Example
See also
IProcessLauncherInfo interface
(IProcessLauncherInfo interface)
Syntax
Property Shift : TShiftState Read GetShift ;
Description
Example
See also
IProcessLauncherInfo interface
(IProcessLauncherInfo interface)
Syntax
Property Shift2 : TShiftState Read GetShift2 ;
Description
Example
See also
IProcessLauncherInfo interface
(IProcessLauncherInfo interface)
Syntax
Property ShortcutText : Widestring Read GetShortcutText ;
Description
Example
See also
IProcessLauncherInfo interface
Overview
The IProcessControl
interface controls the process depth for each design document in Altium Designer. Every time a process is launched on a document, the process depth is increased by one and once this same process has finished executing, the process depth is decreased by one. When the process depth is zero, it denotes that nothing is taking place on the current design document. This is necessary if you wish to keep the environment synchronized, especially the Undo system.
Process Depths for Schematic and PCB documents
When you are using Schematic API or PCB API to modify/manipulate objects on a Schematic or PCB document respectively, you will need to set the PreProcess
and PostProcess
methods so that the environment is updated correctly when you are adding, deleting or modifying objects on a Schematic or PCB document.
IProcessControl MethodsPostProcess PreProcess |
IProcessControl PropertiesProcessDepth |
See also
IPCB_ServerInterface for PostProcess and PreProcess methods
ISch_ServerInterface for PostProcess and PreProcess methods
(IProcessControl interface)
Syntax
Procedure PostProcess (Const AContext : IInterface; AParameters : PChar);
Description
This procedure performs a post processing within in a main server which could involve finalizing the states of the environment of the server such as the Undo system. The AContext parameter is usually the focussed document in Altium Designer such as the ISch_Document and IPCB_Board interfaces.
Example
// Initialize the robots in Schematic editor.
SchServer.ProcessControl.PreProcess(Doc, '');
// Create a new port and place on current Schematic document.
SchPort := SchServer.SchObjectFactory(ePort,eCreate_GlobalCopy);
If SchPort = Nil Then Exit;
SchPort.Location := Point(100,100);
SchPort.Style := ePortRight;
SchPort.IOType := ePortBidirectional;
SchPort.Alignment := eHorizontalCentreAlign;
SchPort.Width := 100;
SchPort.AreaColor := 0;
SchPort.TextColor := $FFFF00;
SchPort.Name := 'New Port 1';
// Add a new port object in the existing Schematic document.
Doc.RegisterSchObjectInContainer(SchPort);
SchServer.RobotManager.SendMessage(Doc.I_ObjectAddress,c_BroadCast,
SCHM_PrimitiveRegistration,SchPort.I_ObjectAddress);
// Clean up the robots in Schematic editor
SchServer.ProcessControl.PostProcess(Doc, '');
See also
PreProcess method
(IProcessControl interface)
Syntax
Procedure PreProcess (Const AContext : IInterface; AParameters : PChar);
Description
Performs pre processing within in a main server which could involve resetting the environment of the server. The AContext
parameter is usually the focussed document in Altium Designer such as the ISch_Document
and IPCB_Board
interfaces
Example
// Initialize the robots in Schematic editor.
SchServer.ProcessControl.PreProcess(Doc, '');
// Create a new port and place on current Schematic document.
SchPort := SchServer.SchObjectFactory(ePort,eCreate_GlobalCopy);
If SchPort = Nil Then Exit;
SchPort.Location := Point(100,100);
SchPort.Style := ePortRight;
SchPort.IOType := ePortBidirectional;
SchPort.Alignment := eHorizontalCentreAlign;
SchPort.Width := 100;
SchPort.AreaColor := 0;
SchPort.TextColor := $FFFF00;
SchPort.Name := 'New Port 1';
// Add a new port object in the existing Schematic document.
Doc.RegisterSchObjectInContainer(SchPort);
SchServer.RobotManager.SendMessage(Doc.I_ObjectAddress,c_BroadCast,
SCHM_PrimitiveRegistration,SchPort.I_ObjectAddress);
// Clean up the robots in Schematic editor
SchServer.ProcessControl.PostProcess(Doc, '');
See also
PostProcess method
(IProcessControl interface)
Syntax
Property ProcessDepth : Integer;
Description
Sets or gets the process depth. The depth value is an integer value.0 = inactive, and 1 onwards denotes the number of stacked processes.
ProcessDepth Example
ShowMessage('Current process depth ',IntToStr(Client.ProcessControl.ProcessDepth));
Overview
The ILicenseManager interface hierarchy is as follows;
ILicenseManager methods UseLicense ReleaseLicense ChangeToNetwork ChangeToStandalone UseLicenseByName GetLicenses |
ILicenseManager properties |
See also
(ILicenseManager interface)
Syntax
Procedure UseLicense (Const LicenseFileName : Widestring);
Description
Example
See also
ILicenseManager interface
(ILicenseManager interface)
Syntax
Procedure ReleaseLicense (Const LicenseFileName : Widestring);
Description
Example
See also
ILicenseManager interface
(ILicenseManager interface)
Syntax
Procedure GetLicenses (Licenses : TList);
Description
Example
See also
ILicenseManager interface
(ILicenseManager interface)
Syntax
Procedure ChangeToStandalone;
Description
This procedure changes from a networked license to a standalone license for a copy of Altium Designer that's running on a computer. A standalone computer is a computer that is not connected to the internet.
Example
See also
ILicenseManager interface
(ILicenseManager interface)
Syntax
Procedure ChangeToNetwork (Const ServerName : Widestring);
Description
This procedure changes from a standalone license to a networked license for a copy of Altium Designer that's running on a computer. You will need to supply the server name as a string.
A standalone computer is a computer that is not connected to the internet.
Example
See also
ILicenseManager interface
(ILicenseManager interface)
Syntax
Procedure UseLicenseByName (Const LicenseName : Widestring);
Description
Example
See also
ILicenseManager interface
Overview
The IOptionsManager
interface deals with the options of a system wide Preferences dialog or project centric Project Options dialog.
Notes
A server needs to register its own options pages within the Client module of Altium Designer. The TServerModule
class from the RT_ServerImplementation
unit within the Altium Designer RTL has a RegisterOptionsPageClass
procedure for you to override. You need to pass in the name of the options page and the Options Form of TOptionsForm
type. Normally this form is the same as the server panel form with the controls on it.
IOptionsManager methods GetOptionsReader GetOptionsWriter OptionsExist |
IOptionsManager properties |
Example
Procedure TGraphicPreferences.Save;
Var
Writer : IOptionsWriter;
Begin
Writer := Client.OptionsManager.GetOptionsWriter(CGraphicViewer);
If Writer = Nil Then Exit;
Writer.WriteBoolean(cGraphicPreferences, 'ScaleImage' , FScaleImage );
Writer.WriteBoolean(cGraphicPreferences, 'KeepAspectRatio', FKeepAspectRatio);
End;
See also
IOptionsReader interface
IOptionsWriter interface
IOptionsPage interface
GraphicViewer server project from \Developer Kit\Examples\Dxp\GraphicViewer folder
(IOptionsManager interface)
Syntax
Function OptionsExist (Const ServerName, OldSettingsPath : WideString) : LongBool;
Description
This function checks if the options for the specified server exist on the system wide Preference dialog.
Example
See also
IOptionsManager interface
(IOptionsManager interface)
Syntax
Function GetOptionsWriter (Const ServerName : WideString) : IOptionsWriter;
Description
This function retrieves the IOptionsWriter method which enables you to write setting values for the Options of the specified server.
Example
Var
Writer : IOptionsWriter;
Begin
Writer := Client.OptionsManager.GetOptionsWriter(CGraphicViewer);
If Writer = Nil Then Exit;
Writer.WriteBoolean(PreferencesName, OptionName , OptionValue);
End;
See also
IOptionsManager interface
IOptionsWriter interface
IOptionsReader interface
(IOptionsManager interface)
Syntax
Function GetOptionsReader (Const ServerName, OldSettingsPath : WideString) : IOptionsReader;
Description
This function retrieves the IOptionsReader
method which enables you to read setting values for the Options of the specified server.
Example
Var
Reader : IOptionsReader;
Begin
Reader := Client.OptionsManager.GetOptionsReader(NameOfServer,'');
If Reader = Nil Then Exit;
OptionValue := Reader.ReadBoolean(ServerPreferencesName,OptionName,DefaultValue);
End;
See also
IOptionsManager interface
IOptionsWriter interface
IOptionsReader interface
Overview
The IOptionsReader
interface reads values for options on a page in the system wide Preferences dialog or Project options dialog from the registry storage.
IOptionsReader methods ReadBoolean ReadDouble ReadInteger ReadString ReadSection SectionExists ValueExists |
IOptionsReader properties |
Example
Var
Reader : IOptionsReader;
Begin
Reader := Client.OptionsManager.GetOptionsReader(NameOfServer,'');
If Reader = Nil Then Exit;
AValue := Reader.ReadBoolean(NameOfServerPreferences,SettingName,DefaultValue);
End;
See also
IClient interface
IOptionsManager interface
(IOptionsReader interface)
Syntax
Function ValueExists (Const SectionName, ValueName : WideString) : LongBool;
Description
This function determines whether the value name exists for this section name. This is useful if you need to check if a value name exists in the registry storage before you commit a value to this location.
The section name is the targetted page in the system wide preferences dialog.
Example
See also
IOptionsReader interface
(IOptionsReader interface)
Syntax
Function SectionExists(Const SectionName : WideString) : LongBool;
Description
This function checks whether the section (or the targetted page) exists or not.
The section name is the targetted page in the system wide preferences dialog.
Example
See also
IOptionsReader interface
(IOptionsReader interface)
Syntax
Function ReadString (Const SectionName, ValueName, DefaultValue : WideString) : WideString;
Description
This ReadString
function retrieves a string value for the specified server and the setting name that are represented by the system wide Preferences dialog.
The section name is the targetted page in the system wide preferences dialog.
Example
See also
IOptionsReader interface
(IOptionsReader interface)
Syntax
Function ReadSection (Const SectionName : WideString) : WideString;
Description
This function retrieves the data for the section which is the targetted page in the system wide Preferences dialog.
Note the section name is the targetted page in the system wide preferences dialog.
Example
See also
IOptionsReader interface
(IOptionsReader interface)
Syntax
Function ReadInteger (Const SectionName, ValueName : WideString; DefaultValue : Integer) : Integer;
Description
This ReadInteger
function retrieves an integral value for the specified server and the setting name that are represented by the system wide Preferences dialog.
The section name is the targetted page in the system wide preferences dialog.
Example
See also
IOptionsReader interface
(IOptionsReader interface)
Syntax
Function ReadDouble (Const SectionName, ValueName : WideString; DefaultValue : Double) : Double;
Description
This ReadDouble
function retrieves a double value for the specified server and the setting name that are represented by the system wide Preferences dialog.
The section name is the targetted page in the system wide preferences dialog.
Example
See also
IOptionsReader interface
(IOptionsReader interface)
Syntax
Function ReadBoolean (Const SectionName, ValueName : WideString; DefaultValue : LongBool) : LongBool;
Description
This ReadBoolean
function retrieves a boolean value for the specified server and the setting name that are represented by the system wide Preferences dialog.
The DefaultValue
parameter for the ReadBoolean
method returns a default Boolean value if the specific control on the Preferences dialog is not returning a valid Boolean value.
The section name represents the target server’s page in the system wide preferences dialog.
Example
Var
Reader : IOptionsReader;
Begin
Reader := Client.OptionsManager.GetOptionsReader(NameOfServer,'');
If Reader = Nil Then Exit;
AValue := Reader.ReadBoolean(NameOfServerPreferences,SettingName,DefaultValue);
End;
See also
IOptionsReader interface
Overview
The IOptionsWriter
interface writes values for options on a page in the system wide Preferences or Project options dialog to a registry storage.
IOptionsWriter methods EraseSection WriteBoolean WriteDouble WriteInteger WriteString |
IOptionsWriter properties |
Example
Var
Writer : IOptionsWriter;
Begin
Writer := Client.OptionsManager.GetOptionsWriter(CGraphicViewer);
If Writer = Nil Then Exit;
Writer.WriteBoolean(cGraphicPreferences, 'ScaleImage' , FScaleImage );
Writer.WriteBoolean(cGraphicPreferences, 'KeepAspectRatio', FKeepAspectRatio);
End;
See also
IClient interface
IOptionsManager interface
(IOptionsWriter interface)
Syntax
Procedure EraseSection(Const SectionName : WideString);
Description
This procedure removes all the option values for the section (targetted page in the system wide preferences dialog).
Example
See also
IOptionsWriter interface
(IOptionsWriter interface)
Syntax
Procedure WriteInteger(Const SectionName, ValueName : WideString; Value : Integer);
Description
This WriteInteger
procedure writes an integral value for the option name used by the specified server (SectionName) which is represented by the system wide Preferences dialog.
The section name is the targetted page in the system wide preferences dialog.
Example
See also
IOptionsWriter interface
(IOptionsWriter interface)
Syntax
Procedure WriteDouble (Const SectionName, ValueName : WideString; Value : Double);
Description
This WriteDouble
procedure writes a double value for the option name used by the specified server (SectionName) which is represented by the system wide Preferences dialog.
The section name is the targetted page in the system wide preferences dialog.
Example
See also
IOptionsWriter interface
(IOptionsWriter interface)
Syntax
Procedure WriteBoolean(Const SectionName, ValueName : WideString; Value : LongBool);
Description
This WriteBoolean
procedure writes a boolean option value for the option name used by the specified server (SectionName) which is represented by the system wide Preferences dialog.
The section name is the targetted page in the system wide preferences dialog.
Example
Var
Writer : IOptionsWriter;
Begin
Writer := Client.OptionsManager.GetOptionsWriter(CGraphicViewer);
If Writer = Nil Then Exit;
Writer.WriteBoolean(cGraphicPreferences, 'ScaleImage' , FScaleImage );
Writer.WriteBoolean(cGraphicPreferences, 'KeepAspectRatio', FKeepAspectRatio);
End;
See also
IOptionsWriter interface
(IOptionsWriter interface)
Syntax
Procedure WriteString (Const SectionName, ValueName, Value : WideString);
Description
This WriteString
procedure writes a string option value for the option name used by the specified server (SectionName) which is represented by the system wide Preferences dialog.
The section name is the targetted page in the system wide preferences dialog.
Example
See also
IOptionsWriter interface
Overview
The IOptionsPage
interface represents the page of controls in the system wide Preferences dialog. For example, in Altium Designer, the controls on this page in the Preferences dialog are mapped from the controls on a server panel of this server. The controls on a page is represented by the TOptionsForm
object and its IOptionsPage
interface.
Note
The server module (TServerModule
class) has the RegisterOptionsPageClass
method which takes in the TOptionsForm
object. The IOptionsPage
interface represents this TOptionsForm
object.
The TOptionsForm class has methods that you need to override to implement the OptionsPage, OptionsManager, OptionsReader and OptionsWriter interfaces.
ClearModified
GetModified
GetStateControls
GetNotificationCode
DoSetStateControls
SetDefaultState
IOptionsPage Methods and Properties table
IOptionsPage methods GetModified SetModified GetStateControls SetStateControls GetNotificationCode SetDefaultState PostEditControls |
IOptionsPage properties Modified |
Example
TGraphicPrefsForm_General = Class(TOptionsForm)
chxScale : TCheckBox;
chxProportional : TCheckBox;
Private
FScaleStored : Boolean;
FProportionalStored : Boolean;
Protected
Procedure ClearModified; Override;
Function GetModified : Boolean; Override;
Procedure GetStateControls; Override;
Function GetNotificationCode : Integer; Override;
Procedure DoSetStateControls; Override;
Procedure SetDefaultState; Override;
End;
{..........................................................................}
Function TGraphicPrefsForm_General.GetNotificationCode: Integer;
Begin
Result := cGraphicPreferencesChanged;
End;
Procedure TGraphicPrefsForm_General.GetStateControls;
Begin
gv_GraphicPreferences.ScaleImage := chxScale .Checked;
gv_GraphicPreferences.KeepAspectRatio := chxProportional.Checked;
End;
Procedure TGraphicPrefsForm_General.DoSetStateControls;
Begin
chxScale .Checked := gv_GraphicPreferences.ScaleImage;
chxProportional.Checked := gv_GraphicPreferences.KeepAspectRatio;
End;
Procedure TGraphicPrefsForm_General.SetDefaultState;
Begin
chxScale .Checked := False;
chxProportional.Checked := False;
Inherited;
End;
Procedure TGraphicPrefsForm_General.ClearModified;
Begin
FScaleStored := chxScale.Checked;
FProportionalStored := chxProportional.Checked;
End;
Function TGraphicPrefsForm_General.GetModified : Boolean;
Begin
Result := (FScaleStored <> chxScale.Checked) Or
(FProportionalStored <> chxProportional.Checked);
End;
See also
IOptionsManager interface
IOptionsReader interface
IOptionsWriter interface
(IOptionsPage interface)
Syntax
Function GetModified : Boolean;
Description
Example
See also
IOptionsPage interface
(IOptionsPage interface)
Syntax
Procedure SetModified(Value : Boolean);
Description
Example
See also
IOptionsPage interface
(IOptionsPage interface)
Syntax
Procedure SetStateControls;
Description
This procedure updates the controls on the form from a data structure in a server module.
Example
See also
IOptionsPage interface
(IOptionsPage interface)
Syntax
Procedure SetDefaultState;
Description
This procedure sets the controls on a page within the system wide Preferences dialog to their default values.
Note
The SetDefaultState
procedure is overridden in a server's TOptionsForm
object.
Example
See also
IOptionsPage interface
(IOptionsPage interface)
Syntax
Procedure PostEditControls;
Description
Example
See also
IOptionsPage interface
(IOptionsPage interface)
Syntax
Procedure GetStateControls;
Description
This procedure
Note
Example
See also
IOptionsPage interface
(IOptionsPage interface)
Syntax
Function GetNotificationCode : Integer;
Description
Each server that handles Option notifications to its server panel and the system wide Preferences dialog in Altium Designer will have its own Notification code which could be a value of 100 upwards.
Note
A server module will have a TOptionsForm
object registered and this object will have a GetNotificationCode
function overridden. This server module will have its own notification code value. Ensure these notification codes are unique.
Example
See also
IOptionsPage interface
(IOptionsPage interface)
Syntax
Property Modified : Boolean Read GetModified Write SetModified;
Description
Example
See also
IOptionsPage interface
Overview
The IServerProcess
interface returns information for commands (server processes) in a server installation file;
· the command name (GetOriginalID method)
· the long summary
· the number of parameters if any
· parameter names if any
The IServerProcess
interface is an aggregate interface used within the IServerRecord
interface.
Notes
A typical installation file structure is as follows
ClientInsFile 1.0
Server
EditorName = 'AddOn'
EditorExePath = 'AddOn.DLL'
EditorDescription = 'A demonstratory AddOn module'
Version = 'Version 8.1.4.2763'
Date = '24-Dec-2004'
HelpAboutInfo = 'This software is protected by copyright law and international treaties.'
Copyright = 'Copyright © Altium Limited 2004'
Updates = 'ADVPCB'
End
Command Name = 'CountPads' LongSummary = 'Find how many pads on a PCB document' End
Command Name = 'RunAPCBProcess' LongSummary = 'Invoke a PCB process' End
IServerProcess MethodsGetOriginalId GetLongSummary GetParameter GetParameterCount |
IServerProcess Properties |
Example
//ServerRecord is a IServerRecord interface
CommandCount := ServerRecord.GetCommandCount;
For J := 0 To CommandCount - 1 Do
Begin
//ServerProcess is a IServerProcess interface
ServerProcess := ServerRecord.GetCommand(J);
ReportFile.Add(' Process #' + IntToStr(J + 1) + ' Name = ' +
ServerProcess.GetOriginalId + ' LongSummary = ' + ServerProcess.GetLongSummary);
ParameterCount := ServerProcess.GetParameterCount;
For K := 0 To ParameterCount - 1 Do
S := S + ServerProcess.GetParameter(K) + ', ';
ReportFile.Add(' Parameters = ' + S);
End;
Notes
All the functions in a server available to the user, such as placing a primitive, changing the zoom level and so on are performed by commands which are pre-packaged process launchers. The pre-packaged process launchers bundle together the process that runs when the command is selected, plus any parameters, bitmaps (icons), captions (the name of an item that displays on a resource), descriptions and associated shortcut keys.
When you select a menu item or click on a toolbar button, you are launching a process. Processes are launched by passing the process identifier to the appropriate server and the server then executes the process. Processes are defined and implemented in the Commands unit of a server source code project. The processes are declared in an Installation File (with an INS extension).
Each process has a process identifier. The process identifier is made up of two parts separated by a colon. The first part of the process identifier indicates the server that defines the process, and the second part is the process name.
For example, the process Sch:ZoomIn is provided by Schematic server. When this process is launched, either by selecting a menu item, pressing a hot key or activating a toolbar button (which are all defined as process launchers), it will perform the task of zooming in on the currently active schematic sheet.
When a server is started up for the first time, process procedures or commands registered in the CommandLauncher object within the server modules.
See also
IServerRecord interface
ServerProcessReport script in \Examples\Scripts\DXP\ folder
(IServerProcess interface)
Syntax
Function GetLongSummary : WideString;
Description
The GetLongSummary
function returns the Long Summary identifier string.
Example
See also
IServerProcess interface
IServerRecord interface
(IServerProcess interface)
Syntax
Function GetOriginalId : WideString;
Description
The GetOriginalID
method returns the Process Identifier string for the specified server process.
Example
See also
IClient interface
IServerProcess interface
(IServerProcess interface)
Syntax
Function GetParameter(Index : Integer) : WideString;
Description
The GetParameter
function returns the indexed parameter string depending on the index parameter. This is to be used in conjunction with the GetParameterCount
method. A server process can be parametric, and thus can have a number of parameters.
Example
See also
IClient interface
IServerProcess interface
GetParameterCount method
(IServerProcess interface)
Syntax
Function GetParameterCount : Integer;
Description
The GetParameterCount
function returns the number of parameters for the current Process Identifier (GetOriginalID).
This is to be used in conjunction with the GetParameter
method.
Example
See also
IClient interface
IServerProcess interface
GetParameter method
Overview
This interface extracts the servers installation files information from the \System folder which has a list of server installation files. That is each server installation file (with an INS extension) correspond to a IServerRecord itnerface.
Since this IServerRecord
interface is inside the Client object, invoke the Client.GetServerRecordCount
to get the number of server installation files, and then assign the Client.GetServerRecord(RecordCount)
to a IServerRecord
variable where you can retrieve data associated with an installation file.
To find more information about each server module installed in Altium Designer, invoke the IClient.GetServerModule
interface.
IServerRecord MethodsGetVersion GetCopyRight GetDate GetSystemExtension GetGeneralInfo GetName GetInsPath GetExePath GetDescription GetServerFileExist GetRCSFilePath GetWindowKindCount GetCommandCount GetCommand GetWindowKind GetWindowKindByName GetPanelInfo GetPanelInfoByName GetPanelInfoCount |
IServerRecord Properties |
Example
PCB_SR := Client.GetServerRecordByName('PCB');
See also
IClient interface
IServerModule interface
CS server example in the \Developer Kit\Examples\DXP\ClientServer Interfaces\ folder.
(IServerRecord interface)
Syntax
Function GetCommand(Index : Integer) : IServerProcess;
Description
The method returns the IServerProcess
interface. Used in conjunction with the GetCommandCount function.
Example
See also
IServerRecord interface
(IServerRecord interface)
Syntax
Function GetCommandCount : Integer;
Description
The method returns the number of commands (Process launchers) this server supports. Used in
conjunction with the GetCommand
function
Example
See also
IServerRecord interface
(IServerRecord interface)
Syntax
Function GetCopyRight : PChar;
Description
The method returns the copyright string.
Example
See also
IServerRecord interface
(IServerRecord interface)
Syntax
Function GetDescription : PChar;
Description
The method returns the description string.
Example
See also
IServerRecord interface
(IServerRecord interface)
Syntax
Function GetExePath : PChar;
Description
The method returns the path to the server file.
Example
See also
IServerRecord interface
(IServerRecord interface)
Syntax
Function GetDate : PChar;
Description
The method returns the date string associated with the server installation file.
Example
See also
IServerRecord interface
(IServerRecord interface)
Syntax
Function GetGeneralInfo : PChar;
Description
The method returns the general info string for the server record associated with a server.
Example
See also
IServerRecord interface
(IServerRecord interface)
Syntax
Function GetInsPath : PChar;
Description
The method returns the path to the installation file.
Example
See also
IServerRecord interface
(IServerRecord interface)
Syntax
Function GetName : PChar;
Description
The method returns the name of the server.
Example
See also
IServerRecord interface
(IServerRecord interface)
Syntax
Function GetPanelInfo (Index : Integer) : IServerPanelInfo;
Description
The method returns the indexed panel information. This is to be used in conjunction with the GetPanelInfoCount method.
Example
See also
IServerRecord interface
(IServerRecord interface)
Syntax
Function GetPanelInfoByName (Const Name : Widestring) : IServerPanelInfo;
Description
The method returns the panel information interface by the panel name.
Example
See also
IServerRecord interface
(IServerRecord interface)
Syntax
Function GetPanelInfoCount : Integer;
Description
The method returns the number of panels used for the server module. This is to be used in conjunction with the GetPanelInfo
method.
Example
See also
IServerRecord interface
(IServerRecord interface)
Syntax
Function GetRCSFilePath : PChar;
Description
The method returns the path to the resources file.
Example
See also
IServerRecord interface
(IServerRecord interface)
Syntax
Function GetSystemExtension : LongBool;
Description
The method returns the file system extension string.
Example
See also
IServerRecord interface
(IServerRecord interface)
Syntax
Function GetVersion : PChar;
Description
The method returns the version string associated with the server installation file.
Example
RecordCount := Client.GetServerRecordCount;
For I := 0 to RecordCount - 1 Do
Begin
// obtain details of the DXP.INS file
ServerRecord := Client.GetServerRecord(I);
If ServerRecord.GetName = 'Client' Then
Begin
Version := ServerRecord.GetVersion;
Break;
End;
End;
See also
IServerRecord interface
(IServerRecord interface)
Syntax
Function GetServerFileExist : LongBool;
Description
The method returns the Boolean value whether the server file (with a DLL) exists or not.
Example
See also
IServerRecord interface
(IServerRecord interface)
Syntax
Function GetWindowKind (Index : Integer) : IServerWindowKind;
Description
The method returns the IServerWindowKind interface. Used in conjunction with the GetWindowKindCount
function.
Example
See also
IServerRecord interface
(IServerRecord interface)
Syntax
Function GetWindowKindCount : Integer;
Description
The method returns the number of document kinds the server supports.
Example
See also
IServerRecord interface
(IServerRecord interface)
Syntax
Function GetWindowKindByName(Name : PChar ) : IServerWindowKind
Description
The method returns the IServerWindowKind
interface depending on the DocumentKind Name parameter.
Example
See also
IServerRecord interface
IServerWindowKind interface
Overview
This IServerWindowKind
interface reports the type of a design document in Altium Designer and it is a composite object used in IServerRecord
and IClient
interface objects
IServerWindowKind MethodsGetServerRecord GetName GetNewWindowCaption GetNewWindowExtension GetWindowKindDescription GetIconName GetIsDomain GetIsDocumentEditor FileLoadDescriptionCount FileSaveDescriptionCount GetFileLoadDescription GetFileSaveDescription GetWindowKindClassCount GetWindowKindClass IsOfWindowKindClass |
IServerWindowKind Properties |
See also
IClient interface
IServerRecord interface
(IServerWindowKind interface)
Syntax
Function FileLoadDescriptionCount : Integer;
Description
The method returns the number of File Load Descriptions for the document editor type of server. A document editor can support multiple document types and thus facilitate multiple load functions.
Example
See also
IClient interface
IServerWindowKind interface
(IServerWindowKind interface)
Syntax
Function FileSaveDescriptionCount : Integer;
Description
The method returns the number of File Save Descriptions for the document editor server. A document editor can have multiple document types and thus have multiple corresponding file save functions.
Example
See also
IClient interface
IServerWindowKind interface
(IServerWindowKind interface)
Syntax
Function GetFileLoadDescription(Index : Integer) : Widestring;
Description
The method returns the indexed file load description. To be used in conjunction with the FileLoadDescriptionCount function.
Example
See also
IClient interface
IServerWindowKind interface
(IServerWindowKind interface)
Syntax
Function GetFileSaveDescription(Index : Integer) : Widestring;
Description
The method returns the indexed file save description. To be used in conjunction with the FileSaveDescriptionCount function.
Example
See also
IClient interface
IServerWindowKind interface
(IServerWindowKind interface)
Syntax
Function GetIconName : Widestring;
Description
The method returns the name of the icon associated with the server window of a document in DXP.
Example
See also
IClient interface
IServerWindowKind interface
(IServerWindowKind interface)
Syntax
Function GetIsDocumentEditor : Boolean;
Description
The method returns a Boolean value whether this server is a document editor or not. Addons are not document editors. A document editor is a server that hosts its own documents and provide editing facilities. For example the PCB Editor is a Document Editor.
Example
See also
IClient interface
IServerWindowKind interface
(IServerWindowKind interface)
Syntax
Function GetIsDomain : LongBool;
Description
The method returns the Boolean value for this Domain. Normally false.
Example
See also
IClient interface
IServerWindowKind interface
(IServerWindowKind interface)
Syntax
Function GetName : Widestring;
Description
Returns the name of the window kind.
Example
See also
IClient interface
IServerWindowKind interface
(IServerWindowKind interface)
Syntax
Function GetNewWindowCaption : Widestring;
Description
The GetNewWindowCaption
method returns the new document caption string for the new document in Altium Designer.
Example
See also
IClient interface
IServerWindowKind interface
(IServerWindowKind interface)
Syntax
Function GetNewWindowExtension : Widestring;
Description
The method returns the new document’s extension string in DXP.
Example
See also
IClient interface
IServerWindowKind interface
(IServerWindowKind interface)
Syntax
Function GetServerRecord : IServerRecord;
Description
Returns the IServerRecord
interface that the IServerWindowKind
interface is associated with. Since the server installation file defines document kinds (window kinds) and the IServerRecord interface represents this installation file.
Example
See also
IClient interface
IServerWindowKind interface
(IExternalForm interface)
Syntax
Function GetWindowKindClass (Index : Integer) : Widestring;
Description
The method returns the indexed window kind class.
Example
See also
IClient interface
IServerWindowKind interface
(IServerWindowKind interface)
Syntax
Function GetWindowKindClassCount : Integer;
Description
The method returns the number of window kind classes.
Example
See also
IClient interface
IServerWindowKind interface
(IServerWIndowKind interface)
Syntax
Function GetWindowKindDescription : Widestring;
Description
The method returns the window kind description string for a window in Altium Designer.
Example
See also
IClient interface
IServerWindowKind interface
(IServerWindowKind interface)
Syntax
Function IsOfWindowKindClass(Const AClass : Widestring) : Boolean;
Description
The method returns a boolean value whether the class string is part of a window kind class or not.
Example
See also
IClient interface
IServerWindowKind interface
Overview
The IServerSecurity
interface hierarchy is as follows;
IServerSecurity methods IsTechnologySetSupported |
IServerSecurity properties |
See also
(IServerSecurity interface)
Syntax
Function IsTechnologySetSupported (Const ATechnologySet : Widestring) : Boolean;
Description
Example
See also
IServerSecurity interface
Overview
The ITimerManager
interface manages the timing mechanisms efficiently in Altium Designer which registers timer objects and calls them when used. Normally a Timer object needs a window to run and responds to WM_Timer
messages. This is for internal use.
ITimerManager methods AddHandler RemoveHandler GetHandlerEnabled SetHandlerEnabled SetGlobalEnabled |
ITimerManager Properties |
See also
ITimerHandler interface
(ITimerManager interface)
Syntax
Function AddHandler(Const AHandler : ITimerHandler; AInterval : Cardinal; AEnabled : Boolean = True) : DWord;
Description
Internal Use only
Example
See also
ITimerIManager interface
(ITimerManager interface)
Syntax
Function GetHandlerEnabled(ID : DWord) : Boolean;
Description
Internal Use only
Example
See also
ITimerManager interface
(ITimerManager interface)
Syntax
Procedure RemoveHandler (ID : DWord);
Description
Internal Use only
Example
See also
ITimerManager interface
(ITimerManager interface)
Syntax
Procedure SetGlobalEnabled (AEnabled : Boolean);
Description
Internal Use only
Example
See also
ITimerManager interface
(ITimerManager interface)
Syntax
Procedure SetHandlerEnabled(ID : DWord; AEnabled : Boolean);
Description
Internal Use only
Example
See also
ITimerManager interface
Overview
Each timer object is represented by the ITimerHandler interface and all timer objects are managed by the ITimerManager
interface.
This is for internal use.
ITimerHandler methods HandleTimerEvent |
ITimerHandler properties |
See also
ITimerManger interface
(ITimerHandler interface)
Syntax
Procedure HandleTimerEvent(ID : DWord);
Description
Example
See also
ITimerHandler interface
Overview
The ITranslationManager
interface deals with the installed locale languages for Altium Designer. The installed locale languages are Simplified Chinese, Japanese, German and French. The default locale is Standard English.
ITranslationManager methods GetTranslated SetComponentToTranslate HasTranslationData |
ITranslationManager properties |
See also
(ITranslationManager interface)
Syntax
Function GetTranslatedProperty(Const ComponentName, PropName : WideString; Out OutValue : WideString) : LongBool;
Description
Example
See also
(ITranslationManager interface)
Syntax
Procedure SetComponentToTranslate(Const ComponentName : WideString);
Description
Example
See also
(ITranslationManager interface)
Syntax
Function HasTranslationData : LongBool;
Description
Example
See also
Contact our corporate or local offices directly.