refs #485, use Q_INTERFACES as a way of avoiding dynamic_cast

This commit is contained in:
Klaus Basan
2016-03-13 18:53:07 +00:00
committed by Mathew Sutcliffe
parent 45496ce08e
commit 6d79b7dc12
7 changed files with 8 additions and 1 deletions

View File

@@ -122,7 +122,7 @@ namespace BlackGui
IMainWindowAccess *CGuiApplication::mainWindowAccess()
{
IMainWindowAccess *m = dynamic_cast<IMainWindowAccess *>(mainApplicationWindow());
IMainWindowAccess *m = qobject_cast<IMainWindowAccess *>(mainApplicationWindow());
return m;
}

View File

@@ -47,6 +47,7 @@ namespace BlackGui
public BlackGui::IMainWindowAccess
{
Q_OBJECT
Q_INTERFACES(BlackGui::IMainWindowAccess)
public:
//! Similar to \sa QCoreApplication::instance() returns the single instance

View File

@@ -45,4 +45,6 @@ namespace BlackGui
};
} // ns
Q_DECLARE_INTERFACE(BlackGui::IMainWindowAccess, "org.swift-project.blackgui.mainwindowaccess")
#endif // guard

View File

@@ -31,6 +31,7 @@ class CSwiftCore :
public BlackMisc::CIdentifiable
{
Q_OBJECT
Q_INTERFACES(BlackGui::IMainWindowAccess)
public:
//! Constructor

View File

@@ -35,6 +35,7 @@ class CSwiftData :
public BlackGui::IMainWindowAccess
{
Q_OBJECT
Q_INTERFACES(BlackGui::IMainWindowAccess)
public:
//! Constructor

View File

@@ -49,6 +49,7 @@ class SwiftGuiStd :
public BlackGui::IMainWindowAccess
{
Q_OBJECT
Q_INTERFACES(BlackGui::IMainWindowAccess)
public:
//! Main page indexes

View File

@@ -37,6 +37,7 @@ class CSwiftLauncher :
public BlackGui::IMainWindowAccess
{
Q_OBJECT
Q_INTERFACES(BlackGui::IMainWindowAccess)
public:
//! Constructor