←Select platform

AnnAutomationObject Class

Summary
Defines all the properties needed to automate an annotation object.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public class AnnAutomationObject 
@interface LTAnnAutomationObject : NSObject 
public class AnnAutomationObject 
public: 
   ref class AnnAutomationObject 
class AnnAutomationObject: 
Remarks

To automate an annotation object, create an instance of this class, specifying any properties. Then add it to the AnnAutomationManager.Objects collection. At any time, you can enumerate the AnnAutomationManager.Objects collection and add/remove/modify any of its properties.

The AnnAutomationManager.CreateDefaultObjects method creates the default AnnAutomationObject objects for the default annotation objects.

LEADTOOLS will create the automation properties for the default annotation objects. You can change any property behavior by overriding members of this class or deriving your own.

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 22.0.2023.4.25
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 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.