BBjBuiManager

Creation Path


BBjAPI

|

+-- BBjBuiManager

 

Description

In BBj 14.0 and higher, the BBjBuiManager object provides an interface to BUI application runtime settings.

Creation

The BBjBuiManager object is created through the following BBjAPI method:

Return Value

Method

BBjBuiManager

getBuiManager()

Methods of BBjBuiManager

Return Value

Method

BBjBuiAppCloseAction

appAction(string p_app)

void

clearCallback(int eventType)

BBjBuiDefaultCloseAction

defaultAction()

string

getApplicationName()

BBjBusyIndicator

getBusyIndicator()

BBjBuiCloseAction

getEndAction()

BBjBuiCloseAction

getErrAction()

boolean

getShowConfirmCloseDialog()

string

getTitle()

string

getUrl()

boolean

isTouchSupported()

BBjBuiMsgCloseAction

msgAction(string msg)

BBjBuiNoneCloseAction

noneAction()

void

setCallback(int eventType, CustomObject customObject, string method)

void

setCallback(int eventType, string callback)

void

setEndAction(BBjBuiCloseAction action)

void

setErrAction(BBjBuiCloseAction action)

void

setShowConfirmCloseDialog(boolean showConfirmCloseDialog)

void

setTitle(string title)

BBjBuiUrlCloseAction

urlAction(string p_url)

Events

Callback Code

Object-oriented Event

Read Record Event

Code

ON_BROWSER_BACK

BBjBrowserBackEvent

N/A

N/A

This event is available when the BUI app is configured to manage the browser history.

Remarks

None.

Constants

None.

Example

rem ' BBjBuiManager

declare BBjSysGui sysgui!
declare BBjBuiManager bui!
declare BBjBusyIndicator busy!

sysgui = unt
open (sysgui)"X0"
sysgui! = bbjapi().getSysGui()
bui! = bbjapi().getBuiManager()
bui!.setCallback(bui!.ON_BROWSER_BACK,"browser_back")

url$ = "(Not BUI)"
url$ = bui!.getUrl(err=*next)

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,475,title$,$00090003$)
window!.setCallback(window!.ON_CLOSE,"eoj")

window!.addStaticText(99,25,25,400,25,"URL: "+url$,$$)

window!.addGroupBox(100,25,75,400,125,"End Actions")
endApp! = window!.addRadioButton(101,30,100,75,25,"App",$0020$)
endUrl! = window!.addRadioButton(102,105,100,75,25,"URL",$0020$)
endMsg! = window!.addRadioButton(103,180,100,75,25,"Msg",$0020$)
endNone! = window!.addRadioButton(104,255,100,75,25,"None",$0020$)
endDefault! = window!.addRadioButton(105,330,100,75,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,150,60,25,"Value:",$8000$)
endValue! = window!.addEditBox(107,100,150,225,25,$$)
setEndAction! = window!.addButton(108,340,150,75,25,"Set",$$)
setEndAction!.setCallback(setEndAction!.ON_BUTTON_PUSH,"setEndAction")

window!.addGroupBox(200,25,225,400,125,"Err Actions")
errApp! = window!.addRadioButton(201,30,250,75,25,"App",$0020$)
errUrl! = window!.addRadioButton(202,105,250,75,25,"URL",$0020$)
errMsg! = window!.addRadioButton(203,180,250,75,25,"Msg",$0020$)
errNone! = window!.addRadioButton(204,255,250,75,25,"None",$0020$)
errDefault! = window!.addRadioButton(205,330,250,75,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,300,60,25,"Value:",$8000$)
errValue! = window!.addEditBox(207,100,300,225,25,$$)
setErrAction! = window!.addButton(208,340,300,75,25,"Set",$$)
setErrAction!.setCallback(setEndAction!.ON_BUTTON_PUSH,"setErrAction")

title$ = "Show Confirm Close Dialog"
confirm = 0
confirm = bui!.getShowConfirmCloseDialog(err=*next)
flags$ = iff(confirm,$0004$,$0000$)
setShowConfirmDialog! = window!.addCheckBox(209,25,375,300,25,title$,flags$)
setShowConfirmDialog!.setCallback(setShowConfirmDialog!.ON_CHECK_ON,"showConfirmDialogOn")
setShowConfirmDialog!.setCallback(setShowConfirmDialog!.ON_CHECK_OFF,"showConfirmDialogOff")

showBusy! = window!.addButton(1,25,425,100,25,"Busy",$$)
showBusy!.setCallback(showBusy!.ON_BUTTON_PUSH,"showBusy")
busyMessage! = window!.addEditBox(300,150,425,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

showConfirmDialogOn:
  bui!.setShowConfirmCloseDialog(1,err=*next)
return

showConfirmDialogOff:
  bui!.setShowConfirmCloseDialog(0,err=*next)
return

showBusy:
  busy! = bui!.getBusyIndicator(err=*return)
  busy!.setText(busyMessage!.getText())
  busy!.setVisible(1)
  wait 3
  busy!.setVisible(0)
return

browser_back:
  event! = sysgui!.getLastEvent()
  i = msgbox(str(event!))
return

See Also

BBjAPI

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



______________________________________________________________________________________

Copyright BASIS International Ltd. BBj®, Visual PRO/5®, PRO/5®, and BBx® are registered trademarks.