95 lines
3.1 KiB
QBasic
95 lines
3.1 KiB
QBasic
![]() |
Attribute VB_Name = "z_UIMessages"
|
|||
|
' Messaging module
|
|||
|
Option Private Module
|
|||
|
Option Explicit
|
|||
|
|
|||
|
Public Enum MsgCode
|
|||
|
MSG_OK = 0
|
|||
|
|
|||
|
EM_VISIO_INPUT
|
|||
|
EM_FILENAME_EMPTY
|
|||
|
EM_INVALID_SELECTION
|
|||
|
EM_ERROR_LOADING_FILE
|
|||
|
EM_INVALID_FILE_FORMAT
|
|||
|
EM_WORD_MAX_LEVELS
|
|||
|
EM_INVALID_STRUCTURE
|
|||
|
EM_CANNOT_TRANSFORM_DEEP
|
|||
|
EM_INVALID_FORMAT
|
|||
|
|
|||
|
IM_EXPORT_OK
|
|||
|
IM_IMPORT_OK
|
|||
|
IM_NEW_TEMPLATE
|
|||
|
|
|||
|
' QM_CODE_DELETE_CONFIRM
|
|||
|
End Enum
|
|||
|
|
|||
|
Private g_UI As API_UserInteraction
|
|||
|
|
|||
|
Public Function UserInteraction() As API_UserInteraction
|
|||
|
If g_UI Is Nothing Then _
|
|||
|
Set g_UI = New API_UserInteraction
|
|||
|
Set UserInteraction = g_UI
|
|||
|
End Function
|
|||
|
|
|||
|
Public Function SetUserInteraction(newUI As API_UserInteraction)
|
|||
|
Set g_UI = newUI
|
|||
|
End Function
|
|||
|
|
|||
|
Public Function UIShowMessage(theCode As MsgCode, ParamArray params() As Variant)
|
|||
|
Dim unwrapped As Variant: unwrapped = params
|
|||
|
unwrapped = FixForwardedParams(unwrapped)
|
|||
|
|
|||
|
Select Case theCode
|
|||
|
Case EM_VISIO_INPUT
|
|||
|
Call MsgBox("<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> Visio <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>", vbInformation)
|
|||
|
Case EM_FILENAME_EMPTY
|
|||
|
Call MsgBox("<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>", vbExclamation)
|
|||
|
Case EM_INVALID_SELECTION
|
|||
|
Call MsgBox("<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>", vbExclamation)
|
|||
|
Case EM_ERROR_LOADING_FILE
|
|||
|
Call MsgBox("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>", vbExclamation)
|
|||
|
Case EM_INVALID_FILE_FORMAT
|
|||
|
Call MsgBox("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!" & vbNewLine & _
|
|||
|
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", vbExclamation)
|
|||
|
Case EM_WORD_MAX_LEVELS
|
|||
|
Call MsgBox("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> Word <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> 9 <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!", vbCritical)
|
|||
|
Case EM_INVALID_STRUCTURE
|
|||
|
Call MsgBox("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", vbCritical)
|
|||
|
Case EM_CANNOT_TRANSFORM_DEEP
|
|||
|
Call MsgBox("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ""<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>""", vbCritical)
|
|||
|
Case EM_INVALID_FORMAT
|
|||
|
Call MsgBox(Fmt("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> {1} <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", unwrapped), vbExclamation)
|
|||
|
|
|||
|
Case IM_EXPORT_OK
|
|||
|
Call MsgBox(Fmt("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!" & vbNewLine & _
|
|||
|
"<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>: {1}" & vbNewLine & _
|
|||
|
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: {2}", unwrapped), vbInformation)
|
|||
|
Case IM_IMPORT_OK
|
|||
|
Call MsgBox(Fmt("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!" & vbNewLine & _
|
|||
|
"<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>: {1}" & vbNewLine & _
|
|||
|
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: {2}" & vbNewLine & _
|
|||
|
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>: {3} x {4}", unwrapped), vbInformation)
|
|||
|
Case IM_NEW_TEMPLATE
|
|||
|
Call MsgBox(Fmt("<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: {1}", unwrapped), vbInformation)
|
|||
|
|
|||
|
|
|||
|
Case Else
|
|||
|
Call MsgBox("Invalid message code", vbCritical)
|
|||
|
End Select
|
|||
|
End Function
|
|||
|
|
|||
|
Public Function UIAskQuestion(theCode As MsgCode, ParamArray params() As Variant) As Boolean
|
|||
|
Dim unwrapped As Variant: unwrapped = params
|
|||
|
unwrapped = FixForwardedParams(unwrapped)
|
|||
|
|
|||
|
Dim answer&: answer = vbNo
|
|||
|
Select Case theCode
|
|||
|
' Case QM_CODE_DELETE_CONFIRM
|
|||
|
' answer = MsgBox("Are you sure you want to delete ALL macros from target file?", vbYesNo + vbQuestion)
|
|||
|
|
|||
|
Case Else
|
|||
|
Call MsgBox("Invalid message code", vbCritical)
|
|||
|
End Select
|
|||
|
UIAskQuestion = answer = vbYes
|
|||
|
End Function
|