Rivendell Font Management
Fred
Gleason
fredg@paravelsystems.com
Overview
Fonts in Rivendell are managed by the RDFontEngine
class,
which generates them based on a set of abstract "roles" from a
small group of parameters provided in the [Fonts]
section
of rd.conf5. The intent is to
provide a consistent look-and-feel throughout the various Rivendell
user modules while providing a convenient means for local customization.
Accessing Fonts
The simplest method for gaining access to Rivendell fonts is to
inherit from one of the following classes:
RDDialog
RDFrame
RDPushButton
RDWidget
Each of these classes (as well as RDFontEngine
itself)
provides the following font methods:
Button Fonts
buttonFont()
Font for use in QPushButton
widgets used for
primary navigation, such as the "OK" and
"Cancel" button found in most dialogs in
rdadmin1.
hugeButtonFont()
Font for use in QPushButton
widgets requiring
an especially large font, such as the numbered "line"
buttons in rdcartslots1.
bigButtonFont()
Font for use in QPushButton
widgets requiring
a large font, such as the "Add", "Move",
"Delete" and "Copy" buttons in
rdairplay1.
subButtonFont()
Font for use in QPushButton
widgets used for
subsidiary navigation, such as "Select" buttons
used to invoke file pickers.
Label Fonts
labelFont()
Font for use in QLabel
widgets used for
item labeling, such as the various output names in the
Configure RDAirPlay dialog in
rdadmin1.
sectionLabelFont()
Font for use in QLabel
widgets used for
identifying major sections within a particular dialog,
such as the "Channel Assignments",
"Log Settings", "Display Settings"
and "Start/Stop Settings" sections of the Configure
RDAirPlay dialog in
rdadmin1.
subLabelFont()
Font for use in QLabel
widgets used for
sub-item labeling, such as the "Card" and
"Port" fields in the Configure RDAirPlay dialog in
rdadmin1.
Miscellaneous Fonts
progressFont()
Font for use in QProgressBar
widgets used for
showing progress on long-running operations, such as posting
a podcast in
rdcastmanager1.
bannerFont()
Font for use where a large display font is needed, such
as the "L" and "R" channel markers on
the waveform display in the Edit Audio dialog in
rdlibrary1.
timerFont()
Font for use in timer displays, such as the one in the
Cut Info/Record dialog in
rdlibrary1.
smallTimerFont()
Font for use in small timer displays, such as the one on
SoundPanel buttons in
rdairplay1.
The Default Font
The defaultFont()
method returns a font that can
also be obtained by calling the font()
method of
RDDialog
, RDFrame
, RDPushButton
and RDWidget
classes. As implied by its name, this font
will also be assigned by default to any child widgets of those classes.
This font should be used for all data element classes
(QLineEdit
, QComboBox
, QTextEdit
,
etc.)
Examples
RDAirPlay
Examples of bigButtonFont()
,
smallTimerFont()
and timerFont()
RDCartSlots
Example of hugeButtonFont()
RDAdmin - Configure RDAirPlay
Examples of buttonFont()
,
subButtonFont()
,
labelFontFont()
,
sectionLabelFont()
and
subLabelFont()
RDLibrary - Edit Audio
Example of bannerFont()
RDCastManager - Uploading Audio
Example of progressFont()