<?xml version="1.0" encoding="Windows-1255" ?><Class name="SimpleModelRecorder" inherit="core.gml:Object" alias="recorder" hierarchy="GMLDOM" id="core.gml:SimpleModelRecorder" sort="21" urn="core.gml:core.SimpleModelRecorder.gs" toc="\Core"><Summary>The SimpleModelRecorder is an object used for recording model changes (transactions)
   and enabling rollback functionality. It stores only the latest transaction.</Summary><Inherit>&lt;q ref=&quot;core.gml:Object&quot;&gt;Object&lt;/q&gt;</Inherit><Remarks>Instances of this class are created automatically by the system, and should
      not be created directly. To access the ModelRecorder object of the currently
      open model use the &lt;q ref=&quot;core.env:Environment!recorder&quot;&gt;$ENV.recorder&lt;/q&gt; property.</Remarks><Copyright>(c) SAP AG 2003-2006. All rights reserved.</Copyright>
<Topics>
<Method name="begin" sortGroup="true" scope="public" id="core.gml:SimpleModelRecorder!begin" sort="35" group="Methods" seq="0000"><Summary>Begins a new recording.</Summary><Parameters signature="method:: &lt;i&gt;recorder&lt;/i&gt;.&lt;b&gt;begin&lt;/b&gt;(&lt;i&gt;name&lt;/i&gt;, &lt;i&gt;snapshot&lt;/i&gt;) &amp;rarr; void"><Param name="name" type="String">A display name to assign to the recording.</Param><Param name="snapshot" type="Object" default="">An object representing a snapshot of the current window at its last stable state prior to the recording (see &lt;q ref=&quot;core.dev:Workspace!captureSnapshot&quot;&gt;captureSnapshot&lt;/q&gt;). If omitted, the snapshot of the window at the exact moment that the recording has began will be used.</Param></Parameters><Return></Return><Remarks>&lt;ol&gt;&lt;li&gt;A transactions recording is a sequence of one or more transactions that are undone or redone in a single scope. &lt;/li&gt;&lt;li&gt;Once a recording has been started, you can use the &lt;code&gt;add&lt;/code&gt; method to add new transactions to it. &lt;/li&gt;&lt;li&gt;As soon as you are done with the actions that constitute your scope you should call the &lt;code&gt;commit&lt;/code&gt; resp. &lt;code&gt;rollback&lt;/code&gt; method to accept resp. cancel the recording. &lt;/li&gt;&lt;li&gt;You must balance calls to the &lt;code&gt;begin&lt;/code&gt; method with calls to the &lt;code&gt;commit&lt;/code&gt; method. Nested calls to the &lt;code&gt;begin&lt;/code&gt; method are merged, so at most a single recording is active at any time. &lt;/li&gt;&lt;/ol&gt;</Remarks></Method>
<Method name="commit" sortGroup="true" scope="public" id="core.gml:SimpleModelRecorder!commit" sort="35" group="Methods" seq="0001"><Summary>Accepts the current recording.</Summary><Parameters signature="method:: &lt;i&gt;recorder&lt;/i&gt;.&lt;b&gt;commit&lt;/b&gt;(&lt;i&gt;snapshot&lt;/i&gt;) &amp;rarr; void"><Param name="snapshot" type="Object" default="">An object representing a snapshot of the current window at its next stable state after the recording. If omitted, the snapshot taken at the beginning of the recording will be used.</Param></Parameters><Return></Return></Method>
<Method name="execute" sortGroup="true" scope="public" id="core.gml:SimpleModelRecorder!execute" sort="35" group="Methods" seq="0002"><Summary>Executes a new transaction and appends it to the current recording.</Summary><Parameters signature="method:: &lt;i&gt;recorder&lt;/i&gt;.&lt;b&gt;execute&lt;/b&gt;(&lt;i&gt;type&lt;/i&gt;, &lt;i&gt;args...&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.env:KitTransactions!TRANSACTION_OBJ&quot;&gt;TRANSACTION_OBJ&lt;/q&gt;"><Param name="type" type="String">The transaction type Id (see &lt;q ref=&quot;core.env:KitTransactions!TRANSACTION_TYPE&quot;&gt;TRANSACTION_TYPE&lt;/q&gt;).</Param><Param name="args..." type="Arguments">A variable-length arguments list to pass to the transaction constructor.</Param></Parameters><Return type="env:KitTransactions!TRANSACTION_OBJ" typeRef="&lt;q ref=&quot;core.env:KitTransactions!TRANSACTION_OBJ&quot;&gt;TRANSACTION_OBJ&lt;/q&gt;">The transaction object, or null in case of any error.</Return><Remarks>If there is no current recording, a new recording containing the given transaction will be automatically
      created.</Remarks></Method>
<Method name="getIsBusy" sortGroup="true" scope="public" id="core.gml:SimpleModelRecorder!getIsBusy" sort="35" group="Methods" seq="0003"><Summary>Gets the recorder busy state.</Summary><Parameters signature="method:: &lt;i&gt;recorder&lt;/i&gt;.&lt;b&gt;getIsBusy&lt;/b&gt;() &amp;rarr; Boolean"></Parameters><Return type="Boolean">&lt;code&gt;true&lt;/code&gt; if the recorder is in the middle of an undo, redo or rollback operation, &lt;code&gt;false&lt;/code&gt; otherwise.</Return></Method>
<Method name="getState" sortGroup="true" scope="public" id="core.gml:SimpleModelRecorder!getState" sort="35" group="Methods" seq="0004"><Summary>Gets the recorder state.</Summary><Parameters signature="method:: &lt;i&gt;recorder&lt;/i&gt;.&lt;b&gt;getState&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.dev:Workspace!BOARD_STATE&quot;&gt;BOARD_STATE&lt;/q&gt;"></Parameters><Return type="dev:Workspace!BOARD_STATE" typeRef="&lt;q ref=&quot;core.dev:Workspace!BOARD_STATE&quot;&gt;BOARD_STATE&lt;/q&gt;">The recorder state.</Return></Method>
<Method name="redo" sortGroup="true" scope="public" id="core.gml:SimpleModelRecorder!redo" sort="35" group="Methods" seq="0005"><Summary>Reapplies the first recording in the future, if any.</Summary><Parameters signature="method:: &lt;i&gt;recorder&lt;/i&gt;.&lt;b&gt;redo&lt;/b&gt;() &amp;rarr; void"></Parameters><Return></Return></Method>
<Method name="rollback" sortGroup="true" scope="public" id="core.gml:SimpleModelRecorder!rollback" sort="35" group="Methods" seq="0006"><Summary>Cancels the current recording.</Summary><Parameters signature="method:: &lt;i&gt;recorder&lt;/i&gt;.&lt;b&gt;rollback&lt;/b&gt;() &amp;rarr; void"></Parameters><Return></Return></Method>
<Method name="undo" sortGroup="true" scope="public" id="core.gml:SimpleModelRecorder!undo" sort="35" group="Methods" seq="0007"><Summary>Reverses the last recording in the past, if any.</Summary><Parameters signature="method:: &lt;i&gt;recorder&lt;/i&gt;.&lt;b&gt;undo&lt;/b&gt;() &amp;rarr; void"></Parameters><Return></Return></Method>
</Topics>
</Class>