Une image contenant texte, signe

Description générée automatiquement

Generate as HTML - Configuring Custom Tabs

 

Overview

In addition to the Diagrams tab which gathers all diagrams in scope onto one tab, additional tabs may be added.

Adding Tabs as a User

Additional tabs may be added as a user by modifying properties in the model.

 

Additional Main Tabs

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:

A close up of a sign

AI-generated content may be incorrect.

Additional Other Tabs

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

Customizing Tabs by Profiling

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

 

A screenshot of a computer

AI-generated content may be incorrect.

Multiple Extensions

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

A screenshot of a phone

AI-generated content may be incorrect.

Boolean Properties

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