public virtual bool Active { get; set; }
true if this AnnAutomation is active; otherwise, it is false.
The collection of AnnAutomation objects inside an AnnAutomationManager should have one AnnAutomation object active at any time. The active AnnAutomation object is the object to which all user interface actions are directed.
If the automated annotation application has only one AnnAutomation object, it should set the Active property of this AnnAutomation to true upon initialization. Otherwise, set the Active property of the active AnnAutomation to true.
If the automated annotation application has more than one AnnAutomation, it should set the Active property of the AnnAutomation attached to the currently active form to true.
Setting the Active value of one AnnAutomation in the Automations property to true, will cause the Active property of all other AnnAutomation objects inside this collection to be set to false.
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();
}