B4J Tutorial [BANanoWebix] Lesson 29 MessageBoxes

Mashiane

Expert
Licensed User
Ola

Message boxes provides alerts, confirmation and the normal modal dialog that one can create..

Lesson29.gif


Here we have notifications, alerts, confirmations. We have created buttons on a form so that when they are clicked, the normal message boxes appear.

B4X:
Dim form1 As WixForm
    'initialize form and make it accept names with dots (.)
    form1.Initialize("form1").SetScroll(False)
    form1.SetWidth(350).SetMargin(3)
    '
    form1.Form.CreateButton("").SetLabel("Success").SetClick(BANano.CallBack(Me,"success_click", Null)).AddToRows(form1.Form)
    form1.Form.CreateButton("").SetLabel("Error").SetClick(BANano.CallBack(Me,"error_click", Null)).AddToRows(form1.Form)
    form1.Form.CreateButton("").SetLabel("Default").SetClick(BANano.CallBack(Me,"default_click", Null)).AddToRows(form1.Form)
    form1.Form.CreateButton("").SetLabel("Debug").SetClick(BANano.CallBack(Me,"debug_click", Null)).AddToRows(form1.Form)
    form1.Form.CreateButton("").SetLabel("Alert").SetClick(BANano.CallBack(Me,"alert_click", Null)).AddToRows(form1.Form)
    form1.Form.CreateButton("").SetLabel("Confirm").SetClick(BANano.CallBack(Me,"confirm_click", Null)).AddToRows(form1.Form)
    form1.Form.CreateButton("").SetLabel("Confirm Warning").SetClick(BANano.CallBack(Me,"confirmwarning_click", Null)).AddToRows(form1.Form)
    form1.Form.CreateButton("").SetLabel("Alert Error").SetClick(BANano.CallBack(Me,"alerterror_click", Null)).AddToRows(form1.Form)
    form1.Form.CreateButton("").SetLabel("Modal Box").SetClick(BANano.CallBack(Me,"modalbox_click", Null)).AddToRows(form1.Form)
So each button has a callback function to activate the message box.

The modal box returns the index number of the button being clicked. We have added 3 buttons to it and specified our own titles for the buttons.

B4X:
Sub modalbox_click
    Dim result As Object
    Dim cb As BANanoObject = BANano.callback(Me, "modalresult", Array(result))
    '
    Dim mb As WixMessageBox
    mb.Initialize("mb").SetTitle("Custom title").AddButton("Yes").AddButton("No").AddButton("Maybe")
    mb.SetWidth(400).SetText("Any html content here").SetCallBack(cb)
    '
    pg.ModalBox(mb.Item)
End Sub
And we trap the result of the modal with its callback.

B4X:
Sub modalresult(result As Object)
    pg.Message(result)   
End Sub
Also the other confirm dialog, we used custom labels..

B4X:
Sub confirmwarning_click
    Dim result As Boolean = False
    Dim cb As BANanoObject = BANano.CallBack(Me,"confirmed",Array(result))
    '
    Dim cw As WixMessageBox
    cw.Initialize("cw").SetTypeConfirmWarning(True).SetOK("Warning").SetCANCEL("Stop it!").SetTitle("Confirm Warning").SetText("I dunno!")
    cw.SetCallBack(cb)
    pg.Confirm1(cw.Item)
End Sub
For the other message boxes, its simple as..

B4X:
Sub alert_click
    pg.Alert("Alert!")
End Sub

Sub success_click
    pg.Message_Success("Success!")
End Sub

Sub error_click
    pg.Message_Error("Error!")
End Sub

Sub default_click
    pg.Message("Default")
End Sub

Sub debug_click
    pg.Message_Debug("Debug")
End Sub
For the confirm button we have used .Confirm1, there is also .Confirm method that uses the default properties..

B4X:
Sub confirm_click
    Dim result As Boolean = False
    Dim cb As BANanoObject = BANano.CallBack(Me,"confirmed",Array(result))
    pg.Confirm(cb, "Confirm", "Can you confirm?")
End Sub
 
Top