BBjFontChooser::setFontFamilies

Description

In BBj 22.10 and higher, this method sets the list of available font family names in the BBjFontChooser.

Syntax

Return Value

Method

void

setFontFamiles(BBjVector families)

Parameters

Variable

Description

families

A BBjVector containing a list of font family names (strings).

Return Value

None.

Remarks

None.

Example

Copy

BBjFontChooser::setFontFamilies Example

rem ' BBjFontChooser::setFontFamilies
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

BBjFont

BBjFontChooser

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