the makVrf::DtAutoHidePanel class the the manager that contains the tabs that show up on the right hand side of the gui and the dialogs they represent.
The makVrf::DtAutoHidePanel manages makVrf::DtAutoHidePanelItem classes that wrap a makVrf::DtAutoHideDock that contains a particular property dialog to display. When creating the initial auto hide panel, the default_guiConfiguration.gui file is used to see this panel
<pagecollection pagecollectionname="DtAutoHidePanel" title="Creation Panel" location="9" visible="True" index="-1" show="EntityCreationPalette" closable="True" floatable="True" movable="True">
<pageitem pageitemname="EntityCreationPalette"/>
<pageitem pageitemname="ORBATCreationPalette"/>
<pageitem pageitemname="TacticalGraphicCreationPalette"/>
<pageitem pageitemname="PropCreationPalette"/>
</pagecollection>
When editing or modifying an object in the simulation, the Object Modifier Dialog Manager is used in conjunction with this class to create a new dock tab and dock widget
DtVrfObjectModifierDialogCreator* thisEntitysDialogCreator = thisEntitysDialogCreationParameters->objectModifierDialogCreator();
if (thisEntitysDialogCreator)
{
QString title(QObject::tr("Create %1").arg(QString::fromUtf8(findEntityTypeName(thisEntityType).c_str())));
myObjectPropertiesDlg = thisEntitysDialogCreator->create(myDe, qtMainWindow, thisEntityType, title, signalCreate,
DtCreateAndEditObjectDialogInterface::DtCreationMode,
Context);
bool forceDialogToAppear = ((signalCreate ==
DtSignalCreationAndStop ) && thisEntitysDialogCreationParameters->forceDialogToAppearInPlans());
DtAutoHidePanel* thisAutoHidePanel = DtAutoHidePanel::instance(myDe);
if (thisAutoHidePanel)
{
thisAutoHidePanel->addItem(dynamic_cast<DtAutoHideDock*>(myObjectPropertiesDlg), forceDialogToAppear);
if (!forceDialogToAppear)
{
myObjectPropertiesDlg->hideDialog();
}
}
myObjectPropertiesDlg->setForce(force);
signal_dialogCreated(myObjectPropertiesDlg);
}
All dock widgets assigned to display are of the subclass makVrf::DtAutoHideDock. If you wish to add a new tab to the auto hide panel for functionality you wish to allow the user to select, you can add a an item to the makVrf::DtAutoHidePanel via the addItem call. This will add a new tab to the dock based on your design. Note that title and icon methods of the auto hide dock will be used to fill in the tab
As with other page manipulation, if you wish to remove the palettes from the display, you can either remove them from the gui file or use a plugin to remove them from code (Dock Widget and Toolbar Configuration).