BBjFontChooser::getFontFamilies

Description

In BBj 22.10 and higher, this method returns the list of available font families in the BBjFontChooser as a BBjVector of strings.

Syntax

Return Value

Method

BBjVector

getFontFamilies()

Parameters

None.

Return Value

Returns the list of available font families in the BBjFontChooser as a BBjVector of strings.

Remarks

None.

Example

Copy
BBjFontChooser::getFontFamilies Examples
rem ' BBjFontChooser::getFontFamilies
sysgui = unt
open (sysgui)"X0"
sysgui! = bbjapi().getSysGui()
width = 500, height = 400
title$ = "BBjFontChooser"
window! = sysgui!.addWindow(25,25,width+50,height+100,title$,$00090083$)
window!.setCallback(window!.ON_CLOSE,"eoj")
window!.setCallback(window!.ON_RESIZE,"resize")
fontchooser! = window!.addFontChooser(101,25,25,width,height)
fontchooser!.setCallback(fontchooser!.ON_FONTCHOOSER_CHANGE,"change")
fontchooser!.setCallback(fontchooser!.ON_FONTCHOOSER_APPROVE,"approve")
fontchooser!.setCallback(fontchooser!.ON_FONTCHOOSER_CANCEL,"cancel")
rem fontchooser!.setCallback(fontchooser!.ON_GAINED_FOCUS,"event")
rem fontchooser!.setCallback(fontchooser!.ON_LOST_FOCUS,"event")
rem fontchooser!.setCallback(fontchooser!.ON_MOUSE_ENTER,"event")
rem fontchooser!.setCallback(fontchooser!.ON_MOUSE_EXIT,"event")
button! = window!.addButton(1,width+25-120,height+50,120,25,"Random",$$)
button!.setCallback(button!.ON_BUTTON_PUSH,"random")
status! = window!.addStatusBar(99)
families! = fontchooser!.getFontFamilies()
i = msgbox(str(families!),0,"getFontFamilies")
sizes! = fontchooser!.getFontSizes()
i = msgbox(str(sizes!),0,"getFontSizes")
families! = new BBjVector()
restore families
while 1
  dread family$,err=*break
  if family$ = "" then break
  families!.add(family$)
wend
i = msgbox(str(families!),0,"setFontFamilies")
fontchooser!.setFontFamilies(families!)
sizes! = new BBjVector()
restore sizes
while 1
  dread size,err=*break
  if size = 0 then break
  sizes!.add(size)
wend
i = msgbox(str(sizes!),0,"setFontSizes")
fontchooser!.setFontSizes(sizes!)
gosub random
rem families! = fontchooser!.getFontFamilies()
rem i = msgbox(str(families!),0,"getFontFamilies")
rem sizes! = fontchooser!.getFontSizes()
rem i = msgbox(str(sizes!),0,"getFontSizes")
process_events
families:
data "Arial", "Brush Script MT", "Courier New", "Garamond", "Georgia"
data "Tahoma", "Times New Roman", "Trebuchet MS", "Verdana", ""
sizes:
data 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 0
eoj:
  release
status:
  status!.setText(status$)
  print status$
return
resize:
  event! = sysgui!.getLastEvent()
  fontchooser!.setSize(event!.getWidth()-50,event!.getHeight()-80)
  button!.setLocation(event!.getWidth()-120-25,event!.getHeight()-30)
  status$ = event!.getEventName()+" width="+str(event!.getWidth())+",height="+str(event!.getHeight())
  gosub status
return
random:
  family$ = families!.get(rnd(families!.size()))
  size = sizes!.get(rnd(sizes!.size()))
  style = rnd(4)
  font! = sysgui!.makeFont(family$,size,style)
  status$ = "setSelectedFont "+str(font!)
  gosub status
  fontchooser!.setSelectedFont(font!)
return
change:
  event! = sysgui!.getLastEvent()
  event$ = event!.getEventName()
  status$ = event$+": "+str(event!.getFont())
  gosub status
return
approve:
  event! = sysgui!.getLastEvent()
  event$ = event!.getEventName()
  status$ = event$+": "+str(event!.getFont())
  gosub status
return
cancel:
  event! = sysgui!.getLastEvent()
  event$ = event!.getEventName()
  status$ = event$
  gosub status
return
event:
  event! = sysgui!.getLastEvent()
  event$ = event!.getEventName()
  status$ = event$
  gosub status
return

See Also

BBjAPI

BBjSysGui

BBjWindow

BBjFontChooser

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