LEADTOOLS JavaScript(Leadtools.Annotations.Automation)

BeginUndoメソッド

フレームを表示
サンプル 
このAnnAutomationの新しい取り消しノードオブジェクトを作成します。
構文
 function Leadtools.Annotations.Automation.AnnAutomation.beginUndo()
解説

このAnnAutomationによって維持管理される取り消しスタックにプログラムコードからノードを追加するために、BeginUndoEndUndoCancelUndoを使います。通常、以下のように取り消しノードを追加します:

  1. 新しいノードを作成するために変更を行う前に、BeginUndoメソッドを呼び出します。

  2. AnnAutomationオブジェクトに変更を加えます。

  3. EndUndoメソッドを呼び出して、AnnAutomationオブジェクトの取り消しスタックにこの取り消しノードをコミットします。

  4. エラーが発生した場合(通常はcatchステートメントで受け取ります)は、CancelUndoメソッドを呼び出してハンドルを削除し、操作をキャンセルします。

このAnnAutomationオブジェクトからメソッドを呼び出す場合は、BeginUndo、EndUndoまたはCancelUndoを手動で呼び出す必要はありません。AnnAutomationオブジェクトは、内部的にこの操作を実行します。たとえば、現時点では編集されているオブジェクトを削除するためにDeleteSelectedObjectsメソッドを呼び出すとき、AnnAutomationオブジェクトは取り消しノードを追加するために内部的に上記のシーケンスを実行します。

UndoCapacityプロパティを使って、Undoメソッドを使って反転できる、またはRedoメソッドを使って再度適用できるユーザーアクションの数を取得または設定します。UndoCapacityプロパティのデフォルトのアクション数は10です。

オートメーション操作の取り消しまたはやり直しに関する情報は、「アノテーションの自動操作の取り消し」を参照してください。

サンプル

以下のサンプルは、手動で自動オブジェクトに新しい長方形オブジェクトを追加して、それからそれを編集し始めます。

example: function SiteLibrary_DefaultPage$example() {
   var automation = this._automation;
   // first create a new undo node
   automation.beginUndo();

   try {
      // add a new rectangle object
      var rectObj = new lt.Annotations.Core.AnnRectangleObject();
      rectObj.set_rect(lt.LeadRectD.create(100, 100, 800, 800));
      rectObj.set_stroke(lt.Annotations.Core.AnnStroke.create(
         lt.Annotations.Core.AnnSolidColorBrush.create("blue"),
         lt.LeadLengthD.create(1)));
      rectObj.set_fill(lt.Annotations.Core.AnnSolidColorBrush.create("yellow"));
      automation.get_container().get_children().add(rectObj);

      // Invalidate it
      automation.invalidate(lt.LeadRectD.get_empty());

      // Select this object
      automation.selectObject(rectObj);

      // commit the undo node
      automation.endUndo();
   }
   catch (ex) {
      // in case of errors, cancel the undo node
      automation.cancelUndo();
      alert(ex.message);
      return;
   }

   alert("Object has been added as is now selected. Next will call //Undo// to undo the operation");
   automation.undo();
   alert("Operation has been undone. Next will call //Redo// to redo the operation");
   automation.redo();
   alert("Object should be back and selected");
},
参照

参照

AnnAutomationオブジェクト。
AnnAutomationメンバ