public AnnAutomation(
AnnAutomationManager automationManager,
IAnnAutomationControl automationControl
)
automationManager
The manager to which this AnnAutomation object will belong. Must not be null.
automationControl
The automation control to use. Must not be null.
This constructor creates a new instance of the AnnAutomation class, hooks to the necessary events in viewer to handle the user interface, creates the AnnContainer that will hold the annotation objects and finally adds this newly created AnnAutomationObject to the Automations collection.
This constructor will call Attach.
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();
}