BBjMDI::getBorder

Description

In BBj 4.0 and higher, this method returns the specified BBjMDI border.

Syntax

Return Value

Method

BBjMDIBorder

getBorder(int position)

Parameters

Variable

Description

position

Specifies the position of the BBjMDIBorder to retrieve.

BBjMDIBorder.NORTH = 0

BBjMDIBorder.SOUTH = 1

BBjMDIBorder.WEST = 2

BBjMDIBorder.EAST = 3

Return Value

Returns a BBjMDIBorder that can be used to set a window as a border within the BBjMDI.

BBjMDIBorder Constants

0

NORTH

1

SOUTH

2

WEST

3

EAST

Example

rem ' BBjMDI::getBorder
if len(cvs(argv(1,err=*next),8)) then goto client
sysgui = unt
open (sysgui)"X0"
sysgui! = bbjapi().getSysGui()
mdi! = bbjapi().getMDI()
title$ = "BBjMDI getBorder: "+info(0,0)+" "+info(0,1)+" "+info(1,0)+" "+info(1,1)
print 'title'(title$)
mdi!.createMDIWindow(100,100,800,600,title$,$0000089f$)
mdi!.enableMDIWindowMenu()
mdi!.setArrangeModal(1)
mdi!.setVisible(1)
status! = mdi!.addStatusBar(); status!.setText("MDI Status Bar")
mdi!.setCallback(mdi!.ON_CLOSE,"closeAll")
mdi!.setCallback(mdi!.ON_RESIZE,"resize")
mdi!.setCallback(mdi!.ON_WINDOW_MOVE,"move")
mdi!.setCallback(mdi!.ON_SCREEN_RESIZE,"screen")
mdi!.setBackColor(sysgui!.makeColor(255,255,0))
imagemanager! = sysgui!.getImageManager()
image$ = "com/basis/utilities/launchdock/icons/bbj.png"
image! = imagemanager!.loadImageFromServerJar(image$)
mdi!.setBackgroundImage(0,image!)
mdi!.setDefaultMDIMode("MDI")
rem invoke = scall("bbj "+pgm(-1)+" - f &")
invoke = scall("bbj "+pgm(-1)+" - n &")
rem invoke = scall("bbj "+pgm(-1)+" - f &")
gosub toolbar
rem invoke = scall("bbj "+pgm(-1)+" - f &")
invoke = scall("bbj "+pgm(-1)+" - w &")
rem invoke = scall("bbj "+pgm(-1)+" - f &")
invoke = scall("bbj "+pgm(-1)+" - e &")
rem invoke = scall("bbj "+pgm(-1)+" - f &")
rem invoke = scall("bbj "+pgm(-1)+" - f &")
invoke = scall("bbj "+pgm(-1)+" - s &")
invoke = scall("bbj "+pgm(-1)+" - f &")
invoke = scall("bbj "+pgm(-1)+" - f &")
invoke = scall("bbj "+pgm(-1)+" - f &")
invoke = scall("bbj "+pgm(-1)+" - f &")
invoke = scall("bbj "+pgm(-1)+" - f &")
mode = 0; rem msgbox("Select MDI mode",7+32+256,"MDI Mode","MDI","SDI","DETACHED")
mode$ = "MDI"
switch mode
   case 0; mode$ = "MDI"; break
   case 1; mode$ = "MDI"; break 
   case 2; mode$ = "SDI"; break
   case 3; mode$ = "DETACHED"; break
swend
mdi!.setDefaultMDIMode(mode$)
rem invoke = scall("bbj "+pgm(-1)+" - x "+mode$+" &")
gosub getSize
gosub getDesktopSize
gosub getClientSize
gosub getClientLocation
mdi!.setVisible(1)
gosub getSize
gosub getDesktopSize
gosub getClientSize
gosub getClientLocation
process_events
toolbar:
  tb! = mdi!.addToolButton(mdi!.getAvailableControlID(),0,0,50,50,"1",$4000$)
  print tb!.getID()
  tb!.setCallback(tb!.ON_TOOL_BUTTON_PUSH,"tb")
  mb! = mdi!.addMenuButton(mdi!.getAvailableControlID(),0,0,50,50,"2",$4000$)
  print mb!.getID()
  mb!.setCallback(mb!.ON_BUTTON_PUSH,"mb")
  lb$ = "cascade"+$0a$+"tile"+$0a$+"vertical"+$0a$+"horizontal"+$0a$
  lb! = mdi!.addListButton(mdi!.getAvailableControlID(),0,0,100,200,lb$,$4000$)
  print lb!.getID()
  lb!.setCallback(tb!.ON_LIST_SELECT,"lb")
return
tb:
  rem event! = sysgui!.getLastEvent()
  rem tb! = event!.getControl()
  rem tb = msgbox(tb!.getText(),0,event!.getEventName())
  info! = bbjapi().getCurrentSessionInfo()
  sessionid = info!.getSessionID()
  groupid = info!.getGroupID()
  infos! = bbjapi().getSessionInfos()
  all! = new java.util.LinkedHashSet()
  group! = new java.util.LinkedHashSet()
  for i = 0 to infos!.size() - 1
    info! = infos!.get(i)
    id = info!.getSessionID()
    group = info!.getGroupID()
    all!.add(id)
    if group=groupid then group!.add(id)
  next i
  info$ = "All Processes: "+str(all!)+$0a$+"Group Processes: "+str(group!)
  title$ = "MDI Process: "+str(sessionid)+" Group ID: "+str(groupid)
  i = msgbox(info$,0,title$)
return
mb:
  event! = sysgui!.getLastEvent()
  mb! = event!.getControl()
  mb = msgbox(mb!.getText(),0,event!.getEventName())
return
lb:
  event! = sysgui!.getLastEvent()
  event$ = event!.getEventName()
  item$ = event!.getSelectedItem()
  index = event!.getSelectedIndex()
  switch index
    case 0; mdi!.cascade(); break
    case 1; mdi!.tile(); break
    case 2; mdi!.arrangeVertical(); break
    case 3; mdi!.arrangeHorizontal(); break
  swend
  lb = msgbox(item$,0,event$)
return
getSize:
  width = mdi!.getWidth()
  height = mdi!.getHeight()
  print "getSize",width,height
return
getDesktopSize:
  width = mdi!.getDesktopWidth()
  height = mdi!.getDesktopHeight()
  print "getDesktopSize",width,height
return
getClientSize:
  width = mdi!.getClientWidth()
  height = mdi!.getClientHeight()
  print "getClientSize",width,height
return
getClientLocation:
  x = mdi!.getClientX()
  y = mdi!.getClientY()
  print "getClientLocation",x,y
return
rem ' client windows
client:
if bbjapi().isInMDI() then bbjapi().getMDI().registerMDIClosingCallback("veto")
print 'hide',
sysgui = unt
open (sysgui)"X0"
sysgui! = bbjapi().getSysGui()
title$ = cvs(argv(1),8)
print 'title'(title$)
if title$="f" then w=100,h=100 else w=50,h=50
window! = sysgui!.addWindow(rnd(250),rnd(250),w,h,title$,$00090083$,$00090083$)
rem window!.setMinimumSize(75,75)
window!.setTrack(1)
window!.setBackColor(sysgui!.makeColor(rnd(255),rnd(255),rnd(255)))
print title$," getBackColor ",window!.getBackColor()
window!.setCallback(window!.ON_CLOSE,"eoj")
window!.setCallback(window!.ON_RESIZE,"resize")
window!.setCallback(window!.ON_SCREEN_RESIZE,"screen")
window!.setCallback(window!.ON_WINDOW_MOVE,"move")
button! = window!.addMenuButton(1,0,0,25,25,title$,$$)
button!.setCallback(button!.ON_BUTTON_PUSH,"size")
checkbox! = window!.addCheckBox(2,25,0,25,25,title$,$0004$)
checkbox!.setCallback(checkbox!.ON_CHECK_ON,"resizable")
checkbox!.setCallback(checkbox!.ON_CHECK_OFF,"resizable")
status! = window!.addStatusBar(99,$$)
status!.setForeColor(sysgui!.makeColor(255,255,255))
status!.setBackColor(sysgui!.makeColor(0,0,255))
status!.setText("Status Bar")
if title$="n" then
   rem ' bbjapi().getMDI().getNorthBorder().setWindow(window!)
   bbjapi().getMDI().getBorder(BBjMDIBorder.NORTH).setWindow(window!)
   print "BBjMDIBorder.NORTH",BBjMDIBorder.NORTH,": ",window!.getTitle()
endif
if title$="s" then
   rem ' bbjapi().getMDI().getSouthBorder().setWindow(window!)
   bbjapi().getMDI().getBorder(BBjMDIBorder.SOUTH).setWindow(window!)
   print "BBjMDIBorder.SOUTH",BBjMDIBorder.SOUTH,": ",window!.getTitle()
endif
if title$="w" then
   rem ' bbjapi().getMDI().getWestBorder().setWindow(window!)
   bbjapi().getMDI().getBorder(BBjMDIBorder.WEST).setWindow(window!)
   print "BBjMDIBorder.WEST",BBjMDIBorder.WEST,": ",window!.getTitle()
endif
if title$="e" then
   rem ' bbjapi().getMDI().getEastBorder().setWindow(window!)
   bbjapi().getMDI().getBorder(BBjMDIBorder.EAST).setWindow(window!)
   print "BBjMDIBorder.EAST",BBjMDIBorder.EAST,": ",window!.getTitle()
endif
message$ = "Initial window size: width="+str(window!.getWidth())+",height="+str(window!.getHeight())
window!.setToolTipText(message$)
print message$
if title$="x" then escape
process_events
veto:
  bbjapi().getMDI().approveMDIClose()
  release
closeAll:
  bbjapi().getMDI().closeAll(10)
eoj:
  release
size:
  message$ = "Window size: width="+str(window!.getWidth())+",height="+str(window!.getHeight())
  window!.setToolTipText(message$)
  print message$
return
resizable:
  window!.setResizable(checkbox!.isSelected())
return
screen:
  event! = sysgui!.getLastEvent()
  win! = event!.getControl()
  message$ = "ON_SCREEN_RESIZE: width="+str(event!.getWidth())+",height="+str(event!.getHeight())
  win!.setToolTipText(message$)
  print message$
return
resize:
  event! = sysgui!.getLastEvent()
  win! = event!.getControl()
  message$ = "ON_RESIZE: width="+str(event!.getWidth())+",height="+str(event!.getHeight())+",adjusting="+Boolean.toString(event!.isAdjusting())
  message$ = message$ + ".  Window reports width="+str(win!.getWidth())+",height="+str(win!.getHeight())
  win!.setToolTipText(message$)
  print message$
return
move:
  event! = sysgui!.getLastEvent()
  win! = event!.getControl()
  message$ = "ON_WINDOW_MOVE: x="+str(event!.getX())+",y="+str(event!.getY())
  message$ = message$ + ".  Window reports x="+str(win!.getX())+",y="+str(win!.getY())
  win!.setToolTipText(message$)
  print message$
return

See Also

BBjAPI

BBjSysGui

BBjControl

BBjWindow

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