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("Ðåæèì ââîäà èç Visio íå òðåáóåò óêàçàíèÿ âõîäà", vbInformation)
|
|
Case EM_FILENAME_EMPTY
|
|
Call MsgBox("Íå óêàçàí ïóòü ê âõîäíîìó ôàéëó", vbExclamation)
|
|
Case EM_INVALID_SELECTION
|
|
Call MsgBox("Äëÿ äàííîé îïåðàöèè íåîáõîäèìî âûäåëèòü îäíó êîðíåâóþ ôîðìó", vbExclamation)
|
|
Case EM_ERROR_LOADING_FILE
|
|
Call MsgBox("Îøèáêà ïðè çàãðóçêå ôàéëà", vbExclamation)
|
|
Case EM_INVALID_FILE_FORMAT
|
|
Call MsgBox("Îøèáêà ïðè çàãðóçêå äàííûõ!" & vbNewLine & _
|
|
"Ïðîâåðüòå ñîîòâåòñòâèå âõîäà çàäàííîìó ôîðìàòó", vbExclamation)
|
|
Case EM_WORD_MAX_LEVELS
|
|
Call MsgBox("Ýêñïîðò â Word âîçìîæåí òîëüêî äëÿ 9 è ìåíåå óðîâíåé!", vbCritical)
|
|
Case EM_INVALID_STRUCTURE
|
|
Call MsgBox("Íåêîððåêòíàÿ ñòðóêòóðà èåðàðõèè", vbCritical)
|
|
Case EM_CANNOT_TRANSFORM_DEEP
|
|
Call MsgBox("Òðàíñôîðìèðîâàòü ìîæíî òîëüêî óçëû íå èìåþùèå ""âíóêîâ""", vbCritical)
|
|
Case EM_INVALID_FORMAT
|
|
Call MsgBox(Fmt("Ñîäåðæèìîå ôàéëà {1} íå ñîîòâåòñòâóåò òðåáóåìîìó ôîðìàòó", unwrapped), vbExclamation)
|
|
|
|
Case IM_EXPORT_OK
|
|
Call MsgBox(Fmt("Ýêñïîðò ïðîøåë óñïåøíî!" & vbNewLine & _
|
|
"Âñåãî óçëîâ: {1}" & vbNewLine & _
|
|
"Ìàêñèìàëüíàÿ ãëóáèíà: {2}", unwrapped), vbInformation)
|
|
Case IM_IMPORT_OK
|
|
Call MsgBox(Fmt("Èìïîðò äàííûõ ïðîøåë óñïåøíî!" & vbNewLine & _
|
|
"Âñåãî óçëîâ: {1}" & vbNewLine & _
|
|
"Ìàêñèìàëüíàÿ ãëóáèíà: {2}" & vbNewLine & _
|
|
"Ðàçìåð ëèñòà: {3} x {4}", unwrapped), vbInformation)
|
|
Case IM_NEW_TEMPLATE
|
|
Call MsgBox(Fmt("Íîâûå øàáëîí ñîçäàí óñïåøíî: {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
|