VBCommons/visio/API_UndoWrapper.cls

46 lines
1019 B
OpenEdge ABL
Raw Normal View History

2024-06-07 20:46:40 +03:00
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
END
Attribute VB_Name = "API_UndoWrapper"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
' ====== Class for managing Visio undo scopes ==========
' Shared module version: 20210329
' Tested in: TestVisio
' Depends on:
' Required reference:
Option Explicit
Private app_ As Visio.Application
Private scopeID_ As Long
Private isActive_ As Boolean
Private Sub Class_Initialize()
scopeID_ = 0
isActive_ = False
End Sub
Public Function Init(targetApp As Visio.Application)
Set app_ = targetApp
End Function
Public Function BeginScope(sName$)
If isActive_ Then
Debug.Print "Scope already running"
Exit Function
Else
isActive_ = True
scopeID_ = app_.BeginUndoScope(sName)
End If
End Function
Public Function EndScope(Optional bCommit As Boolean = True)
If isActive_ Then
isActive_ = False
Call app_.EndUndoScope(scopeID_, bCommit)
End If
End Function