BBjBuiManager::urlAction

Description

In BBj 14.0 and higher, this method construct a BBjBuiUrlCloseAction object to load a specified URL.

Syntax

Return Value

Method

BBjBuiUrlCloseAction

urlAction(string url)

Parameters

Variable

Description

url

A fully-qualified URL, including protocol ("http:", "https:", etc.) to be loaded on termination of the current BUI application.

Return Value

Returns a BBjBuiUrlCloseAction object, which can be passed BBjBuiManager::setEndAction or BBjBuiManager::setErrAction.

Remarks

If no specific termination actions have been specified, the default is to clear the browser and display a localized message of "Click to reload application", with a link to the application.

Example


rem ' BBjBuiManager 

sysgui = unt
open (sysgui)"X0"
sysgui! = bbjapi().getSysGui()
bui! = bbjapi().getBuiManager()

appName$ = " (Not BUI)"
appName$ = bui!.getApplicationName(err=*next)
title$ = "BBjBuiManager: " + appName$
touch = 0
touch = bui!.isTouchSupported(err=*next)
if touch then title$ = title$ + " (Touch)" else title$ = title$ + " (Not Touch)"

window! = sysgui!.addWindow(100,100,450,425,title$,$00090003$)
window!.setCallback(window!.ON_CLOSE,"eoj")

window!.addGroupBox(100,25,25,400,125,"End Actions")
endApp! = window!.addRadioButton(101,50,50,75,25,"App",$0020$)
endUrl! = window!.addRadioButton(102,125,50,75,25,"URL",$0020$)
endMsg! = window!.addRadioButton(103,200,50,75,25,"Msg",$0020$)
endNone! = window!.addRadioButton(104,275,50,75,25,"None",$0020$)
endDefault! = window!.addRadioButton(105,350,50,70,25,"Default",$0020$)
endGroup! = window!.addRadioGroup()
endGroup!.add(endApp!)
endGroup!.add(endUrl!)
endGroup!.add(endMsg!)
endGroup!.add(endNone!)
endGroup!.add(endDefault!)
window!.addStaticText(106,30,100,60,25,"Value:",$8000$)
endValue! = window!.addEditBox(107,100,100,225,25,$$)
setEndAction! = window!.addButton(108,340,100,75,25,"Set",$$)
setEndAction!.setCallback(setEndAction!.ON_BUTTON_PUSH,"setEndAction")

window!.addGroupBox(200,25,200,400,125,"Err Actions")
errApp! = window!.addRadioButton(201,50,225,75,25,"App",$0020$)
errUrl! = window!.addRadioButton(202,125,225,75,25,"URL",$0020$)
errMsg! = window!.addRadioButton(203,200,225,75,25,"Msg",$0020$)
errNone! = window!.addRadioButton(204,275,225,75,25,"None",$0020$)
errDefault! = window!.addRadioButton(205,350,225,70,25,"Default",$0020$)
errGroup! = window!.addRadioGroup()
errGroup!.add(errApp!)
errGroup!.add(errUrl!)
errGroup!.add(errMsg!)
errGroup!.add(errNone!)
errGroup!.add(errDefault!)
window!.addStaticText(206,30,275,60,25,"Value:",$8000$)
errValue! = window!.addEditBox(207,100,275,225,25,$$)
setErrAction! = window!.addButton(208,340,275,75,25,"Set",$$)
setErrAction!.setCallback(setEndAction!.ON_BUTTON_PUSH,"setErrAction")

showBusy! = window!.addButton(1,25,375,100,25,"Busy",$$)
showBusy!.setCallback(showBusy!.ON_BUTTON_PUSH,"showBusy")
busyMessage! = window!.addEditBox(300,150,375,200,25,"Working...",$$)
 
gosub fetch
 
process_events

eoj:
release

fetch:
  endAction! = bui!.getEndAction(err=*return)
  switch endAction!.getActionType()
    case endAction!.ACTION_APP
       endApp!.setSelected(1)
       endValue!.setText(endAction!.getAppName())
       break
    case endAction!.ACTION_URL
       endUrl!.setSelected(1)
       endValue!.setText(endAction!.getUrl())
       break
    case endAction!.ACTION_MSG
       endMsg!.setSelected(1)
       endValue!.setText(endAction!.getMessage())
       break
    case endAction!.ACTION_NONE
       endNone!.setSelected(1)
       endValue!.setText("")
    break
    case endAction!.ACTION_DEFAULT
       endDefault!.setSelected(1)
       endValue!.setText("")
       break
  swend
  errAction! = bui!.getErrAction(err=*return)
  switch errAction!.getActionType()
    case errAction!.ACTION_APP
       errApp!.setSelected(1)
       errValue!.setText(errAction!.getAppName())
       break
    case errAction!.ACTION_URL
       errUrl!.setSelected(1)
       errValue!.setText(errAction!.getUrl())
       break
    case errAction!.ACTION_MSG
       errMsg!.setSelected(1)
       errValue!.setText(errAction!.getMessage())
       break
    case errAction!.ACTION_NONE
       errNone!.setSelected(1)
       errValue!.setText("")
       break
    case errAction!.ACTION_DEFAULT
       errDefault!.setSelected(1)
       errValue!.setText("")
       break
  swend
return
 
setEndAction:
  if endApp!.isSelected() then action! = bui!.appAction(endValue!.getText())
  if endUrl!.isSelected() then action! = bui!.urlAction(endValue!.getText())
  if endMsg!.isSelected() then action! = bui!.msgAction(endValue!.getText())
  if endNone!.isSelected() then action! = bui!.noneAction()
  if endDefault!.isSelected() then action! = bui!.defaultAction()
  bui!.setEndAction(action!,err=*return)
return
 
setErrAction:
  if errApp!.isSelected() then action! = bui!.appAction(errValue!.getText())
  if errUrl!.isSelected() then action! = bui!.urlAction(errValue!.getText())
  if errMsg!.isSelected() then action! = bui!.msgAction(errValue!.getText())
  if errNone!.isSelected() then action! = bui!.noneAction()
  if errDefault!.isSelected() then action! = bui!.defaultAction()
  bui!.setErrAction(action!,err=*return)
return
 
showBusy:
  busy! = bui!.getBusyIndicator(err=*return)
  busy!.setText(busyMessage!.getText())
  busy!.setVisible(1)
  wait 3
  busy!.setVisible(0)
return

See Also

BBjAPI

BBjBuiManager

See the BBj Object Diagram for an illustration of the relationship between BBj Objects.