←Select platform

AnnAutomation Class

Summary
Manages the automation for an AnnContainer.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public class AnnAutomation 
@interface LTAnnAutomation : NSObject<LTAnnAutomationControlDelegate, LTAnnEditDesignerDelegate, LTAnnDrawDesignerDelegate, LTAnnRunDesignerDelegate, LTAnnTextEditDesignerDelegate> 
public class AnnAutomation 
public: 
   ref class AnnAutomation 
class AnnAutomation: 
Remarks

The AnnAutomation class links an AnnContainer object and an IAnnAutomationControl object together.

An automated annotation application usually creates one AnnAutomation object per annotation window. Therefore, a single document application typically has one AnnAutomation object, one AnnContainer and one IAnnAutomationControl object together. A multiple document application has one AnnAutomation per annotation form.

For more information, refer to Implementing Annotations

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.