diff --git a/src/VivyApplication.cc b/src/VivyApplication.cc index 0cce1bc793cd402765dce585d75a10a679008afa..f3e17144af99bdce902167f4f286bf1f7d7a1a92 100644 --- a/src/VivyApplication.cc +++ b/src/VivyApplication.cc @@ -92,13 +92,10 @@ VivyApplication::getMainWindow() const return mainWindowPtr.get(); } -/* - * @return the current VivyDocument, or null if there isn't one or if the current document is not a VivyDocument - */ -VivyDocument * -VivyApplication::getCurrentVivyDocument() const +AbstractDocument * +VivyApplication::getCurrentDocument() const { if (!mainWindowPtr) throw std::logic_error("No main window in the graphic VivyApplication"); - return dynamic_cast<VivyDocument*>(mainWindowPtr.get()->getCurrentDocument()); + return mainWindowPtr.get()->getCurrentDocument(); } diff --git a/src/VivyApplication.hh b/src/VivyApplication.hh index d992f5e16fb576a9387c625c8b1f5533e6bf637f..757dcff18f8e029802675da3cff344b4147512a6 100644 --- a/src/VivyApplication.hh +++ b/src/VivyApplication.hh @@ -6,6 +6,9 @@ #define vivyApp static_cast<VivyApplication *>(QApplication::instance()) +#define currentVivyDocument() dynamic_cast<VivyDocument*>(vivyApp->getCurrentDocument()) +#define currentScriptDocument dynamic_cast<ScriptDocument*>(vivyApp->getCurrentDocument()) + // Only support dark theme for now #define VIVY_ICON_APP ":icons/vivy.png" #define VIVY_ICON_SCRIPT ":icons/lua.png" @@ -71,7 +74,7 @@ public: QFont getApplicationFont(Font) const noexcept; [[nodiscard("handle-it")]] MainWindow *getMainWindow() const; - [[nodiscard("handle-it")]] VivyDocument *getCurrentVivyDocument() const; + [[nodiscard("handle-it")]] AbstractDocument *getCurrentDocument() const; void setTheme(Theme) noexcept; };