#include #include #include #include #include #include #include using namespace std; using namespace Wt; #define SET_BS5THEME 1 // Always apply theme before creating widgets! class CThemedApplication : public WApplication { public: CThemedApplication(const WEnvironment& rcEnv) : WApplication{rcEnv} { #if SET_BS5THEME setTheme(make_shared()); #endif } }; class CApplication final : public CThemedApplication { public: CApplication(const WEnvironment& rcEnv); private: WContainerWidget& m_rRoot{*root()}; }; CApplication::CApplication(const WEnvironment& rcEnv) : CThemedApplication{rcEnv} { static atomic _instanceNumber{0}; const int instanceNumber{++_instanceNumber}; setTitle(format("bug repro {} instance {}", WT_VERSION_STR, instanceNumber)); } int main(int argc, char* argv[]) { return WRun(argc, argv, [](const WEnvironment& rcEnv) { try { return make_unique(rcEnv); } catch (const std::exception& rcException) { cerr << "exception " << typeid(remove_cvref::type).name() << ": " << rcException.what() << endl; #if DEBUG exit(-1); #endif throw; } }); }