diff --git a/CODINGSTYLE b/CODINGSTYLE index 4a200e2b..63bd85f7 100644 --- a/CODINGSTYLE +++ b/CODINGSTYLE @@ -240,6 +240,13 @@ Changes that alter the schema of the database must include: 'ChangeLog' entry, including the new value of 'RD_VERSION_DATABASE'. +FONT MANGEMENT: +All fonts used in Rivendell are managed by the RDFontEngine class, which +provides them on the basis of abstract "roles" so as to provide consistency +across the entire set of modules. See the file 'docs/apis/fonts.pdf' for +a detailed description of this sub-system, including screenshot examples. + + WRITING TO THE SYSLOG: Rivendell makes extensive use of the syslog(3) system found on all POSIX-compliant systems. Sending messages to the syslog should almost diff --git a/ChangeLog b/ChangeLog index 310bd1d7..c709d7ae 100644 --- a/ChangeLog +++ b/ChangeLog @@ -19199,3 +19199,6 @@ * Renamed the 'RDFontSet' class to 'RDFontEngine'. * Modified the font calculation algorithm in 'RDFontEngine::MakeFonts()' to use fixed defaults. +2019-10-08 Fred Gleason + * Documented the font management system in 'docs/apis/fonts.xml' + (built as 'docs/apis/fonts.pdf'. diff --git a/docs/apis/Makefile.am b/docs/apis/Makefile.am index 32b92a22..66039837 100644 --- a/docs/apis/Makefile.am +++ b/docs/apis/Makefile.am @@ -35,6 +35,13 @@ all-local: cae.html\ cae.pdf\ catchd.html\ catchd.pdf\ + fonts.html\ + fonts.pdf\ + fonts.rdadmin.configure_rdairplay_screenshot.png\ + fonts.rdairplay_screenshot.png\ + fonts.rdcartslots_screenshot.png\ + fonts.rdcastmanager.uploading_audio_screenshot.png\ + fonts.rdlibrary.edit_audio_screenshot.png\ notification.html\ notification.pdf\ ripc.html\ @@ -48,6 +55,19 @@ EXTRA_DIST = cae.html\ catchd.html\ catchd.pdf\ catchd.xml\ + fonts.html\ + fonts.pdf\ + fonts.xml\ + fonts.rdadmin.configure_rdairplay_screenshot.png\ + fonts.rdadmin.configure_rdairplay_screenshot.xcf\ + fonts.rdairplay_screenshot.png\ + fonts.rdairplay_screenshot.xcf\ + fonts.rdcartslots_screenshot.png\ + fonts.rdcartslots_screenshot.xcf\ + fonts.rdcastmanager.uploading_audio_screenshot.png\ + fonts.rdcastmanager.uploading_audio_screenshot.xcf\ + fonts.rdlibrary.edit_audio_screenshot.png\ + fonts.rdlibrary.edit_audio_screenshot.xcf\ notification.html\ notification.pdf\ notification.xml\ diff --git a/docs/apis/fonts.rdadmin.configure_rdairplay_screenshot.png b/docs/apis/fonts.rdadmin.configure_rdairplay_screenshot.png new file mode 100644 index 00000000..14f16912 Binary files /dev/null and b/docs/apis/fonts.rdadmin.configure_rdairplay_screenshot.png differ diff --git a/docs/apis/fonts.rdadmin.configure_rdairplay_screenshot.xcf b/docs/apis/fonts.rdadmin.configure_rdairplay_screenshot.xcf new file mode 100644 index 00000000..2fdbf2c2 Binary files /dev/null and b/docs/apis/fonts.rdadmin.configure_rdairplay_screenshot.xcf differ diff --git a/docs/apis/fonts.rdairplay_screenshot.png b/docs/apis/fonts.rdairplay_screenshot.png new file mode 100644 index 00000000..415c5590 Binary files /dev/null and b/docs/apis/fonts.rdairplay_screenshot.png differ diff --git a/docs/apis/fonts.rdairplay_screenshot.xcf b/docs/apis/fonts.rdairplay_screenshot.xcf new file mode 100644 index 00000000..8b0d6343 Binary files /dev/null and b/docs/apis/fonts.rdairplay_screenshot.xcf differ diff --git a/docs/apis/fonts.rdcartslots_screenshot.png b/docs/apis/fonts.rdcartslots_screenshot.png new file mode 100644 index 00000000..5b2040a8 Binary files /dev/null and b/docs/apis/fonts.rdcartslots_screenshot.png differ diff --git a/docs/apis/fonts.rdcartslots_screenshot.xcf b/docs/apis/fonts.rdcartslots_screenshot.xcf new file mode 100644 index 00000000..eb09a583 Binary files /dev/null and b/docs/apis/fonts.rdcartslots_screenshot.xcf differ diff --git a/docs/apis/fonts.rdcastmanager.uploading_audio_screenshot.png b/docs/apis/fonts.rdcastmanager.uploading_audio_screenshot.png new file mode 100644 index 00000000..9d30415f Binary files /dev/null and b/docs/apis/fonts.rdcastmanager.uploading_audio_screenshot.png differ diff --git a/docs/apis/fonts.rdcastmanager.uploading_audio_screenshot.xcf b/docs/apis/fonts.rdcastmanager.uploading_audio_screenshot.xcf new file mode 100644 index 00000000..8365967a Binary files /dev/null and b/docs/apis/fonts.rdcastmanager.uploading_audio_screenshot.xcf differ diff --git a/docs/apis/fonts.rdlibrary.edit_audio_screenshot.png b/docs/apis/fonts.rdlibrary.edit_audio_screenshot.png new file mode 100644 index 00000000..855a97be Binary files /dev/null and b/docs/apis/fonts.rdlibrary.edit_audio_screenshot.png differ diff --git a/docs/apis/fonts.rdlibrary.edit_audio_screenshot.xcf b/docs/apis/fonts.rdlibrary.edit_audio_screenshot.xcf new file mode 100644 index 00000000..c97905ef Binary files /dev/null and b/docs/apis/fonts.rdlibrary.edit_audio_screenshot.xcf differ diff --git a/docs/apis/fonts.xml b/docs/apis/fonts.xml new file mode 100644 index 00000000..6aa9ebcb --- /dev/null +++ b/docs/apis/fonts.xml @@ -0,0 +1,279 @@ + +
+ + 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() + + + + + + + +