LEADTOOLS JavaScript (Leadtools.Annotations.Core)
LEAD Technologies, Inc

AnnDeserializeOptions Object

Example 

Members 
Options to use when loading annotation objects.
Syntax
function Leadtools.Annotations.Core.AnnDeserializeOptions() 
!MISSING Scrap '_RTJavaScript_Class_SYNTAX'!
Remarks

This class is used as the type for AnnCodecs.DeserializeOptions and contains the following members:

Member Description
DeserializeObject

Event to trigger for each annotation object being loaded. Allows you to monitor and skip any object.

DeserializeObjectError

Event to trigger when an error occurs during loading an annotation object. Allows you to handle the error or skip it.

Example
example: function SiteLibrary_DefaultPage$example() {
   // Create a new annotation container, 8.5 by 11 inches
   var container = new Leadtools.Annotations.Core.AnnContainer();
   // Size must be in annotation units (1/720 of an inch)
   container.set_size(Leadtools.LeadSizeD.create(8.5 * 720, 11 * 720));

   var inch = 720.0;
   // Add a red line object, from 1in 1in to 2in 2in
   var lineObj = new Leadtools.Annotations.Core.AnnPolylineObject();
   lineObj.get_points().add(Leadtools.LeadPointD.create(1 * inch, 1 * inch));
   lineObj.get_points().add(Leadtools.LeadPointD.create(2 * inch, 2 * inch));
   lineObj.set_stroke(Leadtools.Annotations.Core.AnnStroke.create(Leadtools.Annotations.Core.AnnSolidColorBrush.create("red"), Leadtools.LeadLengthD.create(1)));
   container.get_children().add(lineObj);

   // Add a blue on yellow rectangle from 3in 3in to 4in 4in
   var rectObj = new Leadtools.Annotations.Core.AnnRectangleObject();
   rectObj.set_rect(Leadtools.LeadRectD.create(3 * inch, 3 * inch, 1 * inch, 1 * inch));
   rectObj.set_stroke(Leadtools.Annotations.Core.AnnStroke.create(Leadtools.Annotations.Core.AnnSolidColorBrush.create("blue"), Leadtools.LeadLengthD.create(1)));
   rectObj.set_fill(Leadtools.Annotations.Core.AnnSolidColorBrush.create("yellow"));
   container.get_children().add(rectObj);

   // Show the container
   this.showContainer("Before save", container);

   // Create the codecs object to save and load annotations
   var codecs = new Leadtools.Annotations.Core.AnnCodecs();

   // Save the container
   var xmlData = codecs.save(container, Leadtools.Annotations.Core.AnnFormat.annotations, null, 1);

   // delete the container
   container = null;

   // Create a new instance of AnnDeserializeOptions and Hook to the DeserializeObject and DeserializeObjectError events
   var deserializeOptions = new Leadtools.Annotations.Core.AnnDeserializeOptions();
   deserializeOptions.add_deserializeObject(function(sender, e) {
      // e is of type AnnSerializeObjectEventArgs
      alert("loading object of type: " + e.get_typeName());
   });
   deserializeOptions.add_deserializeObjectError(function(sender, e) {
      // e is of type AnnSerializeObjectEventArgs
      alert(e.get_error().message);
   });

   // Set it as our deserialize options
   codecs.set_deserializeOptions(deserializeOptions);

   // Load the container we just saved
   container = codecs.load(xmlData, 1);

   // Show it
   this.showContainer("After load", container);
},

showContainer: function SiteLibrary_DefaultPage$showContainer(message, container) {
   var str = message + "\nContainer size: ";

   // Add the size
   var inch = 720;
   var width = container.get_size().get_width() / inch;
   var height = container.get_size().get_height() / inch;
   str += width + " by " + height + " inches" + "\n";

   // Add the objects
   str += "Contains " + container.get_children().get_count() + " objects(s)\n";
   for (var i = 0; i < container.get_children().get_count(); i++) {
      var annObj = container.get_children().get_item(i);

      str += "Object: " + annObj.get_friendlyName() + " at ";
      for (var j = 0; j < annObj.get_points().get_count(); j++) {
         var pt = annObj.get_points().get_item(j);
         var x = pt.get_x() / inch;
         var y = pt.get_y() / inch;
         str += "(" + x + ", " + y + ") ";
      }

      str += "\n";
   }

   alert(str);
},
See Also

Reference

AnnDeserializeOptions Members
Leadtools.Annotations.Core Namespace
Annotation Files

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.