|
|
Generate as HTML - Configuring Custom Tabs |
In addition to the Diagrams tab which gathers all diagrams in scope onto one tab, additional tabs may be added.
Additional tabs may be added as a user by modifying properties in the model.
These are tabs that appear in the main tabs area. The following property may be populated with a comma-separated list of types which may be base terms or new terms (for example Actor,Block).
RhapsodyPowerPack.GenerateAsHTML.MainTabTypes
Each model element in scope that is of those types gets its own tab:

To avoid having too many tabs on the main tab area, an additional Custom tab is available. Populate the following property is populated with a comma-separated list of types which may be base terms or new terms (for example UseCase,Block).
RhapsodyPowerPack.GenerateAsHTML.CustomTabTypes
Any elements in scope of those types are added to the Custom tab. By default, these elements appear on sub-tabs but this may be controlled using the following property:
RhapsodyPowerPack.GenerateAsHTML.UseSubTabsInCustomTab
Custom tabs may be defined in properties in a profile, allowing profile designers to extend the document generation according to the needs of their profile (s).
To add custom tabs to the main panel, add the following String / MultiLine property to your profile (either directly or using a .prp file)
RhapsodyPowerPackExtension.ProfileNameGenerateAsHTML.CustomTabNames
Where ProfileName is replaced by the name of your profile, for example a profile named UPDM would define:
RhapsodyPowerPackExtension.UPDMGenerateAsHTML.CustomTabNames
That property is a comma separated list of tabs to place on the main tabs bar, for example: Basic,Advanced
For each named tab, define three more properties (replace NAME with the name of the tab)
RhapsodyPowerPackExtension.ProfileNameGenerateAsHTML.NAMETabContent
RhapsodyPowerPackExtension.ProfileNameGenerateAsHTML.NAMETabUseSubTabs
RhapsodyPowerPackExtension.ProfileNameGenerateAsHTML.NAMETabUseHeadingsIfFlat
The TabContent property is a String/MultiLine property that defines the types to include on that tab (types may be new terms or base terms)
The other two properties are Bool properties that define the default layout of the new tabs
Example:
A profile named SysMLExtension could define custom tabs like this:
Subject RhapsodyPowerPackExtension
Metaclass
SysMLExtensionGenerateAsHTML
Property
CustomTabNames MultiLine
"Basic,Tables"
Property
BasicTabUseSubTabs Bool "True"
Property
TablesTabContent MultiLine
"TableView, RequirementsTable"
Property
BasicTabContent MultiLine
"Block,Actor,UseCase"
Property
TablesTabUseSubTabs Bool "False"
Property
BasicTabUseHeadingsIfFlat Bool "True"
Property
TablesTabUseHeadingsIfFlat Bool "True"
end
end
end
You can find this sample in RhapsodyPower Pack/Samples/GenerateAsHTML

Custom tab names and content are concatenated from all currently loaded profiles. For example if a second profile UMLExtension was loaded and it had the following property file then Classes would be included in the Basic tab:
Subject RhapsodyPowerPackExtension
Metaclass
UMLExtensionGenerateAsHTML
Property
CustomTabNames MultiLine
"Basic"
Property
BasicTabContent MultiLine
"Class"
end
end
end

It is obviously impossible to concatenate Boolean properties and so if any of the property files override the default then that value is used. The default values are as follows:
TabUseSubTabs : True
TabUseHeadingsIfFlat : True