diff --git a/settingsdialog/optionpage.h b/settingsdialog/optionpage.h index f67a861..39c8b10 100644 --- a/settingsdialog/optionpage.h +++ b/settingsdialog/optionpage.h @@ -142,13 +142,18 @@ template inline UiClass *UiFileBasedOptionPage::ui() } } // namespace QtUtilities +/*! + * \brief Declares the base class for a class inheriting from Dialogs::OptionPage. + */ +#define BEGIN_DECLARE_TYPEDEF_OPTION_PAGE(SomeClass) using SomeClass##Base = ::QtUtilities::OptionPage; + /*! * \brief Declares a class inheriting from Dialogs::OptionPage in a convenient * way. * \remarks Must be closed with END_DECLARE_OPTION_PAGE. */ #define BEGIN_DECLARE_OPTION_PAGE(SomeClass) \ - typedef ::QtUtilities::OptionPage SomeClass##Base; \ + BEGIN_DECLARE_TYPEDEF_OPTION_PAGE(SomeClass) \ class QT_UTILITIES_EXPORT SomeClass : public ::QtUtilities::OptionPage { \ public: \ explicit SomeClass(QWidget *parentWidget = nullptr); \ @@ -164,7 +169,7 @@ template inline UiClass *UiFileBasedOptionPage::ui() * \remarks Must be closed with END_DECLARE_OPTION_PAGE. */ #define BEGIN_DECLARE_OPTION_PAGE_CUSTOM_CTOR(SomeClass) \ - typedef ::QtUtilities::OptionPage SomeClass##Base; \ + BEGIN_DECLARE_TYPEDEF_OPTION_PAGE(SomeClass) \ class QT_UTILITIES_EXPORT SomeClass : public ::QtUtilities::OptionPage { \ public: \ ~SomeClass() override; \ @@ -173,16 +178,22 @@ template inline UiClass *UiFileBasedOptionPage::ui() \ private: +/*! + * \brief Declares the base class for a class inheriting from Dialogs::UiFileBasedOptionPage. + */ +#define BEGIN_DECLARE_TYPEDEF_UI_FILE_BASED_OPTION_PAGE(SomeClass) \ + namespace Ui { \ + class SomeClass; \ + } \ + using SomeClass##Base = ::QtUtilities::UiFileBasedOptionPage; + /*! * \brief Declares a class inheriting from Dialogs::UiFileBasedOptionPage in a * convenient way. * \remarks Must be closed with END_DECLARE_OPTION_PAGE. */ #define BEGIN_DECLARE_UI_FILE_BASED_OPTION_PAGE_CUSTOM_CTOR(SomeClass) \ - namespace Ui { \ - class SomeClass; \ - } \ - typedef ::QtUtilities::UiFileBasedOptionPage SomeClass##Base; \ + BEGIN_DECLARE_TYPEDEF_UI_FILE_BASED_OPTION_PAGE(SomeClass) \ class QT_UTILITIES_EXPORT SomeClass : public ::QtUtilities::UiFileBasedOptionPage { \ public: \ ~SomeClass() override; \