Class sh::ui::FilePropertyDialogTabFactoryByFunction

class sh::ui::FilePropertyDialogTabFactoryByFunction : public sh::ui::FilePropertyDialogTabFactory

Implementation of FilePropertyDialogTabFactory for making custom FilePropertyDialogTab implementations available.

This implementation relies on an external factory function which must be provided to the constructor.

Used internally inside the REGISTER_FILEPROPERTYDIALOGTAB macro.

Public Functions

FilePropertyDialogTabFactoryByFunction(std::function<std::shared_ptr<sh::ui::FilePropertyDialogTab>()> fct)
std::shared_ptr<sh::ui::FilePropertyDialogTab> construct(std::shared_ptr<sh::ui::FilePropertyDialog> dialog)

Constructs a fresh instance of a FilePropertyDialogTab implementation. .

Public Static Attributes

const int REGISTER_FILEPROPERTYDIALOGTAB_INDEX_CORE = 10000

Base value for display indexes of core (i.e. maximum important) tabs.

Used in FilePropertyDialog::addTabFactory.

const int REGISTER_FILEPROPERTYDIALOGTAB_INDEX_VERYIMPORTANT = 20000

Base value for display indexes of very important tabs.

Used in FilePropertyDialog::addTabFactory.

const int REGISTER_FILEPROPERTYDIALOGTAB_INDEX_IMPORTANT = 30000

Base value for display indexes of important tabs.

Used in FilePropertyDialog::addTabFactory.

const int REGISTER_FILEPROPERTYDIALOGTAB_INDEX_NORMAL = 40000

Base value for display indexes of tabs with medium importance.

Used in FilePropertyDialog::addTabFactory.

const int REGISTER_FILEPROPERTYDIALOGTAB_INDEX_EXOTIC = 50000

Base value for display indexes of exotic (i.e. less important) tabs.

Used in FilePropertyDialog::addTabFactory.

Private Members

std::function< std::shared_ptr< sh::ui::FilePropertyDialogTab >)> fct