Phoenix

A GURPS Character Assistant v4 (GCA4) character print sheet.

Version: 1.37, requires GCA version 4.0.371 or greater.

See: http://www.motoslave.net/thom/gca/phoenix/

Summary
PhoenixA GURPS Character Assistant v4 (GCA4) character print sheet.
NotesEdit this file ONLY as a last resort! 
Constants: General
Trait Type
Spacing
Character
Color
Font Style
Pen Style (from VSPrinter)
Brush Style (from VSPrinter)
Text Align (from VSPrinter)
Constants: ListAll list constant flags MUST match the order of their associated lists.
Block Printing Control List
Trait Folding Control List
Additional Statistics List
Wound/Usage Recording Checkboxes List
Ancillary Statistics Block List
Lifting Feats List
Slam Table List
Encumbrance Table List
Descriptive Tags List
Attack Source Hiding List
Footnote Control List
Trait Hiding List
Separator List
Sub-Separator List
Constants: Attack Tables
Attack Notes
Globals
Page/Column
Fonts
Attack Tables
Miscellaneous
Quick View
Functions: Main
CharacterSheetOptionsSheet options handler; called by GCA and so must exist.
SheetOptions_VersionCheckSheet options version checker and upgrader.
MainMain event handler; called by GCA and so must exist.
Functions: Page One Header
Static_PageOneHeaderPrint the page one header.
Functions: Primary Statistics
Static_PrimaryStatsPrint the primary statistic block.
PrimaryStats_RenderItemRender a statistic item.
Functions: Wound/Usage Recording
Block_WoundUsagePrint the wound/usage recording block.
WoundUsage_RenderRecordBlanksRender the hit and fatigue points record blanks.
WoundUsage_RenderHPCheckboxesRender the hit points checkboxes.
WoundUsage_RenderHPBreakpointsChartRender the hit points breakpoints chart.
WoundUsage_RenderFPCheckboxesRender the fatigue points checkboxes.
WoundUsage_RenderFPBreakpointsChartRender the fatigue points breakpoints chart.
WoundUsage_RenderSPCheckboxesRender the stress points checkboxes.
WoundUsage_RenderSPBreakpointsChartRender the stress points breakpoints chart.
WoundUsage_RenderERCheckboxesRender the energy reserve checkboxes.
WoundUsage_RenderPICheckboxesRender the power item checkboxes.
Functions: Ancillary Statistic Blocks
Block_AncillaryBlocksPrint the ancillary statistics blocks.
AncillaryBlocks_RenderTelekinesisRender the telekinesis ancillary block.
AncillaryBlocks_RenderUManaRender the “threshold limited magic”/”unlimited mana” ancillary block.
AncillaryBlocks_RenderMageRender the Mage: The Ascension ancillary block.
Functions: Lifting Feats
Block_LiftingFeatsPrint the lifting feats block.
Functions: Slam Table
Block_SlamTablePrint the slam table block.
Functions: Encumbrance Table
Block_EncumbranceTablePrint the encumbrance table block.
Functions: Defenses
Block_DefensesPrint the defenses block (active & passive).
Defenses_DamageResistancesRender the expanded damage resistances table sub-block.
Defenses_PaperDollRender the paper-doll sub-block.
Functions: Reaction Modifiers
Block_ReactionModifiersPrint the reaction modifiers block.
Functions: Cultural Familiarities
Block_CulturalListPrint the cultural familiarity block.
CulturalList_RenderItemRender the passed cultural familiarity trait object.
CulturalList_IsPrintableTest if the passed trait object is a cultural familiarity and should be printed.
CulturalList_IsNativeTest if the passed trait object is a native cultural familiarity.
Functions: Languages
Block_LanguageListPrint the language block.
LanguageList_RenderItemRender the passed language trait object.
LanguageList_IsPrintableTest if the passed trait object is a language and should be printed.
LanguageList_IsNativeTest if the passed trait object is a native language.
Functions: Advantage-Type Blocks
Block_AdListPrint the templates and meta-traits, ads, perks, disads, and quirks blocks.
AdList_RenderItemRender the passed advantage-type trait object.
AdList_IsPrintableTest if the passed trait object is an advantage-type trait and should be printed.
Functions: Skill-Type Blocks
Block_SkillListPrint the skills, techniques, ritual magic paths, and spells blocks.
SkillList_RenderItemRender the passed skill-type trait object.
SkillList_IsPrintableTest if the passed trait object is an skill-type trait and should be printed.
Functions: Combat Charts
Block_SizeSpeedRangeTablePrint the size and speed/range table block.
Block_HumanoidHitLocationTablePrint the humanoid hit location table block.
Functions: Attacks Tables
CreateAttackListsCreate the melee & ranged attack lists.
Block_MeleeAttackListPrint the melee attack table block.
MeleeAttackList_RenderItemRender the passed melee attack mode trait object.
MeleeAttackList_IsPrintableTest if the passed trait object contains melee attack modes and should be printed.
Block_RangedAttackListPrint the ranged attack table block.
RangedAttackList_RenderItemRender the passed ranged attack mode trait object.
RangedAttackList_IsPrintableTest if the passed trait object contains ranged attack modes and should be printed.
AttackList_RenderFieldNotesChartRender the attack field notes chart.
Functions: Spell Grimoire
Block_GrimoireListPrint the spell grimoire block.
GrimoireList_RenderItemRender the passed spell trait object.
GrimoireList_IsPrintableTest if the passed trait object is a spell and should be printed.
GrimoireList_FilterCatsFilter non-colleges from the passed spell category string.
Functions: Equipment/Load-Out
Block_EquipmentListPrint the equipment block.
Block_LoadOutListPrint the load-out block.
EquipmentList_RenderItemRender the passed equipment item trait object.
EquipmentList_IsPrintableTest if the passed trait object is an equipment item and should be printed.
Functions: Campaign Log
Block_CampaignLogPrint the campaign log block.
CampaignLog_RenderEntryRender the passed campaign log entry object.
Functions: Points Summary
Block_PointSummaryPrint the points summary block.
Functions: Portrait, Description, & Notes
Block_PortraitPrint the character portrait block.
Block_DescriptionPrint the character description block.
Block_NotesPrint the character notes block.
Static_PortraitDescAndNotesPrint the character portrait, description, and notes at the end of the sheet.
DescOrNotesOverflowsColumnTest if the character description and/or notes exceed one column in length.
DescOverflowsColumnTest if the character description exceeds one column in length.
NotesOverflowsColumnTest if the character notes exceed one column in length.
Functions: Scratch Pad
Block_ScratchPadPrint the scratch pad block.
Functions: Utility - Footnotes
ResetFootnotesReset/clear the current footnotes.
RenderFootnotesRender the current footnotes.
CalcFootnotesHeightCalculate the minimum height of the current footnotes based on printing within 1-3 sub-columns.
SetFootnoteSet the passed text as a footnote and return its symbol.
GetFootnoteRegister an aggregate of all bonus and conditional footnotes for the passed trait object and block flag as a footnote and return the symbol.
GetFootnoteTextAggregate and return all bonus and conditional footnotes for the passed trait object and block flag.
Functions: Utility - Trait & Tag
FetchTraitByNameAndExtFetch a trait item object reference to the passed trait fullname and type.
FetchTraitByNameOnlyFetch a trait item object reference to the passed trait name and type.
FetchTraitBySymbolFetch a trait item object reference to the passed trait symbol and type.
GetTraitTagValueGet the value of the passed tag name from the passed trait fullname and type.
GetRelativeTraitGet the relative-trait-score string from the passed relative-trait string and score.
Functions: Utility - Sheet Initialization
PageSetupInitialize the page settings.
FontSetupInitialize the font settings.
DrawSetupInitialize the drawing settings (pen & brush values).
Functions: Utility - Page & Column Positioning
NotEnoughSpaceTest to see if the passed height will not fit within the space available to the current column.
SetColumnUsageSet column usage; one column or both together (whole page).
SwitchToColumnSet the currently active column.
ToggleColumnToggle the active column.
UpdateColumnTopsUpdate the top of the currently active column.
SetColumnTopSet the top Y-coordinate of the currently active column.
SetColumnBottomSet the bottom Y-coordinate of the currently active column.
AdvanceToNextColumnAdvance to the next column, starting a new page if necessary.
StartNewPageStart a new page.
Functions: Utility - Header & Footer Settings
SetHeaderFontInitialize the header and footer font settings.
SetHeaderSet the page/sheet header.
SetFooterSet the page/sheet footer.
Functions: Utility - Fonts
SetFontSet the font settings (name, size, color, bold, italic, underline).
CalcFontSizeCalculate largest font size that will allow the passed text to fit within the passed dimensions.
Functions: Utility - Text Height & Width Calculation
RealTextHeightCalculate the height of the passed text based on the passed width and current font settings.
CalcHeightExCalculate the height of the passed text based on the passed font settings and passed width.
CalcHeightCalculate the height of the passed text based on the passed font settings and passed width.
CalcWidthExCalculate the width of the passed text based on the passed font settings.
CalcWidthCalculate the width of the passed text based on the passed font settings.
Functions: Utility - Tests
IsSkippedTest if the passed trait object MUST be skipped.
IsHiddenTest if the passed trait object should be hidden.
IsLockedTest if the passed trait object is locked.
StatExistsTest if the passed statistc exists.
StatNotEmptyTest if the passed statistc exists and has a non-zero value.
OptionFlagSetTest if the passed bit-flags are set within the bit-field contained within the passed option name.
IsFlagSetTest if the passed bit-flags are set within the passed bit-field.
IsNATest if the passed value should be considered a “not applicable/available” value.
Functions: Utility - Math
RoundGreaterRound the passed number to the next integer of greater magnitude.
RoundLesserRound the passed number to the next integer of lesser magnitude.
CeilRound the passed number to the next larger integer.
FloorRound the passed number to the next smaller integer.
NumToSciConvert the passed number to a normalized scientific “e” notation string.
SciToNumConvert the passed scientific “e” notation string to a number.
MaxDetermine which of the passed numbers is the largest.
MinDetermine which of the passed numbers is the smallest.
AvgCalculate the average (arithmetic mean) of the passed numbers.
MaxListDetermine which of the numbers within the passed array is the largest.
MinListDetermine which of the numbers within the passed array is the smallest.
AvgListCalculate the average (arithmetic mean) of the numbers within the passed array.
Functions: Utility - Math, GURPS
RoundGURPSThreshOverRound the passed number to the GURPS “over” threshold.
RoundGURPSThreshUnderRound the passed number to the GURPS “under” threshold.
Functions: Utility - Type Conversion
StrToDblConvert the passed simple numeric string, from virtually any locale, to a double.
StrToLngConvert the passed simple numeric string, from virtually any locale, to a long.
Functions: Utility - Dice
DiceAccumulatorAccumulate the dice within the passed array.
Functions: Utility - Text Manipulation
ChompTrim line termination from the end of the passed string.
UCFirstUppercase the first character of the passed string.
UCWordsUppercase the first character of every word in the passed string.
Functions: Utility - Measurement Manipulation
GetEquipMassConvert an equipment mass measurement to the appropriate scaled unit-type.
GetEquipMassUnitConvert an equipment mass measurement to the appropriate scaled unit.
GetScaledUnitConvert a measurement to the appropriate scaled unit.
GetScaledMassUnitConvert a mass measurement, from an assumed unit-type, to the appropriate scaled unit.
GetScaledLengthUnitConvert a distance/length measurement, from an assumed or integral unit-type, to the appropriate scaled unit.
AbbreviateLengthUnitConvert a distance/length unit to its normalized abbreviated form.
Functions: Utility - RTF Creation
IsTextRTFTest if the passed string could be an RTF document or fragment.
CreateRtfDocCreates and returns an RTF document from the passed font name list, color list, and RTF fragment.
CreateRtfFontTblCreates and returns an RTF font table from the passed font name list.
CreateRtfColorTblCreates and returns an RTF color table from the passed color list.
GetRtfFontGet an RTF font setting command for the passed font.
Functions: Utility - Printing
TextBoxExPrint the passed text, making necessary adjustments if it is RTF.
Functions: Utility - Drawing
DrawImageRender an image centered within the passed area, scaled if necessary.
DrawRectangleExRender a rectangle at the passed coordinates.
DrawShadeRender a shaded rectangle at the passed coordinates.
DrawBorderRender a bounding rectangle at the passed coordinates.
DrawLineExRender a line at the passed coordinates.
DrawHRuleExRender a horizontal rule/line at the passed coordinates.
DrawHRuleRender a horizontal rule/line at the passed coordinates, with a solid pen.
DrawVRuleExRender a vertical rule/line at the passed coordinates.
DrawVRuleRender a vertical rule/line at the passed coordinates, with a solid pen.
Functions: Utility - Color Manipulation
MixColorsMix two colors.
Functions: Utility - Logging & Messaging
LogMesgWrite a branded message to the log, except when in Quick View mode.
LogWarnWrite a branded warning message to the log.
LogFailWrite a branded failure/error message to the log.
PopFailPop-up a branded failure/error message dialog box.
PopYesNoPop-up a branded yes/no query dialog box.
Functions: Utility - Quick View
Quick View Field Type Constants
QV_AddTraitSelectButtonsAdd the trait selection window buttons to the left margin of the current page.
QV_EditBarAdd an edit bar.
QV_TextBoxAdd a text box.
QV_TextBoxAdd a multi-line text box.
QV_TextBoxAdd a trait selection window button.
QV_AddEditControlInTwipsAdd an (interactive) editing control, specifying the coordinates and width in twips.
QV_DrawEditHotspotInTwipsDraw a shade rectangle, specifying the coordinates and width in twips.
Classes
VectorA fast, easy-to-use, dynamic array class
Pseudo-Constants
c_VersionClass version string.
c_BaseAllocSizeDefault base allocation size.
Private Properties
pArrayVector array.
pCountElement count.
pCapacityTotal number of available elements.
pBaseAllocBase allocation size.
Private Methods
Class_InitializePrepares the object for use.
Class_TerminatePrepares the object for destruction.
pQSortSorts elements within a range.
pQSortCmpAscAscending comparator for pQSort.
pQSortCmpDescDescending comparator for pQSort.
Public Properties
Reserve (Accessor)Get the base allocation size.
Reserve (Mutator)Set the base allocation size.
Capacity (Accessor)Get the current number of elements that the vector can hold without needing to allocate more storage.
Empty (Accessor)Test if the vector is empty.
Count (Accessor)Get the count of all elements.
LBound (Accessor)Get the index of the first element.
UBound (Accessor)Get the index of the last element.
AsArray (Accessor)Get an array containing the values of all elements.
Item (Accessor)Get the value of the element at the passed index.
Item (Mutator)Assign the passed value to the element at the passed index.
First (Accessor)Get the value of the first element.
First (Mutator)Assign the passed value to the first element.
Last (Accessor)Get the value of the last element.
Last (Mutator)Assign the passed value to the last element.
Insert (Mutator)Insert the passed value as a new element at the passed index.
Prepend (Mutator)Add a new element to the beginning of the vector and assign it the passed value.
Append (Mutator)Add a new element to the end of the vector and assign it the passed value.
Push (Mutator)Add a new element to the end of the vector and assign it the passed value.
Pop (Mutator)Delete the last element and return its value.
Enqueue (Mutator)Add a new element to the end of the vector and assign it the passed value.
Dequeue (Mutator)Delete the first element and return its value.
Public Methods
JoinReturn a string containing the values of all elements joined by the passed delimiter.
FindSearch for the passed value among the elements.
ContainsTest for the presence of the passed value among the elements.
SortSorts all elements in ascending order.
SortRevSorts all elements in descending order.
ClearDeletes all elements and resets the vector to the current base allocation size.
DeleteDelete the element at the passed index and return its value.
CheckboxA checkbox rendering class
Pseudo-Constants
c_VersionClass version string.
Private Properties
pBreakPointsBreakpoints vector.
pShowValuesShow values state.
pBaseBorderColorBase border color.
pBaseFontBase font for values.
pBaseFontColorBase font color for values.
pBaseFontSizeBase font size for values.
pMaxFontSizeMaximum font size for values.
pMinFontSizeMinimum font size for values.
pStartValueStarting value.
pStopValueStopping value.
pGroupCountNumber of groups.
pGroupSizeNumber of checkboxes per group.
pBoxSpaceHorizontal space between boxes, within a group (inches).
pColumnSpaceHorizontal (column) space between groups (inches).
pRowSpaceVertical (row) space between groups (inches).
pLeftLeft X-coordinate (inches).
pTopTop Y-coordinate (inches).
pWidthWidth (inches).
Private Properties (internal use)
pTotalHeightCalculated height.
pGroupWidthWidth of a group of boxes (inches).
pBoxWidthWidth of each box (inches).
Private Methods
Class_InitializePrepares the object for use.
Class_TerminatePrepares the object for destruction.
Public Properties
Left (Accessor)Get the left X-coordinate.
Left (Mutator)Set the left X-coordinate.
Top (Accessor)Get the top Y-coordinate.
Top (Mutator)Set the top Y-coordinate.
Width (Accessor)Get the width dimension.
Width (Mutator)Set the width dimension.
ShowValues (Accessor)Get the show values state.
ShowValues (Mutator)Set the show values state.
BaseBorderColor (Accessor)Get the base border color.
BaseBorderColor (Mutator)Set the base border color.
BaseFont (Accessor)Get the base font for checkbox values.
BaseFont (Mutator)Set the base font for checkbox values.
BaseFontColor (Accessor)Get the base font color for checkbox values.
BaseFontColor (Mutator)Set the base font color for checkbox values.
BaseFontSize (Accessor)Get the base font size for checkbox values.
BaseFontSize (Mutator)Set the base font size for checkbox values.
MaxFontSize (Accessor)Get the maximum font size for checkbox values.
MaxFontSize (Mutator)Set the maximum font size for checkbox values.
MinFontSize (Accessor)Get the minimum font size for checkbox values.
MinFontSize (Mutator)Set the minimum font size for checkbox values.
StartValue (Accessor)Get the beginning value.
StartValue (Mutator)Set the beginning value.
StopValue (Accessor)Get the ending value.
StopValue (Mutator)Set the ending value.
GroupCount (Accessor)Get the checkbox group count.
GroupCount (Mutator)Set the checkbox group count.
GroupSize (Accessor)Get the checkbox group size.
GroupSize (Mutator)Set the checkbox group size.
BoxSpace (Accessor)Get the checkbox spacer size.
BoxSpace (Mutator)Set the checkbox spacer size.
ColumnSpace (Accessor)Get the checkbox group horizontal (column) spacer size.
ColumnSpace (Mutator)Set the checkbox group horizontal (column) spacer size.
RowSpace (Accessor)Get the checkbox group vertical (row) spacer size.
RowSpace (Mutator)Set the checkbox group vertical (row) spacer size.
Public Methods
ClearDeletes all breakpoints and reinitializes the object to default settings.
AddBreakpointExAdd a breakpoint.
AddBreakpointAdd a breakpoint.
ClearBreakpointsDeletes all breakpoints.
CalcHeightCalculate the height required to render the checkboxes based on the current settings.
RenderCheckboxesRenders the checkboxes.

Notes

Edit this file ONLY as a last resort!  If you want to change how this character sheet operates, try using the Character Sheet Options window within GCA (under the Tools menu).  This sheet has many options available that you can use to customize its behavior.

Constants: General

Trait Type

gcaStat[GCA4] Statistics.
gcaAd[GCA4] Advantages (incl: Languages and Cultural Familiarities).
gcaDisad[GCA4] Disadvantages.
gcaQuirk[GCA4] Quirks.
gcaPerk[GCA4] Perks.
gcaSkill[GCA4] Skills (incl: Techniques and Ritual Magic Paths).
gcaSpell[GCA4] Spells.
gcaEquip[GCA4] Equipment.
gcaTemplate[GCA4] Templates & Meta-Traits.
gcaSkillTech[Phoenix] Techniques.
gcaSkillPath[Phoenix] Ritual Magic Paths.
gcaEquipLoad[Phoenix] Load-Outs.

Spacing

spaceTwipA PostScript twip (“twentieth of an inch point”) (1/1440 in).
spaceRtfAdjRTF text adjustment space (1/112 in).
spaceSymbolFootnote symbol space (1/96 in).
spaceMinMinimum gutter space, used everywhere (1/16 in).
spaceIndentChild indention space (1/8 in).
spaceCostCost/points fields space, sometimes score (3/8 in).

Character

chrNbspNo-break space (U+00A0).
chrLaquoLeft-pointing double angle quotation mark (U+00AB).
chrRaquoRight-pointing double angle quotation mark (U+00BB).
chrPlusmnPlus-Minus sign (U+00B1).
chrTimesMultiplication sign (U+00D7).
chrNdashEn dash (U+2013).
chrMdashEm dash (U+2014).

Color

colorBlueX11 blue
colorDarkOrchidX11 DarkOrchid
colorGainsboroX11 gainsboro
colorLavenderX11 lavender
colorLemonChiffonX11 LemonChiffon
colorMoccasinX11 moccasin
colorRedX11 red
colorYellowX11 yellow
colorWhiteX11 white
colorLightGreyX11 LightGrey
colorGreyX11 grey
colorDarkGreyX11 DarkGrey
colorDimGreyX11 DimGrey
colorBlackX11 black
colorGrey95X11 grey95
colorGrey91X11 grey91
colorGrey86X11 grey86
colorGrey81X11 grey81
colorGrey50X11 grey50
colorShadeCyanvb:bgr:hex(&HFFF0DF&) | bgr(255,240,223) | rgb(223,240,255)
colorShadeGreenvb:bgr:hex(&HCCFFCC&) | bgr(204,255,204) | rgb(204,255,204)
colorShadePurplevb:bgr:hex(&HFBEFF7&) | bgr(251,239,247) | rgb(247,239,251)
colorShadeRedvb:bgr:hex(&HCCCCFF&) | bgr(204,204,255) | rgb(255,204,204)

Font Style

fsForm[Exclusive] Form text, medium/standard.
fsFormSM[Exclusive] Form text, small.
fsFormLG[Exclusive] Form text, large.
fsFormXL[Exclusive] Form text, extra-large.
fsChar[Exclusive] Character text, medium/standard.
fsCharSM[Exclusive] Character text, small.
fsCharLG[Exclusive] Character text, large.
fsCharXL[Exclusive] Character text, extra-large.
fsBold[Inclusive] Bold text.
fsItalic[Inclusive] Italic text.
fsUnderline[Inclusive] Underlined text.

Pen Style (from VSPrinter)

psSolidSolid pen (default).
psDashDashed pen.
psDotDotted pen.
psDashDotDash-dot pen.
psDashDotDotDash-dot-dot pen.
psTransparentTransparent pen (no lines).
psInsideSolidSolid pen, drawn inside shapes.

Brush Style (from VSPrinter)

bsSolidSolid brush (default).
bsTransparentTransparent brush (no fill); use to draw empty objects.
bsHorzLineHorizontal lines.
bsVertLineVertical lines.
bsDiagonalUpDiagonal lines, pointing up.
bsDiagonalDownDiagonal lines, pointing down.
bsCrossCrossed horizontal and vertical lines.
bsDiagonalCrossCrossed diagonal lines.

Text Align (from VSPrinter)

taDefaultIdentical to taLeftTop; align to the left and to the top.
taLeftTopAlign to the left and to the top.
taCenterTopAlign to the center and to the top.
taRightTopAlign to the right and to the top.
taLeftBottomAlign to the left and to the bottom.
taCenterBottomAlign to the center and to the bottom.
taRightBottomAlign to the right and to the bottom.
taLeftMiddleAlign to the left and to the middle.
taCenterMiddleAlign to the center and to the middle.
taRightMiddleAlign to the right and to the middle.
taJustTopJustify and align to the top.
taJustBottomJustify and align to the bottom.
taJustMiddleJustify and align to the middle.

Constants: List

All list constant flags MUST match the order of their associated lists.

Block Printing Control List

listBlockList of blocks which offer printing control.
flagBlockWoundUsageWound/Usage Recording block flag.
flagBlockAncillaryAncillary Statistics block flag.
flagBlockLiftingLifting Feats block flag.
flagBlockSlamSlam Table block flag.
flagBlockEncumbranceEncumbrance Table block flag.
flagBlockDefenseDefenses block flag.
flagBlockReactionReaction Modifiers block flag.
flagBlockCulturalCultural Familiarities block flag.
flagBlockLanguageLanguages block flag.
flagBlockTemplateTemplates & Meta-Traits block flag.
flagBlockAdAdvantages block flag.
flagBlockPerkPerks block flag.
flagBlockDisadDisadvantages block flag.
flagBlockQuirkQuirks block flag.
flagBlockSkillSkills block flag.
flagBlockTechTechniques block flag.
flagBlockPathRitual Magic Paths block flag.
flagBlockSpellSpells block flag.
flagBlockSummaryPoint Summary block flag.
flagBlockPortraitPortrait block flag.
flagBlockDescDescription block flag.
flagBlockNotesNotes block flag.
flagBlockScratchScratch Pad block flag.
flagBlockSSRSize and Speed/Range Table block flag.
flagBlockHHLHumanoid Hit Location Table block flag.
flagBlockMeleeMelee Attacks block flag.
flagBlockRangedRanged Attacks block flag.
flagBlockGrimoireSpell Grimoire block flag.
flagBlockEquipEquipment block flag.
flagBlockLoadoutLoad-Out block flag.
flagBlockLogCampaign Log block flag.

Trait Folding Control List

listFoldList of traits which should be folded into other blocks, if their block is disabled.
flagFoldCulturalCultural Familiarities folding flag.
flagFoldLanguageLanguages folding flag.
flagFoldTechTechniques folding flag.
flagFoldPathRitual Magic Paths folding flag.

Additional Statistics List

listAddStatList of statistics to display in the Additional Statistics block.
flagAddStatVisionVision statistic flag.
flagAddStatHearingHearing statistic flag.
flagAddStatTouchTouch statistic flag.
flagAddStatTasteTaste/Smell statistic flag.
flagAddStatFrightFright Check statistic flag.
flagAddStatConsciousConsciousness Check statistic flag.
flagAddStatDeathDeath Check statistic flag.
flagAddStatBroadJumpBroad Jump statistic flag.
flagAddStatHighJumpHigh Jump statistic flag.
flagAddStatMoneyMoney statistic flag.
flagAddStatUsrDefUser defined statistic(s) flag.

Wound/Usage Recording Checkboxes List

listWoundCheckboxList of traits to display checkboxes for in the Wound/Usage Recording block.
flagWoundCheckboxHPHit Points sub-block flag.
flagWoundCheckboxFPFatigue Points sub-block flag.
flagWoundCheckboxSPStress Points sub-block flag.
flagWoundCheckboxEREnergy Reserves sub-block flag.
flagWoundCheckboxPIPower Items sub-block flag.
flagWoundCheckboxPSPower Stones sub-block flag.  (unused)

Ancillary Statistics Block List

listAncillaryList of statistics sub-blocks to display in the Ancillary Statistics block.
flagAncillaryTkTelekinesis sub-block flag.
flagAncillaryUManaThreshold-Limited/Unlimited Mana sub-block flag.
flagAncillaryMageMage: The Ascension sub-block flag.

Lifting Feats List

listEncumbranceList of statistics to display in the Lifting Feats block.
flagLiftingBasicLift: Basic flag.
flagLiftingSeBasicLift: Super-Effort Basic flag.
flagLiftingTkLift: Telekinetic flag.
flagLiftingSeTkLift: Super-Effort Telekinetic flag.

Slam Table List

listSlamList of statistics to display in the Slam Table block.
flagSlamGroundMove: Ground flag.
flagSlamWaterMove: Water flag.
flagSlamAirMove: Air flag.
flagSlamSpaceMove: Space flag.
flagSlamTunnelMove: Tunneling flag.
flagSlamTkMove: Telekinetic flag.

Encumbrance Table List

listEncumbranceList of statistics to display in the Encumbrance Table block.
flagEncLiftBasicLift: Basic flag.
flagEncLiftSeBasicLift: Super-Effort Basic flag.
flagEncLiftTkLift: Telekinetic flag.
flagEncLiftSeTkLift: Super-Effort Telekinetic flag.
flagEncMoveGroundMove: Ground flag.
flagEncMoveWaterMove: Water flag.
flagEncMoveAirMove: Air flag.
flagEncMoveSpaceMove: Space flag.
flagEncMoveTunnelMove: Tunneling flag.
flagEncMoveTkMove: Telekinetic flag.
flagEncDodgeDodge flag.

Descriptive Tags List

listDescTagList of trait tags to display; used in various blocks.
flagDescTagPage”page” tag flag.
flagDescTagDesc”description” tag flag.
flagDescTagNotes”notes” tag flag.
flagDescTagUsrnotes”usernotes” tag flag.
flagDescTagUsrDefUser defined tag(s) flag.

Attack Source Hiding List

listAttackTypeList of attack sources to suppress in the Attack Tables blocks.
flagAttackTypeStatStatistics source flag.
flagAttackTypeAdAdvantages & Perks source flag.
flagAttackTypeSkillSkills source (incl.  Techniques & Ritual Magic Paths) flag.
flagAttackTypeSpellSpells source flag.
flagAttackTypeEquipEquipment source flag.

Footnote Control List

listFootnoteList of blocks which offer footnote hiding control.
flagFootnotePriStatPrimary Statistics block flag.
flagFootnoteAddStatAdditional Statistics sub-block flag.
flagFootnoteDefenseDefenses block flag.
flagFootnoteReactionReaction Modifiers block flag.
flagFootnoteLanguageLanguages block flag.
flagFootnoteTemplateTemplates & Meta-Traits block flag.
flagFootnoteAdAdvantages & Perks blocks flag.
flagFootnoteDisadDisadvantages & Quirks blocks flag.
flagFootnoteSkillSkills & Techniques blocks flag.
flagFootnotePathRitual Magic Paths block flag.
flagFootnoteSpellSpells block flag.

Trait Hiding List

listHiddenTraitList of blocks which offer trait hiding control.
flagHiddenCulturalCultural Familiarities block flag.
flagHiddenLanguageLanguages block flag.
flagHiddenTemplateTemplates & Meta-Traits block flag.
flagHiddenAdAdvantages & Perks blocks flag.
flagHiddenDisadDisadvantages & Quirks blocks flag.
flagHiddenSkillSkills & Techniques blocks flag.
flagHiddenPathRitual Magic Paths block flag.
flagHiddenSpellSpells block flag.
flagHiddenMeleeMelee Attacks block flag.
flagHiddenRangedRanged Attacks block flag.
flagHiddenGrimoireSpell Grimoire block flag.
flagHiddenEquipEquipment block flag.

Separator List

listSeparatorList of block groups which offer separator control.
flagSeparatorStatStatistics group flag.
flagSeparatorSocialSocial group flag.
flagSeparatorAdTemplates/Ads/Disads group flag.
flagSeparatorSkillSkills/Spells group flag.
flagSeparatorSSRHHLSize and Speed/Range & Humanoid Hit Location Tables group flag.
flagSeparatorAttackAttack Tables group flag.
flagSeparatorGrimoireSpell Grimoire Tables group flag.
flagSeparatorEquipEquipment group flag.
flagSeparatorLogCampaign Log group flag.

Sub-Separator List

listSubSeparatorList of block groups which offer sub-separator control.
flagSubSeparatorStatStatistics group flag.
flagSubSeparatorAttackAttack Tables group flag.
flagSubSeparatorLogCampaign Log group flag.

Constants: Attack Tables

Attack Notes

flagAttackNoteAwkwardReach: awkward flag.
flagAttackNoteFencingParry: fencing weapon flag.
flagAttackNoteUnbalancedParry: unbalanced weapon flag.
flagAttackNoteTwoHandStrength: two-handed weapon flag.
flagAttackNoteTwoHandUnreadyStrength: two-handed unreadying weapon flag.
flagAttackNoteRestStrength: musket rest flag.
flagAttackNoteBipodStrength: attached bipod flag.
flagAttackNoteMountedStrength: mounted/tripod flag.
flagAttackNoteFullAutoRoF: full-auto only flag.
flagAttackNoteThrownShots: thrown weapon flag.
flagAttackNoteReloadSingleShots: individual/single reload flag.

Globals

Page/Column

UsableWidthThe page width minus the left and right margins (inches).
UsableHeightThe page height minus the top and bottom margins (inches).
UsableTopThe page top Y-coordinate plus top margin (inches).
UsableBottomThe page bottom Y-coordinate minus bottom margin (inches).
UsableLeftThe page left X-coordinate plus left margin (inches).
UsableRightThe page right X-coordinate minus right margin (inches).
ColumnWidthThe width of the columns (inches).
Column1TopThe current top Y-coordinate of column one (inches).
Column1BottomThe current bottom Y-coordinate of column one (inches).
Column1LeftThe left X-coordinate of column one (inches).
Column1RightThe right X-coordinate of column one (inches).
Column2TopThe current top Y-coordinate of column two (inches).
Column2BottomThe current bottom Y-coordinate of column two (inches).
Column2LeftThe left X-coordinate of column two (inches).
Column2RightThe right X-coordinate of column two (inches).
CurrentWidthThe width of the active column (inches).
CurrentTopThe current top Y-coordinate of the active column (inches).
CurrentBottomThe current bottom Y-coordinate of the active column (inches).
CurrentLeftThe left X-coordinate of the active column (inches).
CurrentRightThe right X-coordinate of the active column (inches).
SelectedColumnThe selected column, regardless of column count; usually the same as CurrentColumn.

Fonts

FormFontNameName of the font used for form text.
FormFontSizeSize of the font used for form text, normal (points).
FormFontSizeSMSize of the font used for form text, small (points).
FormFontSizeLGSize of the font used for form text, large (points).
FormFontSizeXLSize of the font used for form text, x-large (points).
FormFontColorColor of the font used for form text, normal.
FormFontColorDimColor of the font used for form text, dimmed.
CharFontNameName of the font used for character text.
CharFontSizeSize of the font used for character text, normal (points).
CharFontSizeSMSize of the font used for character text, small (points).
CharFontSizeLGSize of the font used for character text, large (points).
CharFontSizeXLSize of the font used for character text, x-large (points).
CharFontColorColor of the font used for character text, normal.
CharFontColorDimColor of the font used for character text, dimmed.
CharFontColorUsrTagColor of the font used for character descriptive tags.
CharFontColorCiteColor of the font used for character notices and footnotes.
CharFontColorDescNoteColor of the font used for character description and notes (plain text only).
FormFontHeightHeight of the font used for form text, normal (inches).
FormFontHeightSMHeight of the font used for form text, small (inches).
FormFontHeightLGHeight of the font used for form text, large (inches).
FormFontHeightBoldHeight of the font used for form text, normal bold (inches).
FormFontHeightSMBoldHeight of the font used for form text, small bold (inches).
FormFontHeightLGBoldHeight of the font used for form text, large bold (inches).
CharFontHeightHeight of the font used for character text, normal (inches).
CharFontHeightSMHeight of the font used for character text, small (inches).
CharFontHeightLGHeight of the font used for character text, large (inches).
CharFontHeightBoldHeight of the font used for character text, normal bold (inches).

Attack Tables

rMeleeAttacksMelee attacks or, if sorting by source, melee attacks from equipment sources.
rMeleeAttacksNonEquipIf sorting by source, melee attacks from non-equipment sources.
rRangedAttacksRanged attacks or, if sorting by source, ranged attacks from equipment sources.
rRangedAttacksNonEquipIf sorting by source, ranged attacks from non-equipment sources.
AttackFieldNotesAttack field notations; for things like “full auto”, “two hands”, etc.
AttackFieldNotesBlockIf printing a unified attack field notation chart, the block to print it with.

Miscellaneous

RadixPointNumeric ID representing the local radix point character.
UseMetricBoolean flag representing whether to use SI/Metric units.
DescNotesFailoverBoolean flag representing whether we have to print the character description and notes at the back of the sheet in the unmanaged area--because they were too large to print within a managed column.
PointSummaryFailoverBoolean flag representing whether the Points Summary block was shunted to page one, even though it was requested that it be printed on page two--because all managed blocks have been printed and we’re still on page one.
FootnotesHeightHeight of the last calculated set of footnotes (inches).
FootnotesColsNumber of sub-columns of the last calculated set of footnotes (inches).
ShadeToggleBoolean flag used to toggle shading within blocks.

Quick View

QVEBFormatAdThe edit bar format string for advantage-type blocks.
QVEBFormatSkillThe edit bar format string for skill-type blocks.
QVEBFormatEquipThe edit bar format string for equipment-type blocks.

Functions: Main

CharacterSheetOptions

Sub CharacterSheetOptions()

Sheet options handler; called by GCA and so must exist.  Called by GCA to initialize the Options object for this sheet, either to setup the Sheet Options Window or prior to a call to Main.

SheetOptions_VersionCheck

Sub SheetOptions_VersionCheck()

Sheet options version checker and upgrader.  Called by CharacterSheetOptions to check the stored sheet options version and, if necessary, upgrade those options to what is correct for this sheet version.

Main

Sub Main()

Main event handler; called by GCA and so must exist.  Called by GCA to render the sheet for either a print-out, print-preview, or the Quick View tab.

Functions: Page One Header

Static_PageOneHeader

Sub Static_PageOneHeader()

Print the page one header.  This block doesn’t know how to flow, nor should it, since it’s used as a staticly placed element at the top of page one.

Functions: Primary Statistics

Static_PrimaryStats

Sub Static_PrimaryStats()

Print the primary statistic block.  This block doesn’t know how to flow, nor should it, since it’s used as a staticly placed element at the top of page one, column one.

PrimaryStats_RenderItem

Sub PrimaryStats_RenderItem(ByVal aStat,
ByVal aLeft,
ByVal aRight,
ByVal aHeight,
ByVal aShowCost,
ByVal aShade)

Render a statistic item.

PARAMETERS

aStat[String] The name of the statistic to print.
aLeft[Double] Left bound of the print area (inches).
aRight[Double] Right bound of the print area (inches).
aHeight[Double] Height of the print area (inches).
aShowCost[Boolean] Whether to show the statistic’s point cost.
aShade[Boolean] Whether to shade the print area.

Functions: Wound/Usage Recording

Block_WoundUsage

Sub Block_WoundUsage()

Print the wound/usage recording block.

WoundUsage_RenderRecordBlanks

Sub WoundUsage_RenderRecordBlanks()

Render the hit and fatigue points record blanks.

WoundUsage_RenderHPCheckboxes

Sub WoundUsage_RenderHPCheckboxes(ByVal aDrawSeparator)

Render the hit points checkboxes.

PARAMETERS

aDrawSeparator[Boolean] Whether or not to draw a block separator line preceding the block.

WoundUsage_RenderHPBreakpointsChart

Function WoundUsage_RenderHPBreakpointsChart(ByVal aLeft,
ByVal aTop,
ByVal aWidth,
ByVal aCalc)

Render the hit points breakpoints chart.

PARAMETERS

aLeft[Double] Left bound of the print area (inches).
aTop[Double] Top bound of the print area (inches).
aWidth[Double] Width of the print area (inches).
aCalc[Boolean] Whether the height required to print the block should be calculated and returned in lieu of printing the block.

RETURNS

[Integer] If aCalc is true, the height of the block (inches).

WoundUsage_RenderFPCheckboxes

Sub WoundUsage_RenderFPCheckboxes(ByVal aDrawSeparator)

Render the fatigue points checkboxes.

PARAMETERS

aDrawSeparator[Boolean] Whether or not to draw a block separator line preceding the block.

WoundUsage_RenderFPBreakpointsChart

Function WoundUsage_RenderFPBreakpointsChart(ByVal aLeft,
ByVal aTop,
ByVal aWidth,
ByVal aCalc)

Render the fatigue points breakpoints chart.

PARAMETERS

aLeft[Double] Left bound of the print area (inches).
aTop[Double] Top bound of the print area (inches).
aWidth[Double] Width of the print area (inches).
aCalc[Boolean] Whether the height required to print the block should be calculated and returned in lieu of printing the block.

RETURNS

[Integer] If aCalc is true, the height of the block (inches).

WoundUsage_RenderSPCheckboxes

Sub WoundUsage_RenderSPCheckboxes(ByVal aDrawSeparator)

Render the stress points checkboxes.

PARAMETERS

aDrawSeparator[Boolean] Whether or not to draw a block separator line preceding the block.

WoundUsage_RenderSPBreakpointsChart

Function WoundUsage_RenderSPBreakpointsChart(ByVal aLeft,
ByVal aTop,
ByVal aWidth,
ByVal aCalc)

Render the stress points breakpoints chart.

PARAMETERS

aLeft[Double] Left bound of the print area (inches).
aTop[Double] Top bound of the print area (inches).
aWidth[Double] Width of the print area (inches).
aCalc[Boolean] Whether the height required to print the block should be calculated and returned in lieu of printing the block.

RETURNS

[Integer] If aCalc is true, the height of the block (inches).

WoundUsage_RenderERCheckboxes

Sub WoundUsage_RenderERCheckboxes(ByVal aDrawSeparator)

Render the energy reserve checkboxes.

PARAMETERS

aDrawSeparator[Boolean] Whether or not to draw a block separator line preceding the block.

WoundUsage_RenderPICheckboxes

Sub WoundUsage_RenderPICheckboxes(ByVal aDrawSeparator)

Render the power item checkboxes.

PARAMETERS

aDrawSeparator[Boolean] Whether or not to draw a block separator line preceding the block.

Functions: Ancillary Statistic Blocks

Block_AncillaryBlocks

Sub Block_AncillaryBlocks()

Print the ancillary statistics blocks.

AncillaryBlocks_RenderTelekinesis

Sub AncillaryBlocks_RenderTelekinesis()

Render the telekinesis ancillary block.

AncillaryBlocks_RenderUMana

Sub AncillaryBlocks_RenderUMana(ByRef arThresh,
ByRef arRecovery)

Render the “threshold limited magic”/”unlimited mana” ancillary block.

PARAMETERS

arThresh[Object] Trait item object of the Threshold statistic.
arRecovery[Object] Trait item object of the Recovery statistic.

AncillaryBlocks_RenderMage

Sub AncillaryBlocks_RenderMage(ByRef arArete)

Render the Mage: The Ascension ancillary block.

PARAMETERS

arArete[Object] Trait item object of the Arete statistic.

Functions: Lifting Feats

Block_LiftingFeats

Sub Block_LiftingFeats()

Print the lifting feats block.

Functions: Slam Table

Block_SlamTable

Sub Block_SlamTable()

Print the slam table block.

Functions: Encumbrance Table

Block_EncumbranceTable

Sub Block_EncumbranceTable()

Print the encumbrance table block.

Functions: Defenses

Block_Defenses

Sub Block_Defenses()

Print the defenses block (active & passive).

Defenses_DamageResistances

Sub Defenses_DamageResistances(ByVal aSubColCount)

Render the expanded damage resistances table sub-block.

PARAMETERS

aSubColCount[Integer] The number of sub-columns to use.

Defenses_PaperDoll

Sub Defenses_PaperDoll()

Render the paper-doll sub-block.

Functions: Reaction Modifiers

Block_ReactionModifiers

Sub Block_ReactionModifiers()

Print the reaction modifiers block.

Functions: Cultural Familiarities

Block_CulturalList

Sub Block_CulturalList(ByVal aBlanks)

Print the cultural familiarity block.

PARAMETERS

aBlanks[Integer] Number of blank lines to append to the normal output of the block.

CulturalList_RenderItem

Sub CulturalList_RenderItem(ByRef arTrait,
ByVal aIndent,
ByVal aParent,
ByVal aHeader,
ByVal aLabel)

Render the passed cultural familiarity trait object.

PARAMETERS

arTrait[Object] A trait item object.
aIndent[Double] Indention to use (inches).  Used recursively, it should be passed zero (0) under normal usage.
aParent[Object] Trait item object of the parent trait.  Used recursively, it should be passed Empty under normal usage.
aHeader[Integer] Header printing state.
aLabel[String] Label used for the “name” column.

CulturalList_IsPrintable

Function CulturalList_IsPrintable(ByRef arTrait)

Test if the passed trait object is a cultural familiarity and should be printed.

PARAMETERS

arTrait[Object] A trait item object.

RETURNS

[Boolean] Whether the passed trait object is a cultural familiarity and should be printed.

CulturalList_IsNative

Function CulturalList_IsNative(ByRef arTrait)

Test if the passed trait object is a native cultural familiarity.

PARAMETERS

arTrait[Object] A trait item object.

RETURNS

[Boolean] Whether the passed trait object is a native cultural familiarity.

Functions: Languages

Block_LanguageList

Sub Block_LanguageList(ByVal aBlanks)

Print the language block.

PARAMETERS

aBlanks[Integer] Number of blank lines to append to the normal output of the block.

LanguageList_RenderItem

Sub LanguageList_RenderItem(ByRef arTrait,
ByVal aIndent,
ByVal aParent,
ByVal aHeader,
ByVal aLabel)

Render the passed language trait object.

PARAMETERS

arTrait[Object] A trait item object.
aIndent[Double] Indention to use (inches).  Used recursively, it should be passed zero (0) under normal usage.
aParent[Object] Trait item object of the parent trait.  Used recursively, it should be passed Empty under normal usage.
aHeader[Integer] Header printing state.
aLabel[String] Label used for the “name” column.

LanguageList_IsPrintable

Function LanguageList_IsPrintable(ByRef arTrait)

Test if the passed trait object is a language and should be printed.

PARAMETERS

arTrait[Object] A trait item object.

RETURNS

[Boolean] Whether the passed trait object is a language and should be printed.

LanguageList_IsNative

Function LanguageList_IsNative(ByRef arTrait)

Test if the passed trait object is a native language.

PARAMETERS

arTrait[Object] A trait item object.

RETURNS

[Boolean] Whether the passed trait object is a native language.

Functions: Advantage-Type Blocks

Block_AdList

Sub Block_AdList(ByVal aType,
ByVal aBlanks)

Print the templates and meta-traits, ads, perks, disads, and quirks blocks.

PARAMETERS

aType[Integer] Trait Type denoting which block to print.
aBlanks[Integer] Number of blank lines to append to the normal output of the block.

AdList_RenderItem

Sub AdList_RenderItem(ByRef arTrait,
ByVal aType,
ByVal aIndent,
ByVal aParent,
ByVal aHeader)

Render the passed advantage-type trait object.

PARAMETERS

arTrait[Object] A trait item object.
aType[Integer] Trait Type of the trait; can only be of type gcaTemplate, gcaAd, gcaPerk, gcaDisad, or gcaQuirk.
aIndent[Double] Indention to use (inches).  Used recursively, it should be passed zero (0) under normal usage.
aParent[Object] Trait item object of the parent trait.  Used recursively, it should be passed Empty under normal usage.
aHeader[Integer] Header printing state.

AdList_IsPrintable

Function AdList_IsPrintable(ByRef arTrait,
ByVal aType,
ByVal aIsChild)

Test if the passed trait object is an advantage-type trait and should be printed.

PARAMETERS

arTrait[Object] A trait item object.
aType[Integer] Trait Type of the block; can only be of type gcaTemplate, gcaAd, gcaPerk, gcaDisad, or gcaQuirk.
aIsChild[Boolean] Is the trait item object a child.

RETURNS

[Boolean] Whether the passed trait object is an advantage-type trait and should be printed.

Functions: Skill-Type Blocks

Block_SkillList

Sub Block_SkillList(ByVal aType,
ByVal aBlanks)

Print the skills, techniques, ritual magic paths, and spells blocks.

PARAMETERS

aType[Integer] Trait Type denoting which block to print.
aBlanks[Integer] Number of blank lines to append to the normal output of the block.

SkillList_RenderItem

Sub SkillList_RenderItem(ByRef arTrait,
ByVal aType,
ByVal aIndent,
ByVal aParent,
ByVal aHeader,
ByVal aLabel)

Render the passed skill-type trait object.

PARAMETERS

arTrait[Object] A trait item object.
aType[Integer] Trait Type of the trait; can only be of type gcaSkill, gcaSkillTech, gcaSkillPath, or gcaSpell.
aIndent[Double] Indention to use (inches).  Used recursively, it should be passed zero (0) under normal usage.
aParent[Object] Trait item object of the parent trait.  Used recursively, it should be passed Empty under normal usage.
aHeader[Integer] Header printing state.
aLabel[String] Label used for the “name” column.

SkillList_IsPrintable

Function SkillList_IsPrintable(ByRef arTrait,
ByVal aType,
ByVal aIsChild)

Test if the passed trait object is an skill-type trait and should be printed.

PARAMETERS

arTrait[Object] A trait item object.
aType[Integer] Trait Type of the block; can only be of type gcaSkill, gcaSkillTech, gcaSkillPath, or gcaSpell.
aIsChild[Boolean] Is the trait item object a child.

RETURNS

[Boolean] Whether the passed trait object is a skill-type trait and should be printed.

Functions: Combat Charts

Block_SizeSpeedRangeTable

Sub Block_SizeSpeedRangeTable()

Print the size and speed/range table block.

Block_HumanoidHitLocationTable

Sub Block_HumanoidHitLocationTable()

Print the humanoid hit location table block.

Functions: Attacks Tables

CreateAttackLists

Sub CreateAttackLists()

Create the melee & ranged attack lists.

Block_MeleeAttackList

Sub Block_MeleeAttackList(ByVal aBlanks)

Print the melee attack table block.

PARAMETERS

aBlanks[Integer] Number of blank lines to append to the normal output of the block.

MeleeAttackList_RenderItem

Sub MeleeAttackList_RenderItem(ByRef arTrait,
ByVal aIndent,
ByVal aParent,
ByVal aHeader,
ByVal aLabel)

Render the passed melee attack mode trait object.

PARAMETERS

arTrait[Object] A trait item object.
aIndent[Double] Indention to use (inches).  Used recursively, it should be passed zero (0) under normal usage.
aParent[Object] Trait item object of the parent trait.  Used recursively, it should be passed Empty under normal usage.
aHeader[Integer] Header printing state.
aLabel[String] Label used for the “name” column.

MeleeAttackList_IsPrintable

Function MeleeAttackList_IsPrintable(ByRef arTrait)

Test if the passed trait object contains melee attack modes and should be printed.

PARAMETERS

arTrait[Object] A trait item object.

RETURNS

[Boolean] Whether the passed trait object contains melee attack modes and should be printed.

Block_RangedAttackList

Sub Block_RangedAttackList(ByVal aBlanks)

Print the ranged attack table block.

PARAMETERS

aBlanks[Integer] Number of blank lines to append to the normal output of the block.

RangedAttackList_RenderItem

Sub RangedAttackList_RenderItem(ByRef arTrait,
ByVal aIndent,
ByVal aParent,
ByVal aHeader,
ByVal aLabel)

Render the passed ranged attack mode trait object.

PARAMETERS

arTrait[Object] A trait item object.
aIndent[Double] Indention to use (inches).  Used recursively, it should be passed zero (0) under normal usage.
aParent[Object] Trait item object of the parent trait.  Used recursively, it should be passed Empty under normal usage.
aHeader[Integer] Header printing state.
aLabel[String] Label used for the “name” column.

RangedAttackList_IsPrintable

Function RangedAttackList_IsPrintable(ByRef arTrait)

Test if the passed trait object contains ranged attack modes and should be printed.

PARAMETERS

arTrait[Object] A trait item object.

RETURNS

[Boolean] Whether the passed trait object contains ranged attack modes and should be printed.

AttackList_RenderFieldNotesChart

Function AttackList_RenderFieldNotesChart(ByVal aCalc)

Render the attack field notes chart.

PARAMETERS

aCalc[Boolean] Whether the height required to print the block should be calculated and returned in lieu of printing the block.

RETURNS

[Integer] If aCalc is true, the height of the block (inches).

Functions: Spell Grimoire

Block_GrimoireList

Sub Block_GrimoireList(ByVal aBlanks)

Print the spell grimoire block.

PARAMETERS

aBlanks[Integer] Number of blank lines to append to the normal output of the block.

GrimoireList_RenderItem

Sub GrimoireList_RenderItem(ByRef arTrait,
ByVal aHeader,
ByVal aLabel)

Render the passed spell trait object.

PARAMETERS

arTrait[Object] A trait item object.
aHeader[Integer] Header printing state.
aLabel[String] Label used for the “name” column.

GrimoireList_IsPrintable

Function GrimoireList_IsPrintable(ByRef arTrait)

Test if the passed trait object is a spell and should be printed.

PARAMETERS

arTrait[Object] A trait item object.

RETURNS

[Boolean] Whether the passed trait object is a spell and should be printed.

GrimoireList_FilterCats

Function GrimoireList_FilterCats(ByVal aCatTag)

Filter non-colleges from the passed spell category string.

PARAMETERS

aCatTag[String] A category string.  Generally, from the tag “cat”.

RETURNS

[String] The filtered spell category string.

Functions: Equipment/Load-Out

Block_EquipmentList

Sub Block_EquipmentList()

Print the equipment block.

Block_LoadOutList

Sub Block_LoadOutList()

Print the load-out block.

EquipmentList_RenderItem

Function EquipmentList_RenderItem(ByRef arTrait,
ByVal aType,
ByVal aIndent,
ByVal aParent,
ByVal aHeader,
ByVal aLabel,
ByVal aIsPKid)

Render the passed equipment item trait object.

PARAMETERS

arTrait[Object] A trait item object.
aType[Integer] Trait Type of the trait; can only be of type gcaEquip or gcaEquipLoad.
aIndent[Double] Indention to use (inches).  Used recursively, it should be passed zero (0) under normal usage.
aParent[Object] Trait item object of the parent trait.  Used recursively, it should be passed Empty under normal usage.
aHeader[Integer] Header printing state.
aLabel[String] Label used for the “name” column.
aIsPKid[Boolean] Is the trait item object a package kid.  Used recursively, it should be passed False under normal usage.

RETURNS

[Array] The total cost and weight of the passed trait object, including descendant traits (children and kids).

EquipmentList_IsPrintable

Function EquipmentList_IsPrintable(ByRef arTrait,
ByVal aType)

Test if the passed trait object is an equipment item and should be printed.

PARAMETERS

arTrait[Object] A trait item object.
aType[Integer] Trait Type of the trait.  Can only be of type gcaEquip or gcaEquipLoad.

RETURNS

[Boolean] Whether the passed trait object is an equipment item and should be printed.

Functions: Campaign Log

Block_CampaignLog

Sub Block_CampaignLog()

Print the campaign log block.

CampaignLog_RenderEntry

Sub CampaignLog_RenderEntry(ByRef arTrait,
ByVal aHeader)

Render the passed campaign log entry object.

PARAMETERS

arTrait[Object] A log entry object.
aHeader[Integer] Header printing state.

Functions: Points Summary

Block_PointSummary

Sub Block_PointSummary(ByVal aBottom)

Print the points summary block.

PARAMETERS

aBottom[Boolean] Whether or not to render bottom-up.  Used when forced to print at the bottom of a column.

Functions: Portrait, Description, & Notes

Block_Portrait

Sub Block_Portrait()

Print the character portrait block.

Block_Description

Sub Block_Description()

Print the character description block.

Block_Notes

Sub Block_Notes()

Print the character notes block.

Static_PortraitDescAndNotes

Sub Static_PortraitDescAndNotes()

Print the character portrait, description, and notes at the end of the sheet.  This block is largely unmanaged--meaning left up to VSPrinter as much as possible.

DescOrNotesOverflowsColumn

Function DescOrNotesOverflowsColumn()

Test if the character description and/or notes exceed one column in length.

RETURNS

[Boolean] Whether the character description and/or notes exceed one column in length.

DescOverflowsColumn

Function DescOverflowsColumn()

Test if the character description exceeds one column in length.

RETURNS

[Boolean] Whether the character description exceeds one column in length.

NotesOverflowsColumn

Function NotesOverflowsColumn()

Test if the character notes exceed one column in length.

RETURNS

[Boolean] Whether the character notes exceed one column in length.

Functions: Scratch Pad

Block_ScratchPad

Sub Block_ScratchPad()

Print the scratch pad block.

Functions: Utility - Footnotes

ResetFootnotes

Sub ResetFootnotes()

Reset/clear the current footnotes.

RenderFootnotes

Sub RenderFootnotes()

Render the current footnotes.

CalcFootnotesHeight

Function CalcFootnotesHeight()

Calculate the minimum height of the current footnotes based on printing within 1-3 sub-columns.  Also, store both pieces of information (minimum height and the associated number of sub-columns) in the FootnotesHeight and FootnotesCols globals (see: Miscellaneous globals).

RETURNS

[Double] The minimum height required to render the footnotes.

SetFootnote

Function SetFootnote(ByVal aText)

Set the passed text as a footnote and return its symbol.

PARAMETERS

aText[String] Text to add as a footnote.

RETURNS

[String] The symbol assocaited with the passed text, on success, or an empty string, on failure.

GetFootnote

Function GetFootnote(ByRef arTrait,
ByVal aBlock)

Register an aggregate of all bonus and conditional footnotes for the passed trait object and block flag as a footnote and return the symbol.

PARAMETERS

arTrait[Object] A trait item object.
aBlock[Integer] Flag representing the block for which to attempt the operation.

RETURNS

[String] The symbol assocaited with the aggregate footnote for the passed trait object, on success, or an empty string, on failure.

GetFootnoteText

Function GetFootnoteText(ByRef arTrait,
ByVal aBlock)

Aggregate and return all bonus and conditional footnotes for the passed trait object and block flag.

PARAMETERS

arTrait[Object] A trait item object.
aBlock[Integer] Flag representing the block for which to attempt the operation.

RETURNS

[String] The aggregate of all bonus and conditional footnotes for the passed trait object, on success, or an empty string, on failure.

Functions: Utility - Trait & Tag

FetchTraitByNameAndExt

Function FetchTraitByNameAndExt(ByRef arTrait,
ByVal aFullName,
ByVal aType)

Fetch a trait item object reference to the passed trait fullname and type.

For more info on trait item objects, see: http://www.misersoft.com/gca/wiki/index.php/Item_%28object%29

PARAMETERS

arTrait[Variant] A storage variable, which will contain, post-call, a reference to the trait item object, on success, or Null, on failure.
aFullName[String] Fullname (name & extension) of the trait.
aType[Integer] Trait Type of the trait.

RETURNS

[Boolean] The status of the operation.

FetchTraitByNameOnly

Function FetchTraitByNameOnly(ByRef arTrait,
ByVal aName,
ByVal aType)

Fetch a trait item object reference to the passed trait name and type.

For more info on trait item objects, see: http://www.misersoft.com/gca/wiki/index.php/Item_%28object%29

PARAMETERS

arTrait[Variant] A storage variable, which will contain, post-call, a reference to the trait item object, on success, or Null, on failure.
aName[String] Name (only) of the trait.
aType[Integer] Trait Type of the trait.

RETURNS

[Boolean] The status of the operation.

FetchTraitBySymbol

Function FetchTraitBySymbol(ByRef arTrait,
ByVal aSymbol,
ByVal aType)

Fetch a trait item object reference to the passed trait symbol and type.

For more info on trait item objects, see: http://www.misersoft.com/gca/wiki/index.php/Item_%28object%29

PARAMETERS

arTrait[Variant] A storage variable, which will contain, post-call, a reference to the trait item object, on success, or Null, on failure.
aSymbol[String] Symbol of the trait.
aType[Integer] Trait Type of the trait.

RETURNS

[Boolean] The status of the operation.

GetTraitTagValue

Function GetTraitTagValue(ByVal aFullName,
ByVal aTag,
ByVal aType)

Get the value of the passed tag name from the passed trait fullname and type.

PARAMETERS

aTag[String] Name of the tag.
aFullName[String] Fullname (name & extension) of the trait.
aType[Integer] Trait Type of the trait.

RETURNS

[Variant] The value of the requested tag, on success, or Empty, on failure.

GetRelativeTrait

Function GetRelativeTrait(ByVal aTrait,
ByVal aScore)

Get the relative-trait-score string from the passed relative-trait string and score.

PARAMETERS

aTrait[String] Relative-trait string.  Generally, in the format ”type:name”[(+|-)value] and pulled from the tag “charskillused”.
aScore[Integer] Current effective trait score.

RETURNS

[String] The relative-trait-score string, on success, or an empty string, on failure.

Functions: Utility - Sheet Initialization

PageSetup

Sub PageSetup()

Initialize the page settings.

FontSetup

Sub FontSetup()

Initialize the font settings.

DrawSetup

Sub DrawSetup()

Initialize the drawing settings (pen & brush values).

Functions: Utility - Page & Column Positioning

NotEnoughSpace

Function NotEnoughSpace(ByVal aHeight)

Test to see if the passed height will not fit within the space available to the current column.

PARAMETERS

aHeight[Double] Height to test (inches).

RETURNS

[Boolean] Whether the passed height will not fit within the space available to the current column.

SetColumnUsage

Sub SetColumnUsage(ByVal aNumCols)

Set column usage; one column or both together (whole page).

PARAMETERS

aNumCols[Integer] Number of columns to use.

SwitchToColumn

Sub SwitchToColumn(ByVal aCol)

Set the currently active column.

PARAMETERS

aCol[Integer] Column to switch to.

ToggleColumn

Sub ToggleColumn()

Toggle the active column.

UpdateColumnTops

Sub UpdateColumnTops()

Update the top of the currently active column.

SetColumnTop

Sub SetColumnTop(ByVal aTop)

Set the top Y-coordinate of the currently active column.

PARAMETERS

aTop[Double] Top Y-coordinate of the column (inches).

SetColumnBottom

Sub SetColumnBottom(ByVal aBottom)

Set the bottom Y-coordinate of the currently active column.

PARAMETERS

aBottom[Double] Bottom Y-coordinate of the column (inches).

AdvanceToNextColumn

Sub AdvanceToNextColumn()

Advance to the next column, starting a new page if necessary.

StartNewPage

Sub StartNewPage()

Start a new page.

Functions: Utility - Header & Footer Settings

SetHeaderFont

Sub SetHeaderFont()

Initialize the header and footer font settings.

SetHeader

Sub SetHeader()

Set the page/sheet header.

SetFooter

Sub SetFooter()

Set the page/sheet footer.

Functions: Utility - Fonts

SetFont

Sub SetFont(ByVal aFont)

Set the font settings (name, size, color, bold, italic, underline).

PARAMETERS

aFont[Integer] Font setting.

CalcFontSize

Function CalcFontSize(ByVal aText,
ByVal aFont,
ByVal aSize,
ByVal aWidth,
ByVal aHeight)

Calculate largest font size that will allow the passed text to fit within the passed dimensions.

PARAMETERS

aText[String] Text to calculate upon.
aFont[Integer] Font setting.
aSize[Number] Font size (points).  If set to zero, the default size for the chosen font is used.
aWidth[Double] Width of the testing area (inches).  If set to zero, width calculations are disabled.
aHeight[Double] Height of the testing area (inches).  If set to zero, height calculations are disabled.

RETURNS

[Double] Font size (points).

Functions: Utility - Text Height & Width Calculation

RealTextHeight

Function RealTextHeight(ByVal aText,
ByVal aWidth)

Calculate the height of the passed text based on the passed width and current font settings.

PARAMETERS

aText[String] Text whose height needs calculating.
aWidth[Double] Width of the testing area (inches).  If set to zero, the full usable page width is used.

RETURNS

[Double] Height of the text (inches).

NOTES

This function exists because TextHeight;

  • Does not honor various font height components that are crucial to determining the actual printing height of a given sample of text.
  • Does not handle text that wraps, either because of length or embedded newlines.
  • Fails to accurately return the line height of some, but not all, fonts--notably Arial and Times New Roman as two examples.  Because of this bug, and especially because of its intermittent nature, TextHeight should be considered dangerously broken.

The first two issues are cause enough to not rely solely on TextHeight, however, the last issue is cause to never use TextHeight under any circumstances, so we have to use a combination of TextBox and TextHei.

CalcHeightEx

Function CalcHeightEx(ByVal aText,
ByVal aFont,
ByVal aSize,
ByVal aWidth)

Calculate the height of the passed text based on the passed font settings and passed width.

PARAMETERS

aText[String] Text whose width needs calculating.
aFont[Integer] Font setting.
aSize[Number] Font size (points).  If set to zero, the default size for the chosen font is used.
aWidth[Double] Width of the testing area (inches).  If set to zero, the full usable page width is used.

RETURNS

[Double] Height of the text (inches).

CalcHeight

Function CalcHeight(ByVal aText,
ByVal aFont,
ByVal aWidth)

Calculate the height of the passed text based on the passed font settings and passed width.

PARAMETERS

aText[String] Text whose width needs calculating.
aFont[Integer] Font setting.
aWidth[Double] Width of the testing area (inches).  If set to zero, the full usable page width is used.

RETURNS

[Double] Height of the text (inches).

CalcWidthEx

Function CalcWidthEx(ByVal aText,
ByVal aFont,
ByVal aSize)

Calculate the width of the passed text based on the passed font settings.

PARAMETERS

aText[String] Text whose width needs calculating.
aFont[Integer] Font setting.
aSize[Number] Font size (points).  If set to zero, the default size for the chosen font is used.

RETURNS

[Double] Width of the text (inches).

CalcWidth

Function CalcWidth(ByVal aText,
ByVal aFont)

Calculate the width of the passed text based on the passed font settings.

PARAMETERS

aText[String] Text whose width needs calculating.
aFont[Integer] Font setting.

RETURNS

[Double] Width of the text (inches).

Functions: Utility - Tests

IsSkipped

Function IsSkipped(ByRef arTrait)

Test if the passed trait object MUST be skipped.

PARAMETERS

arTrait[Object] The trait item object to test.

RETURNS

[Boolean] Whether the passed trait object MUST be skipped.

IsHidden

Function IsHidden(ByRef arTrait,
ByVal aHideFlag)

Test if the passed trait object should be hidden.

PARAMETERS

arTrait[Object] The trait item object to test.
aHideFlag[Integer] Exception flag to test.

RETURNS

[Boolean] Whether the passed trait object should be hidden.

IsLocked

Function IsLocked(ByRef arTrait)

Test if the passed trait object is locked.

PARAMETERS

arTrait[Object] The trait item object to test.

RETURNS

[Boolean] Whether the passed trait object is locked.

StatExists

Function StatExists(ByVal aStat)

Test if the passed statistc exists.

PARAMETERS

aStat[String] Name of the statistic to test.

RETURNS

[Boolean] Whether the passed statistc exists.

StatNotEmpty

Function StatNotEmpty(ByVal aStat)

Test if the passed statistc exists and has a non-zero value.

PARAMETERS

aStat[String] Name of the statistic to test.

RETURNS

[Boolean] Whether the passed statistc exists and has a non-zero value.

OptionFlagSet

Function OptionFlagSet(ByVal aOption,
ByVal aFlags)

Test if the passed bit-flags are set within the bit-field contained within the passed option name.

PARAMETERS

aOption[String] Name of an option value which is a bit-field to test against.
aFlags[Integer] Flags to test.

RETURNS

[Boolean] Whether the passed bit-flags are set within the bit-field of the passed option name.

IsFlagSet

Function IsFlagSet(ByVal aField,
ByVal aFlags)

Test if the passed bit-flags are set within the passed bit-field.

PARAMETERS

aField[Integer] Bit-field to test against.
aFlags[Integer] Flags to test.

RETURNS

[Boolean] Whether the passed bit-flags are set within the passed bit-field.

IsNA

Function IsNA(ByVal aText)

Test if the passed value should be considered a “not applicable/available” value.  This function exists because people can’t seem to follow one standard way of representing “not applicable/available” when writing GDFs.

PARAMETERS

aText[String] String to test.

RETURNS

[Boolean] Whether the passed value is “not applicable/available”.

Functions: Utility - Math

RoundGreater

Function RoundGreater(ByVal aNum)

Round the passed number to the next integer of greater magnitude.  (i.e. round away from zero)

PARAMETERS

aNum[Number] Number to round.

RETURNS

[Integer] The rounded number.

RoundLesser

Function RoundLesser(ByVal aNum)

Round the passed number to the next integer of lesser magnitude.  (i.e. round towards zero)

PARAMETERS

aNum[Number] Number to round.

RETURNS

[Integer] The rounded number.

Ceil

Function Ceil(ByVal aNum)

Round the passed number to the next larger integer.  (i.e. round towards positive infinity)

PARAMETERS

aNum[Number] Number to round.

RETURNS

[Integer] The rounded number.

Floor

Function Floor(ByVal aNum)

Round the passed number to the next smaller integer.  (i.e. round towards negative infinity)

PARAMETERS

aNum[Number] Number to round.

RETURNS

[Integer] The rounded number.

NumToSci

Function NumToSci(ByVal aNum,
ByVal aSigDigits)

Convert the passed number to a normalized scientific “e” notation string.

PARAMETERS

aNum[Number] Number to convert.
aSigDigits[Number] Number indicating how many decimal places to round off at.

RETURNS

[String] The string representation of the number in normalized scientific “e” notation.

SciToNum

Function SciToNum(ByVal aNum)

Convert the passed scientific “e” notation string to a number.

PARAMETERS

aNum[String] String to convert.

RETURNS

[Number] The number converted from its scientific “e” notation string representation.

Max

Function Max(ByVal aVal1,
ByVal aVal2)

Determine which of the passed numbers is the largest.

PARAMETERS

aVal1[Number] First number.
aVal2[Number] Second number.

RETURNS

[Number] The largest number.

Min

Function Min(ByVal aVal1,
ByVal aVal2)

Determine which of the passed numbers is the smallest.

PARAMETERS

aVal1[Number] First number.
aVal2[Number] Second number.

RETURNS

[Number] The smallest number.

Avg

Function Avg(ByVal aVal1,
ByVal aVal2)

Calculate the average (arithmetic mean) of the passed numbers.

PARAMETERS

aVal1[Number] First number.
aVal2[Number] Second number.

RETURNS

[Number] The average (arithmetic mean) of the numbers.

MaxList

Function MaxList(ByVal aList())

Determine which of the numbers within the passed array is the largest.

PARAMETERS

aList()[Array] Number list.

RETURNS

[Number] The largest number.

MinList

Function MinList(ByVal aList())

Determine which of the numbers within the passed array is the smallest.

PARAMETERS

aList()[Array] Number list.

RETURNS

[Number] The smallest number.

AvgList

Function AvgList(ByVal aList())

Calculate the average (arithmetic mean) of the numbers within the passed array.

PARAMETERS

aList()[Array] Number list.

RETURNS

[Number] The average (arithmetic mean) of the numbers.

Functions: Utility - Math, GURPS

RoundGURPSThreshOver

Function RoundGURPSThreshOver(ByVal aNum)

Round the passed number to the GURPS “over” threshold.

PARAMETERS

aNum[Number] Number to round.

RETURNS

[Integer] The rounded number.

RoundGURPSThreshUnder

Function RoundGURPSThreshUnder(ByVal aNum)

Round the passed number to the GURPS “under” threshold.

PARAMETERS

aNum[Number] Number to round.

RETURNS

[Integer] The rounded number.

Functions: Utility - Type Conversion

StrToDbl

Function StrToDbl(ByVal aNumStr)

Convert the passed simple numeric string, from virtually any locale, to a double.

CAVEAT: This function assumes that the values passed into it will not be be seriously malformed, values which are will likely cause lossage.  Particularly, passed values MUST NOT contain digit grouping characters.

PARAMETERS

aNumStr[String] Numeric string to convert.

RETURNS

[Double] The resultant double, on success, or zero, on failure.

StrToLng

Function StrToLng(ByVal aNumStr)

Convert the passed simple numeric string, from virtually any locale, to a long.

CAVEAT: This function assumes that the values passed into it will not be seriously malformed, values which are will likely cause lossage.  Particularly, passed values MUST NOT contain a radix point.

PARAMETERS

aNumStr[String] Numeric string to convert.

RETURNS

[Integer] The resultant long, on success, or zero, on failure.

Functions: Utility - Dice

DiceAccumulator

Function DiceAccumulator(ByVal aDice())

Accumulate the dice within the passed array.

PARAMETERS

aDice()[Array] Dice string list.  Can be dice (“2d”), dice+adds (“2d+3”), or just adds (“3”).

RETURNS

[String] The total of the accumulated dice.

Functions: Utility - Text Manipulation

Chomp

Function Chomp(ByVal aText)

Trim line termination from the end of the passed string.

PARAMETERS

aText[String] String to chomp.

RETURNS

[String] The string trimmed of all ending line terminator characters.

UCFirst

Function UCFirst(ByVal aText)

Uppercase the first character of the passed string.

PARAMETERS

aText[String] String to modify.

RETURNS

[String] The string with the first character uppercased, if possible.

UCWords

Function UCWords(ByVal aText)

Uppercase the first character of every word in the passed string.

PARAMETERS

aText[String] String to modify.

RETURNS

[String] The string with the first character of every word uppercased, if possible.

Functions: Utility - Measurement Manipulation

GetEquipMass

Function GetEquipMass(ByVal aMeasure,
ByVal aUnit)

Convert an equipment mass measurement to the appropriate scaled unit-type.

PARAMETERS

aMeasure[Variant] Measurement to convert.
aUnit[String] Unit string for the measurement.  Generally, from the tag “units”.

RETURNS

[Double] The equipment mass measurement measurement.

GetEquipMassUnit

Function GetEquipMassUnit(ByVal aMeasure,
ByVal aUnit)

Convert an equipment mass measurement to the appropriate scaled unit.

PARAMETERS

aMeasure[Variant] Measurement to convert.
aUnit[String] Unit string for the measurement.  Generally, from the tag “units”.

RETURNS

[String] The converted equipment mass measurement and unit.

GetScaledUnit

Function GetScaledUnit(ByVal aMeasure,
ByVal aUnit)

Convert a measurement to the appropriate scaled unit.

PARAMETERS

aMeasure[Variant] Measurement to convert.
aUnit[String] Unit string for the measurement.  Generally, from the tag “units”.

RETURNS

[String] The converted measurement and unit.

GetScaledMassUnit

Function GetScaledMassUnit(ByVal aMeasure)

Convert a mass measurement, from an assumed unit-type, to the appropriate scaled unit.

PARAMETERS

aMeasure[Variant] Measurement to convert.  Measurement must be a numeric in either pounds or kilograms.

RETURNS

[String] The converted mass measurement and unit.

GetScaledLengthUnit

Function GetScaledLengthUnit(ByVal aMeasure)

Convert a distance/length measurement, from an assumed or integral unit-type, to the appropriate scaled unit.

PARAMETERS

aMeasure[Variant] Measurement to convert.  Measurement must be either a numeric in yards or include its unit (e.g.  “8 ft”, “1.6 km”, etc).

RETURNS

[String] The converted distance/length measurement and unit.

AbbreviateLengthUnit

Function AbbreviateLengthUnit(ByVal aUnit)

Convert a distance/length unit to its normalized abbreviated form.

PARAMETERS

aUnit[String] Unit to normalize.

RETURNS

[String] The normalized distance/length unit.

Functions: Utility - RTF Creation

IsTextRTF

Function IsTextRTF(ByVal aText)

Test if the passed string could be an RTF document or fragment.

PARAMETERS

aText[String] String to test.

RETURNS

[Boolean] Whether the string could be an RTF document or fragment.

CreateRtfDoc

Function CreateRtfDoc(ByVal aFonts(),
ByVal aColors(),
ByVal aText)

Creates and returns an RTF document from the passed font name list, color list, and RTF fragment.

PARAMETERS

aFonts()[Array] Font name list.
aColors()[Array] Color list.
aText[String] RTF fragment.

RETURNS

[String] The RTF document.

CreateRtfFontTbl

Function CreateRtfFontTbl(ByVal aFonts())

Creates and returns an RTF font table from the passed font name list.

PARAMETERS

aFonts()[Array] Font name list.

RETURNS

[String] The RTF font table.

CreateRtfColorTbl

Function CreateRtfColorTbl(ByVal aColors())

Creates and returns an RTF color table from the passed color list.

PARAMETERS

aColors()[Array] Color list.

RETURNS

[String] The RTF color table.

GetRtfFont

Function GetRtfFont(ByVal aFont)

Get an RTF font setting command for the passed font.

PARAMETERS

aFont[Integer] Font setting.

RETURNS

[String] The RTF font setting command.

Functions: Utility - Printing

TextBoxEx

Sub TextBoxEx(ByVal aText,
ByVal aLeft,
ByVal aTop,
ByVal aWidth,
ByVal aHeight,
ByVal aWrap)

Print the passed text, making necessary adjustments if it is RTF.

PARAMETERS

aText[String] Text to print.
aLeft[Double] Left bound of the print area (inches).
aTop[Double] Top bound of the print area (inches).
aWidth[Double] Width of the print area (inches).
aHeight[Double] Height of the print area (inches).
aWrap[Boolean] Whether text that exceeds the width of the print area should be wrapped.

Functions: Utility - Drawing

DrawImage

Sub DrawImage(ByVal aImage,
ByVal aX,
ByVal aY,
ByVal aW,
ByVal aH,
ByVal aUpscale)

Render an image centered within the passed area, scaled if necessary.

PARAMETERS

aImage[String] Path to the image.
aX[Double] Left side of the print area (inches).
aY[Double] Top side of the print area (inches).
aW[Double] Width of the print area (inches).
aH[Double] Height of the print area (inches).
aUpscale[Boolean] Whether the image should be scaled up if both of its dimensions are less than the printable area.

DrawRectangleEx

Sub DrawRectangleEx(ByVal aX1,
ByVal aY1,
ByVal aX2,
ByVal aY2,
ByVal aR1,
ByVal aR2,
ByVal aPWidth,
ByVal aPStyle,
ByVal aPColor,
ByVal aBStyle,
ByVal aBColor)

Render a rectangle at the passed coordinates.

PARAMETERS

aX1[Double] Left side of the print area (inches).
aY1[Double] Top side of the print area (inches).
aX2[Double] Right side of the print area (inches).
aY2[Double] Bottom side of the print area (inches).
aR1[Double] Horizontal corner radius (inches).
aR2[Double] Vertical corner radius (inches).
aPWidth[Double] Width of the pen (inches).
aPStyle[Integer] Style of the pen.
aPColor[Integer] Color of the pen.
aBStyle[Integer] Style of the brush.
aBColor[Integer] Color of the brush.

DrawShade

Sub DrawShade(ByVal aX1,
ByVal aY1,
ByVal aX2,
ByVal aY2,
ByVal aColor)

Render a shaded rectangle at the passed coordinates.

PARAMETERS

aX1[Double] Left side of the print area (inches).
aY1[Double] Top side of the print area (inches).
aX2[Double] Right side of the print area (inches).
aY2[Double] Bottom side of the print area (inches).
aColor[Integer] Color of the rectangle’s interior.

DrawBorder

Sub DrawBorder(ByVal aX1,
ByVal aY1,
ByVal aX2,
ByVal aY2,
ByVal aColor)

Render a bounding rectangle at the passed coordinates.

PARAMETERS

aX1[Double] Left side of the print area (inches).
aY1[Double] Top side of the print area (inches).
aX2[Double] Right side of the print area (inches).
aY2[Double] Bottom side of the print area (inches).
aColor[Integer] Color of the rectangle’s border.

DrawLineEx

Sub DrawLineEx(ByVal aX1,
ByVal aY1,
ByVal aX2,
ByVal aY2,
ByVal aWidth,
ByVal aStyle,
ByVal aColor)

Render a line at the passed coordinates.

PARAMETERS

aX1[Double] Left side of the line (inches).
aY1[Double] Top side of the line (inches).
aX2[Double] Right side of the line (inches).
aY2[Double] Bottom side of the line (inches).
aWidth[Double] Width of the line (inches).
aStyle[Integer] Style of the line.
aColor[Integer] Color of the line.

DrawHRuleEx

Sub DrawHRuleEx(ByVal aX1,
ByVal aY1,
ByVal aLength,
ByVal aStyle,
ByVal aColor)

Render a horizontal rule/line at the passed coordinates.

PARAMETERS

aX1[Double] Left side of the line (inches).
aY1[Double] Top side of the line (inches).
aLength[Double] Length of the line (inches).
aStyle[Integer] Style of the line.
aColor[Integer] Color of the line.

DrawHRule

Sub DrawHRule(ByVal aX1,
ByVal aY1,
ByVal aLength,
ByVal aColor)

Render a horizontal rule/line at the passed coordinates, with a solid pen.

PARAMETERS

aX1[Double] Left side of the line (inches).
aY1[Double] Top side of the line (inches).
aLength[Double] Length of the line (inches).
aColor[Integer] Color of the line.

DrawVRuleEx

Sub DrawVRuleEx(ByVal aX1,
ByVal aY1,
ByVal aLength,
ByVal aStyle,
ByVal aColor)

Render a vertical rule/line at the passed coordinates.

PARAMETERS

aX1[Double] Left side of the line (inches).
aY1[Double] Top side of the line (inches).
aLength[Double] Length of the line (inches).
aStyle[Integer] Style of the line.
aColor[Integer] Color of the line.

DrawVRule

Sub DrawVRule(ByVal aX1,
ByVal aY1,
ByVal aLength,
ByVal aColor)

Render a vertical rule/line at the passed coordinates, with a solid pen.

PARAMETERS

aX1[Double] Left side of the line (inches).
aY1[Double] Top side of the line (inches).
aLength[Double] Length of the line (inches).
aColor[Integer] Color of the line.

Functions: Utility - Color Manipulation

MixColors

Function MixColors(ByVal aColor1,
ByVal aColor2)

Mix two colors.

PARAMETERS

aColor1[Integer] First color.
aColor2[Integer] Second color.

RETURNS

[Integer] The resultant color.

Functions: Utility - Logging & Messaging

LogMesg

Sub LogMesg(ByVal aMesg)

Write a branded message to the log, except when in Quick View mode.

PARAMETERS

aMesg[String] The message.

LogWarn

Sub LogWarn(ByVal aMesg)

Write a branded warning message to the log.

PARAMETERS

aMesg[String] The message.

LogFail

Sub LogFail(ByVal aMesg)

Write a branded failure/error message to the log.

PARAMETERS

aMesg[String] The message.

PopFail

Function PopFail(ByVal aMesg)

Pop-up a branded failure/error message dialog box.

PARAMETERS

aMesg[String] The message.

RETURNS

[Integer] The button that was clicked by the user.

PopYesNo

Function PopYesNo(ByVal aMesg)

Pop-up a branded yes/no query dialog box.

PARAMETERS

aMesg[String] The message.

RETURNS

[Integer] The button that was clicked by the user.

Functions: Utility - Quick View

Quick View Field Type Constants

qvEditBarEdit Bar.
qvTextBoxText Box.
qvSelectButtonSelect Button.
qvTextBoxMultiText Box, Multi-Line.
qvTextBoxCalcText Box, Calculated (only: “score” & “level”)

QV_AddTraitSelectButtons

Sub QV_AddTraitSelectButtons()

Add the trait selection window buttons to the left margin of the current page.

QV_EditBar

Sub QV_EditBar(ByRef arTrait,
ByVal aTag,
ByVal aX1,
ByVal aY1,
ByVal aX2,
ByVal aY2)

Add an edit bar.

PARAMETERS

arTrait[Object] The trait item object.
aTag[String] Name of the tag to expose/manipulate.
aX1[Double] Left side of the print area (inches).
aY1[Double] Top side of the print area (inches).
aX2[Double] Right side of the print area (inches).
aY2[Double] Bottom side of the print area (inches).

QV_TextBox

Sub QV_TextBox(ByRef arTrait,
ByVal aTag,
ByVal aX1,
ByVal aY1,
ByVal aX2,
ByVal aY2)

Add a text box.

PARAMETERS

arTrait[Object] The trait item object.
aTag[String] Name of the tag to expose/manipulate.
aX1[Double] Left side of the print area (inches).
aY1[Double] Top side of the print area (inches).
aX2[Double] Right side of the print area (inches).
aY2[Double] Bottom side of the print area (inches).

QV_TextBox

Add a multi-line text box.

PARAMETERS

arTrait[Object] The trait item object.
aTag[String] Name of the tag to expose/manipulate.
aX1[Double] Left side of the print area (inches).
aY1[Double] Top side of the print area (inches).
aX2[Double] Right side of the print area (inches).
aY2[Double] Bottom side of the print area (inches).

QV_TextBox

Add a trait selection window button.

PARAMETERS

arTrait[Object] The trait item object.
aTag[String] Name of the tag to expose/manipulate.
aLabel[String] Label for the control.
aX1[Double] Left side of the print area (inches).
aY1[Double] Top side of the print area (inches).
aX2[Double] Right side of the print area (inches).
aY2[Double] Bottom side of the print area (inches).

QV_AddEditControlInTwips

Sub QV_AddEditControlInTwips(ByVal aX1,
ByVal aY1,
ByVal aX2,
ByVal aY2,
ByVal aType,
ByRef arTrait,
ByVal aTag,
ByVal aLabel)

Add an (interactive) editing control, specifying the coordinates and width in twips.

PARAMETERS

aX1[Double] Left side of the print area (twips).
aY1[Double] Top side of the print area (twips).
aX2[Double] Right side of the print area (twips).
aY2[Double] Bottom side of the print area (twips).
aType[Integer] Quick View Field Type.
arTrait[Object] The trait item object.
aTag[String] Name of the tag to expose/manipulate.
aLabel[String] Label for the control.

QV_DrawEditHotspotInTwips

Sub QV_DrawEditHotspotInTwips(ByVal aX1,
ByVal aY1,
ByVal aX2,
ByVal aY2)

Draw a shade rectangle, specifying the coordinates and width in twips.

PARAMETERS

aX1[Double] Left side of the print area (twips).
aY1[Double] Top side of the print area (twips).
aX2[Double] Right side of the print area (twips).
aY2[Double] Bottom side of the print area (twips).

Classes

Vector

A fast, easy-to-use, dynamic array class

Summary
Pseudo-Constants
c_VersionClass version string.
c_BaseAllocSizeDefault base allocation size.
Private Properties
pArrayVector array.
pCountElement count.
pCapacityTotal number of available elements.
pBaseAllocBase allocation size.
Private Methods
Class_InitializePrepares the object for use.
Class_TerminatePrepares the object for destruction.
pQSortSorts elements within a range.
pQSortCmpAscAscending comparator for pQSort.
pQSortCmpDescDescending comparator for pQSort.
Public Properties
Reserve (Accessor)Get the base allocation size.
Reserve (Mutator)Set the base allocation size.
Capacity (Accessor)Get the current number of elements that the vector can hold without needing to allocate more storage.
Empty (Accessor)Test if the vector is empty.
Count (Accessor)Get the count of all elements.
LBound (Accessor)Get the index of the first element.
UBound (Accessor)Get the index of the last element.
AsArray (Accessor)Get an array containing the values of all elements.
Item (Accessor)Get the value of the element at the passed index.
Item (Mutator)Assign the passed value to the element at the passed index.
First (Accessor)Get the value of the first element.
First (Mutator)Assign the passed value to the first element.
Last (Accessor)Get the value of the last element.
Last (Mutator)Assign the passed value to the last element.
Insert (Mutator)Insert the passed value as a new element at the passed index.
Prepend (Mutator)Add a new element to the beginning of the vector and assign it the passed value.
Append (Mutator)Add a new element to the end of the vector and assign it the passed value.
Push (Mutator)Add a new element to the end of the vector and assign it the passed value.
Pop (Mutator)Delete the last element and return its value.
Enqueue (Mutator)Add a new element to the end of the vector and assign it the passed value.
Dequeue (Mutator)Delete the first element and return its value.
Public Methods
JoinReturn a string containing the values of all elements joined by the passed delimiter.
FindSearch for the passed value among the elements.
ContainsTest for the presence of the passed value among the elements.
SortSorts all elements in ascending order.
SortRevSorts all elements in descending order.
ClearDeletes all elements and resets the vector to the current base allocation size.
DeleteDelete the element at the passed index and return its value.

Pseudo-Constants

c_Version

Class version string.

c_BaseAllocSize

Default base allocation size.

Private Properties

pArray

Vector array.

pCount

Element count.

pCapacity

Total number of available elements.

pBaseAlloc

Base allocation size.

Private Methods

Class_Initialize

Private Sub Class_Initialize()

Prepares the object for use.

Class_Terminate

Private Sub Class_Terminate()

Prepares the object for destruction.

pQSort

Private Sub pQSort(ByVal aFirst,
ByVal aLast,
ByVal aSortDesc)

Sorts elements within a range.

PARAMETERS

aFirst[Integer] Index of the first element of the range.
aLast[Integer] Index of the second element of the range.
aSortDesc[Boolean] Whether or not to sort descending; FALSE sorts ascending, TRUE sorts descending.

pQSortCmpAsc

Private Function pQSortCmpAsc(ByVal aItem1,
ByVal aItem2)

Ascending comparator for pQSort.

PARAMETERS

aItem1[Variant] First item.
aItem2[Variant] Second item.

RETURNS

[Integer] Comparison result; -1 if aItem1 is less than aItem2, 0 if aItem1 is equal to aItem2, 1 if aItem1 is greater than aItem2.

pQSortCmpDesc

Private Function pQSortCmpDesc(ByVal aItem1,
ByVal aItem2)

Descending comparator for pQSort.

PARAMETERS

aItem1[Variant] First item.
aItem2[Variant] Second item.

RETURNS

[Integer] Comparison result; 1 if aItem1 is less than aItem2, 0 if aItem1 is equal to aItem2, -1 if aItem1 is greater than aItem2.

Public Properties

Reserve (Accessor)

Public Property Get Reserve()

Get the base allocation size.

RETURNS

[Integer] Base allocation size.

Reserve (Mutator)

Public Property Let Reserve(ByVal aCount)

Set the base allocation size.  If the new base allocation size is less than the current capacity, storage will be reallocated to contain the current elements.  This is a non-destructive operation.

PARAMETERS

aCount[Integer] New base allocation size.

Capacity (Accessor)

Public Property Get Capacity()

Get the current number of elements that the vector can hold without needing to allocate more storage.

RETURNS

[Integer] The the current number of elements that the vector can hold without needing to allocate more storage.

Empty (Accessor)

Public Property Get [Empty]()

Test if the vector is empty.

RETURNS

[Boolean] Whether the vector is empty.

Count (Accessor)

Public Property Get Count()

Get the count of all elements.

RETURNS

[Integer] Count of all elements.

LBound (Accessor)

Public Property Get LBound()

Get the index of the first element.

RETURNS

[Integer] The index of the first element, guaranteed to be 0, or -1, if the vector is empty.

UBound (Accessor)

Public Property Get UBound()

Get the index of the last element.

RETURNS

[Integer] The index of the last element or -1, if the vector is empty.

AsArray (Accessor)

Public Property Get AsArray()

Get an array containing the values of all elements.

RETURNS

[Array] An array containing the values of all elements or an empty array, if the vector is empty.

Item (Accessor)

Public Default Property Get Item(ByVal aIdx)

Get the value of the element at the passed index.

RETURNS

[Variant] The value of the element at the passed index, on success, or Empty, on failure.

Item (Mutator)

Public Property Let Item(ByVal aIdx,
ByVal aVal)

Assign the passed value to the element at the passed index.  If the passed index exceeds the current capacity, the vector will be grown to accommodate the new index.

PARAMETERS

aIdx[Integer] Index at which to assign the new element.
aVal[Variant] Value to assign.

First (Accessor)

Public Property Get First()

Get the value of the first element.

RETURNS

[Variant] The value of the first element, on success, or Empty, on failure.

First (Mutator)

Public Property Let First(ByVal aVal)

Assign the passed value to the first element.

PARAMETERS

aVal[Variant] Value to assign.

Last (Accessor)

Public Property Get Last()

Get the value of the last element.

RETURNS

[Variant] The value of the last element.

Last (Mutator)

Public Property Let Last(ByVal aVal)

Assign the passed value to the last element.

PARAMETERS

aVal[Variant] Value to assign.

Insert (Mutator)

Public Property Let Insert(ByVal aIdx,
ByVal aVal)

Insert the passed value as a new element at the passed index.  If the passed index exceeds the current capacity, the vector will be grown to accommodate the new index.

PARAMETERS

aIdx[Integer] Index at which to insert the new element.
aVal[Variant] Value to assign.

Prepend (Mutator)

Public Property Let Prepend(ByVal aVal)

Add a new element to the beginning of the vector and assign it the passed value.

PARAMETERS

aVal[Variant] Value to assign.

Append (Mutator)

Public Property Let Append(ByVal aVal)

Add a new element to the end of the vector and assign it the passed value.

PARAMETERS

aVal[Variant] Value to assign.

Push (Mutator)

Public Property Let Push(ByVal aVal)

Add a new element to the end of the vector and assign it the passed value.

PARAMETERS

aVal[Variant] Value to assign.

Pop (Mutator)

Public Property Get Pop()

Delete the last element and return its value.

RETURNS

[Variant] The value of the last element, on success, or Empty, on failure.

Enqueue (Mutator)

Public Property Let Enqueue(ByVal aVal)

Add a new element to the end of the vector and assign it the passed value.

PARAMETERS

aVal[Variant] Value to assign.

Dequeue (Mutator)

Public Property Get Dequeue()

Delete the first element and return its value.

RETURNS

[Variant] The value of the first element, on success, or Empty, on failure.

Public Methods

Join

Public Function [Join](ByVal aDelim)

Return a string containing the values of all elements joined by the passed delimiter.

PARAMETERS

aDelim[String] Delimiter to use.

RETURNS

[String] A string containing the values of all elements joined by the passed delimiter or an empty string, if the vector is empty.

Find

Public Function Find(ByVal aVal)

Search for the passed value among the elements.

PARAMETERS

aVal[Variant] Value to find.

RETURNS

[Integer] The index of the first element matching the passed value, on success, or -1, on failure.

Contains

Public Function Contains(ByVal aVal)

Test for the presence of the passed value among the elements.

PARAMETERS

aVal[Variant] Value to find.

RETURNS

[Boolean] Whether the value was found.

Sort

Public Sub Sort()

Sorts all elements in ascending order.

SortRev

Public Sub SortRev()

Sorts all elements in descending order.

Clear

Public Sub Clear()

Deletes all elements and resets the vector to the current base allocation size.  If you’ve changed the base allocation size and want it reset as well, you’ll have to do that separately.

Delete

Public Function Delete(ByVal aIdx)

Delete the element at the passed index and return its value.

PARAMETERS

aIdx[Integer] Element index.

RETURNS

[Variant] The value of the deleted element, on success, or Empty, on failure.

Checkbox

A checkbox rendering class

Summary
Pseudo-Constants
c_VersionClass version string.
Private Properties
pBreakPointsBreakpoints vector.
pShowValuesShow values state.
pBaseBorderColorBase border color.
pBaseFontBase font for values.
pBaseFontColorBase font color for values.
pBaseFontSizeBase font size for values.
pMaxFontSizeMaximum font size for values.
pMinFontSizeMinimum font size for values.
pStartValueStarting value.
pStopValueStopping value.
pGroupCountNumber of groups.
pGroupSizeNumber of checkboxes per group.
pBoxSpaceHorizontal space between boxes, within a group (inches).
pColumnSpaceHorizontal (column) space between groups (inches).
pRowSpaceVertical (row) space between groups (inches).
pLeftLeft X-coordinate (inches).
pTopTop Y-coordinate (inches).
pWidthWidth (inches).
Private Properties (internal use)
pTotalHeightCalculated height.
pGroupWidthWidth of a group of boxes (inches).
pBoxWidthWidth of each box (inches).
Private Methods
Class_InitializePrepares the object for use.
Class_TerminatePrepares the object for destruction.
Public Properties
Left (Accessor)Get the left X-coordinate.
Left (Mutator)Set the left X-coordinate.
Top (Accessor)Get the top Y-coordinate.
Top (Mutator)Set the top Y-coordinate.
Width (Accessor)Get the width dimension.
Width (Mutator)Set the width dimension.
ShowValues (Accessor)Get the show values state.
ShowValues (Mutator)Set the show values state.
BaseBorderColor (Accessor)Get the base border color.
BaseBorderColor (Mutator)Set the base border color.
BaseFont (Accessor)Get the base font for checkbox values.
BaseFont (Mutator)Set the base font for checkbox values.
BaseFontColor (Accessor)Get the base font color for checkbox values.
BaseFontColor (Mutator)Set the base font color for checkbox values.
BaseFontSize (Accessor)Get the base font size for checkbox values.
BaseFontSize (Mutator)Set the base font size for checkbox values.
MaxFontSize (Accessor)Get the maximum font size for checkbox values.
MaxFontSize (Mutator)Set the maximum font size for checkbox values.
MinFontSize (Accessor)Get the minimum font size for checkbox values.
MinFontSize (Mutator)Set the minimum font size for checkbox values.
StartValue (Accessor)Get the beginning value.
StartValue (Mutator)Set the beginning value.
StopValue (Accessor)Get the ending value.
StopValue (Mutator)Set the ending value.
GroupCount (Accessor)Get the checkbox group count.
GroupCount (Mutator)Set the checkbox group count.
GroupSize (Accessor)Get the checkbox group size.
GroupSize (Mutator)Set the checkbox group size.
BoxSpace (Accessor)Get the checkbox spacer size.
BoxSpace (Mutator)Set the checkbox spacer size.
ColumnSpace (Accessor)Get the checkbox group horizontal (column) spacer size.
ColumnSpace (Mutator)Set the checkbox group horizontal (column) spacer size.
RowSpace (Accessor)Get the checkbox group vertical (row) spacer size.
RowSpace (Mutator)Set the checkbox group vertical (row) spacer size.
Public Methods
ClearDeletes all breakpoints and reinitializes the object to default settings.
AddBreakpointExAdd a breakpoint.
AddBreakpointAdd a breakpoint.
ClearBreakpointsDeletes all breakpoints.
CalcHeightCalculate the height required to render the checkboxes based on the current settings.
RenderCheckboxesRenders the checkboxes.

Pseudo-Constants

c_Version

Class version string.

Private Properties

pBreakPoints

Breakpoints vector.

pShowValues

Show values state.

pBaseBorderColor

Base border color.

pBaseFont

Base font for values.

pBaseFontColor

Base font color for values.

pBaseFontSize

Base font size for values.

pMaxFontSize

Maximum font size for values.

pMinFontSize

Minimum font size for values.

pStartValue

Starting value.

pStopValue

Stopping value.

pGroupCount

Number of groups.

pGroupSize

Number of checkboxes per group.

pBoxSpace

Horizontal space between boxes, within a group (inches).

pColumnSpace

Horizontal (column) space between groups (inches).

pRowSpace

Vertical (row) space between groups (inches).

pLeft

Left X-coordinate (inches).

pTop

Top Y-coordinate (inches).

pWidth

Width (inches).

Private Properties (internal use)

pTotalHeight

Calculated height.

pGroupWidth

Width of a group of boxes (inches).

pBoxWidth

Width of each box (inches).

Private Methods

Class_Initialize

Private Sub Class_Initialize()

Prepares the object for use.

Class_Terminate

Private Sub Class_Terminate()

Prepares the object for destruction.

Public Properties

Left (Accessor)

Public Property Get [Left]()

Get the left X-coordinate.

RETURNS

[Double] Left X-coordinate (inches).

Left (Mutator)

Public Property Let [Left](ByVal aVal)

Set the left X-coordinate.

PARAMETERS

aVal[Double] New left X-coordinate (inches).

Top (Accessor)

Public Property Get Top()

Get the top Y-coordinate.

RETURNS

[Double] Top Y-coordinate (inches).

Top (Mutator)

Public Property Let Top(ByVal aVal)

Set the top Y-coordinate.

PARAMETERS

aVal[Double] New top Y-coordinate (inches).

Width (Accessor)

Public Property Get [Width]()

Get the width dimension.

RETURNS

[Double] Width dimension (inches).

Width (Mutator)

Public Property Let [Width](ByVal aVal)

Set the width dimension.

PARAMETERS

aVal[Double] New width dimension (inches).

ShowValues (Accessor)

Public Property Get ShowValues()

Get the show values state.

RETURNS

[Boolean] Show values state.

ShowValues (Mutator)

Public Property Let ShowValues(ByVal aVal)

Set the show values state.

PARAMETERS

aVal[Boolean] New show values state.

BaseBorderColor (Accessor)

Public Property Get BaseBorderColor()

Get the base border color.

RETURNS

[Integer] Base border color.

BaseBorderColor (Mutator)

Public Property Let BaseBorderColor(ByVal aVal)

Set the base border color.

PARAMETERS

aVal[Integer] New base border color.

BaseFont (Accessor)

Public Property Get BaseFont()

Get the base font for checkbox values.

RETURNS

[Integer] Base font for checkbox values.

BaseFont (Mutator)

Public Property Let BaseFont(ByVal aVal)

Set the base font for checkbox values.

PARAMETERS

aVal[Integer] New base font for checkbox values.

BaseFontColor (Accessor)

Public Property Get BaseFontColor()

Get the base font color for checkbox values.

RETURNS

[Integer] Base font color for checkbox values.

BaseFontColor (Mutator)

Public Property Let BaseFontColor(ByVal aVal)

Set the base font color for checkbox values.

PARAMETERS

aVal[Integer] New base font color for checkbox values.

BaseFontSize (Accessor)

Public Property Get BaseFontSize()

Get the base font size for checkbox values.

RETURNS

[Double] Base font size for checkbox values (points).

BaseFontSize (Mutator)

Public Property Let BaseFontSize(ByVal aVal)

Set the base font size for checkbox values.

PARAMETERS

aVal[Double] New base font size for checkbox values (points).

MaxFontSize (Accessor)

Public Property Get MaxFontSize()

Get the maximum font size for checkbox values.

RETURNS

[Double] Maximum font size for checkbox values (points).

MaxFontSize (Mutator)

Public Property Let MaxFontSize(ByVal aVal)

Set the maximum font size for checkbox values.

PARAMETERS

aVal[Double] New maximum font size for checkbox values (points).

MinFontSize (Accessor)

Public Property Get MinFontSize()

Get the minimum font size for checkbox values.

RETURNS

[Double] Minimum font size for checkbox values (points).

MinFontSize (Mutator)

Public Property Let MinFontSize(ByVal aVal)

Set the minimum font size for checkbox values.

PARAMETERS

aVal[Double] New minimum font size for checkbox values (points).

StartValue (Accessor)

Public Property Get StartValue()

Get the beginning value.

RETURNS

[Integer] Beginning value.

StartValue (Mutator)

Public Property Let StartValue(ByVal aVal)

Set the beginning value.

PARAMETERS

aVal[Integer] New beginning value.

StopValue (Accessor)

Public Property Get StopValue()

Get the ending value.

RETURNS

[Integer] Ending value.

StopValue (Mutator)

Public Property Let StopValue(ByVal aVal)

Set the ending value.

PARAMETERS

aVal[Integer] New ending value.

GroupCount (Accessor)

Public Property Get GroupCount()

Get the checkbox group count.

RETURNS

[Integer] Checkbox group count.

GroupCount (Mutator)

Public Property Let GroupCount(ByVal aVal)

Set the checkbox group count.

PARAMETERS

aVal[Integer] New checkbox group count.

GroupSize (Accessor)

Public Property Get GroupSize()

Get the checkbox group size.

RETURNS

[Double] Checkbox group size (inches).

GroupSize (Mutator)

Public Property Let GroupSize(ByVal aVal)

Set the checkbox group size.

PARAMETERS

aVal[Double] New checkbox group size (inches).

BoxSpace (Accessor)

Public Property Get BoxSpace()

Get the checkbox spacer size.

RETURNS

[Double] Checkbox spacer size (inches).

BoxSpace (Mutator)

Public Property Let BoxSpace(ByVal aVal)

Set the checkbox spacer size.

PARAMETERS

aVal[Double] New checkbox spacer size (inches).

ColumnSpace (Accessor)

Public Property Get ColumnSpace()

Get the checkbox group horizontal (column) spacer size.

RETURNS

[Double] Checkbox group horizontal (column) spacer size (inches).

ColumnSpace (Mutator)

Public Property Let ColumnSpace(ByVal aVal)

Set the checkbox group horizontal (column) spacer size.

PARAMETERS

aVal[Double] New checkbox group horizontal (column) spacer size (inches).

RowSpace (Accessor)

Public Property Get RowSpace()

Get the checkbox group vertical (row) spacer size.

RETURNS

[Double] Checkbox group vertical (row) spacer size (inches).

RowSpace (Mutator)

Public Property Let RowSpace(ByVal aVal)

Set the checkbox group vertical (row) spacer size.

PARAMETERS

aVal[Double] New checkbox group vertical (row) spacer size (inches).

Public Methods

Clear

Public Sub Clear()

Deletes all breakpoints and reinitializes the object to default settings.

AddBreakpointEx

Public Sub AddBreakpointEx(ByVal aValue,
ByVal aFontColor,
ByVal aBorderColor,
ByVal aShadeColor)

Add a breakpoint.

PARAMETERS

aValue[Integer] Breakpoint value.
aFontColor[Integer] Font color of checkbox values associated with this breakpoint.
aBorderColor[Integer] Border color of checkboxes associated with this breakpoint.
aShadeColor[Integer] Background color of checkboxes associated with this breakpoint.

AddBreakpoint

Public Sub AddBreakpoint(ByVal aValue,
ByVal aShade)

Add a breakpoint.

PARAMETERS

aValue[Integer] Breakpoint value.
aShade[Integer] Background color of checkboxes associated with this breakpoint.

ClearBreakpoints

Public Sub ClearBreakpoints()

Deletes all breakpoints.

CalcHeight

Public Function CalcHeight()

Calculate the height required to render the checkboxes based on the current settings.

RETURNS

[Double] The height required to render the checkboxes (inches).

RenderCheckboxes

Public Sub RenderCheckboxes()

Renders the checkboxes.

Sub CharacterSheetOptions()
Sheet options handler; called by GCA and so must exist.
Sub SheetOptions_VersionCheck()
Sheet options version checker and upgrader.
Sub Main()
Main event handler; called by GCA and so must exist.
Sub Static_PageOneHeader()
Print the page one header.
Sub Static_PrimaryStats()
Print the primary statistic block.
Sub PrimaryStats_RenderItem(ByVal aStat,
ByVal aLeft,
ByVal aRight,
ByVal aHeight,
ByVal aShowCost,
ByVal aShade)
Render a statistic item.
Sub Block_WoundUsage()
Print the wound/usage recording block.
Sub WoundUsage_RenderRecordBlanks()
Render the hit and fatigue points record blanks.
Sub WoundUsage_RenderHPCheckboxes(ByVal aDrawSeparator)
Render the hit points checkboxes.
Function WoundUsage_RenderHPBreakpointsChart(ByVal aLeft,
ByVal aTop,
ByVal aWidth,
ByVal aCalc)
Render the hit points breakpoints chart.
Sub WoundUsage_RenderFPCheckboxes(ByVal aDrawSeparator)
Render the fatigue points checkboxes.
Function WoundUsage_RenderFPBreakpointsChart(ByVal aLeft,
ByVal aTop,
ByVal aWidth,
ByVal aCalc)
Render the fatigue points breakpoints chart.
Sub WoundUsage_RenderSPCheckboxes(ByVal aDrawSeparator)
Render the stress points checkboxes.
Function WoundUsage_RenderSPBreakpointsChart(ByVal aLeft,
ByVal aTop,
ByVal aWidth,
ByVal aCalc)
Render the stress points breakpoints chart.
Sub WoundUsage_RenderERCheckboxes(ByVal aDrawSeparator)
Render the energy reserve checkboxes.
Sub WoundUsage_RenderPICheckboxes(ByVal aDrawSeparator)
Render the power item checkboxes.
Sub Block_AncillaryBlocks()
Print the ancillary statistics blocks.
Sub AncillaryBlocks_RenderTelekinesis()
Render the telekinesis ancillary block.
Sub AncillaryBlocks_RenderUMana(ByRef arThresh,
ByRef arRecovery)
Render the “threshold limited magic”/”unlimited mana” ancillary block.
Sub AncillaryBlocks_RenderMage(ByRef arArete)
Render the Mage: The Ascension ancillary block.
Sub Block_LiftingFeats()
Print the lifting feats block.
Sub Block_SlamTable()
Print the slam table block.
Sub Block_EncumbranceTable()
Print the encumbrance table block.
Sub Block_Defenses()
Print the defenses block (active & passive).
Sub Defenses_DamageResistances(ByVal aSubColCount)
Render the expanded damage resistances table sub-block.
Sub Defenses_PaperDoll()
Render the paper-doll sub-block.
Sub Block_ReactionModifiers()
Print the reaction modifiers block.
Sub Block_CulturalList(ByVal aBlanks)
Print the cultural familiarity block.
Sub CulturalList_RenderItem(ByRef arTrait,
ByVal aIndent,
ByVal aParent,
ByVal aHeader,
ByVal aLabel)
Render the passed cultural familiarity trait object.
Function CulturalList_IsPrintable(ByRef arTrait)
Test if the passed trait object is a cultural familiarity and should be printed.
Function CulturalList_IsNative(ByRef arTrait)
Test if the passed trait object is a native cultural familiarity.
Sub Block_LanguageList(ByVal aBlanks)
Print the language block.
Sub LanguageList_RenderItem(ByRef arTrait,
ByVal aIndent,
ByVal aParent,
ByVal aHeader,
ByVal aLabel)
Render the passed language trait object.
Function LanguageList_IsPrintable(ByRef arTrait)
Test if the passed trait object is a language and should be printed.
Function LanguageList_IsNative(ByRef arTrait)
Test if the passed trait object is a native language.
Sub Block_AdList(ByVal aType,
ByVal aBlanks)
Print the templates and meta-traits, ads, perks, disads, and quirks blocks.
Sub AdList_RenderItem(ByRef arTrait,
ByVal aType,
ByVal aIndent,
ByVal aParent,
ByVal aHeader)
Render the passed advantage-type trait object.
Function AdList_IsPrintable(ByRef arTrait,
ByVal aType,
ByVal aIsChild)
Test if the passed trait object is an advantage-type trait and should be printed.
Sub Block_SkillList(ByVal aType,
ByVal aBlanks)
Print the skills, techniques, ritual magic paths, and spells blocks.
Sub SkillList_RenderItem(ByRef arTrait,
ByVal aType,
ByVal aIndent,
ByVal aParent,
ByVal aHeader,
ByVal aLabel)
Render the passed skill-type trait object.
Function SkillList_IsPrintable(ByRef arTrait,
ByVal aType,
ByVal aIsChild)
Test if the passed trait object is an skill-type trait and should be printed.
Sub Block_SizeSpeedRangeTable()
Print the size and speed/range table block.
Sub Block_HumanoidHitLocationTable()
Print the humanoid hit location table block.
Sub CreateAttackLists()
Create the melee & ranged attack lists.
Sub Block_MeleeAttackList(ByVal aBlanks)
Print the melee attack table block.
Sub MeleeAttackList_RenderItem(ByRef arTrait,
ByVal aIndent,
ByVal aParent,
ByVal aHeader,
ByVal aLabel)
Render the passed melee attack mode trait object.
Function MeleeAttackList_IsPrintable(ByRef arTrait)
Test if the passed trait object contains melee attack modes and should be printed.
Sub Block_RangedAttackList(ByVal aBlanks)
Print the ranged attack table block.
Sub RangedAttackList_RenderItem(ByRef arTrait,
ByVal aIndent,
ByVal aParent,
ByVal aHeader,
ByVal aLabel)
Render the passed ranged attack mode trait object.
Function RangedAttackList_IsPrintable(ByRef arTrait)
Test if the passed trait object contains ranged attack modes and should be printed.
Function AttackList_RenderFieldNotesChart(ByVal aCalc)
Render the attack field notes chart.
Sub Block_GrimoireList(ByVal aBlanks)
Print the spell grimoire block.
Sub GrimoireList_RenderItem(ByRef arTrait,
ByVal aHeader,
ByVal aLabel)
Render the passed spell trait object.
Function GrimoireList_IsPrintable(ByRef arTrait)
Test if the passed trait object is a spell and should be printed.
Function GrimoireList_FilterCats(ByVal aCatTag)
Filter non-colleges from the passed spell category string.
Sub Block_EquipmentList()
Print the equipment block.
Sub Block_LoadOutList()
Print the load-out block.
Function EquipmentList_RenderItem(ByRef arTrait,
ByVal aType,
ByVal aIndent,
ByVal aParent,
ByVal aHeader,
ByVal aLabel,
ByVal aIsPKid)
Render the passed equipment item trait object.
Function EquipmentList_IsPrintable(ByRef arTrait,
ByVal aType)
Test if the passed trait object is an equipment item and should be printed.
Sub Block_CampaignLog()
Print the campaign log block.
Sub CampaignLog_RenderEntry(ByRef arTrait,
ByVal aHeader)
Render the passed campaign log entry object.
Sub Block_PointSummary(ByVal aBottom)
Print the points summary block.
Sub Block_Portrait()
Print the character portrait block.
Sub Block_Description()
Print the character description block.
Sub Block_Notes()
Print the character notes block.
Sub Static_PortraitDescAndNotes()
Print the character portrait, description, and notes at the end of the sheet.
Function DescOrNotesOverflowsColumn()
Test if the character description and/or notes exceed one column in length.
Function DescOverflowsColumn()
Test if the character description exceeds one column in length.
Function NotesOverflowsColumn()
Test if the character notes exceed one column in length.
Sub Block_ScratchPad()
Print the scratch pad block.
Sub ResetFootnotes()
Reset/clear the current footnotes.
Sub RenderFootnotes()
Render the current footnotes.
Function CalcFootnotesHeight()
Calculate the minimum height of the current footnotes based on printing within 1-3 sub-columns.
Function SetFootnote(ByVal aText)
Set the passed text as a footnote and return its symbol.
Function GetFootnote(ByRef arTrait,
ByVal aBlock)
Register an aggregate of all bonus and conditional footnotes for the passed trait object and block flag as a footnote and return the symbol.
Function GetFootnoteText(ByRef arTrait,
ByVal aBlock)
Aggregate and return all bonus and conditional footnotes for the passed trait object and block flag.
Function FetchTraitByNameAndExt(ByRef arTrait,
ByVal aFullName,
ByVal aType)
Fetch a trait item object reference to the passed trait fullname and type.
Function FetchTraitByNameOnly(ByRef arTrait,
ByVal aName,
ByVal aType)
Fetch a trait item object reference to the passed trait name and type.
Function FetchTraitBySymbol(ByRef arTrait,
ByVal aSymbol,
ByVal aType)
Fetch a trait item object reference to the passed trait symbol and type.
Function GetTraitTagValue(ByVal aFullName,
ByVal aTag,
ByVal aType)
Get the value of the passed tag name from the passed trait fullname and type.
Function GetRelativeTrait(ByVal aTrait,
ByVal aScore)
Get the relative-trait-score string from the passed relative-trait string and score.
Sub PageSetup()
Initialize the page settings.
Sub FontSetup()
Initialize the font settings.
Sub DrawSetup()
Initialize the drawing settings (pen & brush values).
Function NotEnoughSpace(ByVal aHeight)
Test to see if the passed height will not fit within the space available to the current column.
Sub SetColumnUsage(ByVal aNumCols)
Set column usage; one column or both together (whole page).
Sub SwitchToColumn(ByVal aCol)
Set the currently active column.
Sub ToggleColumn()
Toggle the active column.
Sub UpdateColumnTops()
Update the top of the currently active column.
Sub SetColumnTop(ByVal aTop)
Set the top Y-coordinate of the currently active column.
Sub SetColumnBottom(ByVal aBottom)
Set the bottom Y-coordinate of the currently active column.
Sub AdvanceToNextColumn()
Advance to the next column, starting a new page if necessary.
Sub StartNewPage()
Start a new page.
Sub SetHeaderFont()
Initialize the header and footer font settings.
Sub SetHeader()
Set the page/sheet header.
Sub SetFooter()
Set the page/sheet footer.
Sub SetFont(ByVal aFont)
Set the font settings (name, size, color, bold, italic, underline).
Function CalcFontSize(ByVal aText,
ByVal aFont,
ByVal aSize,
ByVal aWidth,
ByVal aHeight)
Calculate largest font size that will allow the passed text to fit within the passed dimensions.
Function RealTextHeight(ByVal aText,
ByVal aWidth)
Calculate the height of the passed text based on the passed width and current font settings.
Function CalcHeightEx(ByVal aText,
ByVal aFont,
ByVal aSize,
ByVal aWidth)
Calculate the height of the passed text based on the passed font settings and passed width.
Function CalcHeight(ByVal aText,
ByVal aFont,
ByVal aWidth)
Calculate the height of the passed text based on the passed font settings and passed width.
Function CalcWidthEx(ByVal aText,
ByVal aFont,
ByVal aSize)
Calculate the width of the passed text based on the passed font settings.
Function CalcWidth(ByVal aText,
ByVal aFont)
Calculate the width of the passed text based on the passed font settings.
Function IsSkipped(ByRef arTrait)
Test if the passed trait object MUST be skipped.
Function IsHidden(ByRef arTrait,
ByVal aHideFlag)
Test if the passed trait object should be hidden.
Function IsLocked(ByRef arTrait)
Test if the passed trait object is locked.
Function StatExists(ByVal aStat)
Test if the passed statistc exists.
Function StatNotEmpty(ByVal aStat)
Test if the passed statistc exists and has a non-zero value.
Function OptionFlagSet(ByVal aOption,
ByVal aFlags)
Test if the passed bit-flags are set within the bit-field contained within the passed option name.
Function IsFlagSet(ByVal aField,
ByVal aFlags)
Test if the passed bit-flags are set within the passed bit-field.
Function IsNA(ByVal aText)
Test if the passed value should be considered a “not applicable/available” value.
Function RoundGreater(ByVal aNum)
Round the passed number to the next integer of greater magnitude.
Function RoundLesser(ByVal aNum)
Round the passed number to the next integer of lesser magnitude.
Function Ceil(ByVal aNum)
Round the passed number to the next larger integer.
Function Floor(ByVal aNum)
Round the passed number to the next smaller integer.
Function NumToSci(ByVal aNum,
ByVal aSigDigits)
Convert the passed number to a normalized scientific “e” notation string.
Function SciToNum(ByVal aNum)
Convert the passed scientific “e” notation string to a number.
Function Max(ByVal aVal1,
ByVal aVal2)
Determine which of the passed numbers is the largest.
Function Min(ByVal aVal1,
ByVal aVal2)
Determine which of the passed numbers is the smallest.
Function Avg(ByVal aVal1,
ByVal aVal2)
Calculate the average (arithmetic mean) of the passed numbers.
Function MaxList(ByVal aList())
Determine which of the numbers within the passed array is the largest.
Function MinList(ByVal aList())
Determine which of the numbers within the passed array is the smallest.
Function AvgList(ByVal aList())
Calculate the average (arithmetic mean) of the numbers within the passed array.
Function RoundGURPSThreshOver(ByVal aNum)
Round the passed number to the GURPS “over” threshold.
Function RoundGURPSThreshUnder(ByVal aNum)
Round the passed number to the GURPS “under” threshold.
Function StrToDbl(ByVal aNumStr)
Convert the passed simple numeric string, from virtually any locale, to a double.
Function StrToLng(ByVal aNumStr)
Convert the passed simple numeric string, from virtually any locale, to a long.
Function DiceAccumulator(ByVal aDice())
Accumulate the dice within the passed array.
Function Chomp(ByVal aText)
Trim line termination from the end of the passed string.
Function UCFirst(ByVal aText)
Uppercase the first character of the passed string.
Function UCWords(ByVal aText)
Uppercase the first character of every word in the passed string.
Function GetEquipMass(ByVal aMeasure,
ByVal aUnit)
Convert an equipment mass measurement to the appropriate scaled unit-type.
Function GetEquipMassUnit(ByVal aMeasure,
ByVal aUnit)
Convert an equipment mass measurement to the appropriate scaled unit.
Function GetScaledUnit(ByVal aMeasure,
ByVal aUnit)
Convert a measurement to the appropriate scaled unit.
Function GetScaledMassUnit(ByVal aMeasure)
Convert a mass measurement, from an assumed unit-type, to the appropriate scaled unit.
Function GetScaledLengthUnit(ByVal aMeasure)
Convert a distance/length measurement, from an assumed or integral unit-type, to the appropriate scaled unit.
Function AbbreviateLengthUnit(ByVal aUnit)
Convert a distance/length unit to its normalized abbreviated form.
Function IsTextRTF(ByVal aText)
Test if the passed string could be an RTF document or fragment.
Function CreateRtfDoc(ByVal aFonts(),
ByVal aColors(),
ByVal aText)
Creates and returns an RTF document from the passed font name list, color list, and RTF fragment.
Function CreateRtfFontTbl(ByVal aFonts())
Creates and returns an RTF font table from the passed font name list.
Function CreateRtfColorTbl(ByVal aColors())
Creates and returns an RTF color table from the passed color list.
Function GetRtfFont(ByVal aFont)
Get an RTF font setting command for the passed font.
Sub TextBoxEx(ByVal aText,
ByVal aLeft,
ByVal aTop,
ByVal aWidth,
ByVal aHeight,
ByVal aWrap)
Print the passed text, making necessary adjustments if it is RTF.
Sub DrawImage(ByVal aImage,
ByVal aX,
ByVal aY,
ByVal aW,
ByVal aH,
ByVal aUpscale)
Render an image centered within the passed area, scaled if necessary.
Sub DrawRectangleEx(ByVal aX1,
ByVal aY1,
ByVal aX2,
ByVal aY2,
ByVal aR1,
ByVal aR2,
ByVal aPWidth,
ByVal aPStyle,
ByVal aPColor,
ByVal aBStyle,
ByVal aBColor)
Render a rectangle at the passed coordinates.
Sub DrawShade(ByVal aX1,
ByVal aY1,
ByVal aX2,
ByVal aY2,
ByVal aColor)
Render a shaded rectangle at the passed coordinates.
Sub DrawBorder(ByVal aX1,
ByVal aY1,
ByVal aX2,
ByVal aY2,
ByVal aColor)
Render a bounding rectangle at the passed coordinates.
Sub DrawLineEx(ByVal aX1,
ByVal aY1,
ByVal aX2,
ByVal aY2,
ByVal aWidth,
ByVal aStyle,
ByVal aColor)
Render a line at the passed coordinates.
Sub DrawHRuleEx(ByVal aX1,
ByVal aY1,
ByVal aLength,
ByVal aStyle,
ByVal aColor)
Render a horizontal rule/line at the passed coordinates.
Sub DrawHRule(ByVal aX1,
ByVal aY1,
ByVal aLength,
ByVal aColor)
Render a horizontal rule/line at the passed coordinates, with a solid pen.
Sub DrawVRuleEx(ByVal aX1,
ByVal aY1,
ByVal aLength,
ByVal aStyle,
ByVal aColor)
Render a vertical rule/line at the passed coordinates.
Sub DrawVRule(ByVal aX1,
ByVal aY1,
ByVal aLength,
ByVal aColor)
Render a vertical rule/line at the passed coordinates, with a solid pen.
Function MixColors(ByVal aColor1,
ByVal aColor2)
Mix two colors.
Sub LogMesg(ByVal aMesg)
Write a branded message to the log, except when in Quick View mode.
Sub LogWarn(ByVal aMesg)
Write a branded warning message to the log.
Sub LogFail(ByVal aMesg)
Write a branded failure/error message to the log.
Function PopFail(ByVal aMesg)
Pop-up a branded failure/error message dialog box.
Function PopYesNo(ByVal aMesg)
Pop-up a branded yes/no query dialog box.
Sub QV_AddTraitSelectButtons()
Add the trait selection window buttons to the left margin of the current page.
Sub QV_EditBar(ByRef arTrait,
ByVal aTag,
ByVal aX1,
ByVal aY1,
ByVal aX2,
ByVal aY2)
Add an edit bar.
Sub QV_TextBox(ByRef arTrait,
ByVal aTag,
ByVal aX1,
ByVal aY1,
ByVal aX2,
ByVal aY2)
Add a text box.
Sub QV_AddEditControlInTwips(ByVal aX1,
ByVal aY1,
ByVal aX2,
ByVal aY2,
ByVal aType,
ByRef arTrait,
ByVal aTag,
ByVal aLabel)
Add an (interactive) editing control, specifying the coordinates and width in twips.
Sub QV_DrawEditHotspotInTwips(ByVal aX1,
ByVal aY1,
ByVal aX2,
ByVal aY2)
Draw a shade rectangle, specifying the coordinates and width in twips.
Private Sub Class_Initialize()
Prepares the object for use.
Private Sub Class_Terminate()
Prepares the object for destruction.
Private Sub pQSort(ByVal aFirst,
ByVal aLast,
ByVal aSortDesc)
Sorts elements within a range.
Private Function pQSortCmpAsc(ByVal aItem1,
ByVal aItem2)
Ascending comparator for pQSort.
Private Function pQSortCmpDesc(ByVal aItem1,
ByVal aItem2)
Descending comparator for pQSort.
Public Property Get Reserve()
Get the base allocation size.
Public Property Let Reserve(ByVal aCount)
Set the base allocation size.
Public Property Get Capacity()
Get the current number of elements that the vector can hold without needing to allocate more storage.
Public Property Get [Empty]()
Test if the vector is empty.
Public Property Get Count()
Get the count of all elements.
Public Property Get LBound()
Get the index of the first element.
Public Property Get UBound()
Get the index of the last element.
Public Property Get AsArray()
Get an array containing the values of all elements.
Public Default Property Get Item(ByVal aIdx)
Get the value of the element at the passed index.
Public Property Let Item(ByVal aIdx,
ByVal aVal)
Assign the passed value to the element at the passed index.
Public Property Get First()
Get the value of the first element.
Public Property Let First(ByVal aVal)
Assign the passed value to the first element.
Public Property Get Last()
Get the value of the last element.
Public Property Let Last(ByVal aVal)
Assign the passed value to the last element.
Public Property Let Insert(ByVal aIdx,
ByVal aVal)
Insert the passed value as a new element at the passed index.
Public Property Let Prepend(ByVal aVal)
Add a new element to the beginning of the vector and assign it the passed value.
Public Property Let Append(ByVal aVal)
Add a new element to the end of the vector and assign it the passed value.
Public Property Let Push(ByVal aVal)
Add a new element to the end of the vector and assign it the passed value.
Public Property Get Pop()
Delete the last element and return its value.
Public Property Let Enqueue(ByVal aVal)
Add a new element to the end of the vector and assign it the passed value.
Public Property Get Dequeue()
Delete the first element and return its value.
Public Function [Join](ByVal aDelim)
Return a string containing the values of all elements joined by the passed delimiter.
Public Function Find(ByVal aVal)
Search for the passed value among the elements.
Public Function Contains(ByVal aVal)
Test for the presence of the passed value among the elements.
Public Sub Sort()
Sorts all elements in ascending order.
Public Sub SortRev()
Sorts all elements in descending order.
Public Sub Clear()
Deletes all elements and resets the vector to the current base allocation size.
Public Function Delete(ByVal aIdx)
Delete the element at the passed index and return its value.
Private Sub Class_Initialize()
Prepares the object for use.
Private Sub Class_Terminate()
Prepares the object for destruction.
Public Property Get [Left]()
Get the left X-coordinate.
Public Property Let [Left](ByVal aVal)
Set the left X-coordinate.
Public Property Get Top()
Get the top Y-coordinate.
Public Property Let Top(ByVal aVal)
Set the top Y-coordinate.
Public Property Get [Width]()
Get the width dimension.
Public Property Let [Width](ByVal aVal)
Set the width dimension.
Public Property Get ShowValues()
Get the show values state.
Public Property Let ShowValues(ByVal aVal)
Set the show values state.
Public Property Get BaseBorderColor()
Get the base border color.
Public Property Let BaseBorderColor(ByVal aVal)
Set the base border color.
Public Property Get BaseFont()
Get the base font for checkbox values.
Public Property Let BaseFont(ByVal aVal)
Set the base font for checkbox values.
Public Property Get BaseFontColor()
Get the base font color for checkbox values.
Public Property Let BaseFontColor(ByVal aVal)
Set the base font color for checkbox values.
Public Property Get BaseFontSize()
Get the base font size for checkbox values.
Public Property Let BaseFontSize(ByVal aVal)
Set the base font size for checkbox values.
Public Property Get MaxFontSize()
Get the maximum font size for checkbox values.
Public Property Let MaxFontSize(ByVal aVal)
Set the maximum font size for checkbox values.
Public Property Get MinFontSize()
Get the minimum font size for checkbox values.
Public Property Let MinFontSize(ByVal aVal)
Set the minimum font size for checkbox values.
Public Property Get StartValue()
Get the beginning value.
Public Property Let StartValue(ByVal aVal)
Set the beginning value.
Public Property Get StopValue()
Get the ending value.
Public Property Let StopValue(ByVal aVal)
Set the ending value.
Public Property Get GroupCount()
Get the checkbox group count.
Public Property Let GroupCount(ByVal aVal)
Set the checkbox group count.
Public Property Get GroupSize()
Get the checkbox group size.
Public Property Let GroupSize(ByVal aVal)
Set the checkbox group size.
Public Property Get BoxSpace()
Get the checkbox spacer size.
Public Property Let BoxSpace(ByVal aVal)
Set the checkbox spacer size.
Public Property Get ColumnSpace()
Get the checkbox group horizontal (column) spacer size.
Public Property Let ColumnSpace(ByVal aVal)
Set the checkbox group horizontal (column) spacer size.
Public Property Get RowSpace()
Get the checkbox group vertical (row) spacer size.
Public Property Let RowSpace(ByVal aVal)
Set the checkbox group vertical (row) spacer size.
Public Sub Clear()
Deletes all breakpoints and reinitializes the object to default settings.
Public Sub AddBreakpointEx(ByVal aValue,
ByVal aFontColor,
ByVal aBorderColor,
ByVal aShadeColor)
Add a breakpoint.
Public Sub AddBreakpoint(ByVal aValue,
ByVal aShade)
Add a breakpoint.
Public Sub ClearBreakpoints()
Deletes all breakpoints.
Public Function CalcHeight()
Calculate the height required to render the checkboxes based on the current settings.
Public Sub RenderCheckboxes()
Renders the checkboxes.
Close