←Select platform

ObjectTemplate Property

Summary
Gets or sets the initial annotation object template of this AnnAutomationObject.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public virtual AnnObject ObjectTemplate { get; set; } 
@property (nonatomic, strong) LTAnnObject *objectTemplate; 
public AnnObject getObjectTemplate() 
public void setObjectTemplate(AnnObject object) 
public:  
   virtual property AnnObject^ ObjectTemplate 
   { 
      AnnObject^ get() 
      void set(AnnObject^ value) 
   } 
ObjectTemplate # get and set (AnnAutomationObject) 

Property Value

The initial annotation object template of this AnnAutomationObject. The default value is null.

Remarks

The automation framework will use AnnObject.Clone to create new instances of the annotation object whenever the framework is instructed to draw a new object of this type. You should set the default properties (stroke, fill, font, etc.) of the object here. You should set this property to a valid object, the only automation object that has this value set to null is AnnObject.SelectObjectId.

Example
C#
using Leadtools.Annotations.Automation; 
using Leadtools.Annotations.Engine; 
using Leadtools.Codecs; 
using Leadtools.Controls; 
using Leadtools.Annotations.WinForms; 
using Leadtools.Annotations.Rendering; 
using Leadtools.Annotations.Designers; 
 
public void AnnAutomationManager_FindObjectById() 
{ 
   // find the line automation object 
   AnnAutomationObject obj = _automation.Manager.FindObjectById(AnnObject.LineObjectId); 
   if (obj != null) 
   { 
      obj.ObjectTemplate.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Blue"), LeadLengthD.Create(2)); 
   } 
 
   // Check if it is active 
   AnnAutomations annAutomations = _automation.Manager.Automations; 
   foreach(AnnAutomation annAutomation in annAutomations) 
      Console.WriteLine($"Is AnnAutomation Active?: {annAutomation.Active}"); 
 
   // Restarting _automation without objects 
   StartupNoObjects(); 
   // There should be no Automation Objects 
   Console.WriteLine($"Number of Annotation Objects Available: {_automation.Manager.Objects.Count}"); 
   // Create Default Automation Objects 
   _automation.Manager.CreateDefaultObjects(); 
   Console.WriteLine($"Number of Created Annotation Objects: {_automation.Manager.Objects.Count}"); 
   foreach (AnnAutomationObject defaultObject in _automation.Manager.Objects) 
   { 
      defaultObject.RunDesignerType = typeof(AnnRunDesigner); 
      Console.WriteLine($"ID: {defaultObject.Id} | {defaultObject.Name} | Draw Designer Type: {defaultObject.DrawDesignerType.Name} | Edit Designer Type: {defaultObject.EditDesignerType.Name} | Run Designer Type: {defaultObject.RunDesignerType.Name}"); 
   } 
} 
 
public void StartupNoObjects() 
{ 
   _viewer = new AutomationImageViewer(); 
   _viewer.Image = RasterImage.CreateGrayscale(500, 500, 8, 100); 
   _manager = new AnnAutomationManager(); 
   _automation = new AnnAutomation(_manager, _viewer); 
   _automation.Active = true; 
   _automation.Container.Size = new LeadSizeD(500, 500); 
   _automation.AutomationControl.RenderingEngine = new AnnWinFormsRenderingEngine(); 
} 
Requirements

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Annotations.Automation Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.