refs #608, simplified direct main window access.

Just set the corresponding components and you are done.
This commit is contained in:
Klaus Basan
2016-03-13 18:20:52 +00:00
committed by Mathew Sutcliffe
parent 5a03d235cd
commit 8f33896e1c
4 changed files with 74 additions and 4 deletions

View File

@@ -10,21 +10,38 @@
#ifndef BLACKGUI_MAINWINDOWACCESS_H
#define BLACKGUI_MAINWINDOWACCESS_H
#include "blackgui/blackguiexport.h"
#include "blackmisc/statusmessage.h"
#include <QStatusBar>
namespace BlackGui
{
class CManagedStatusBar;
class COverlayMessagesFrame;
namespace Components { class CLogComponent; }
/*!
* Direct acccess to main window`s status bar, info bar and such
*/
class IMainWindowAccess
class BLACKGUI_EXPORT IMainWindowAccess
{
public:
//! Destructor
virtual ~IMainWindowAccess();
//! Display in console
virtual bool displayTextInConsole(const QString &message);
//! Display in status bar
virtual bool displayInStatusBar(const BlackMisc::CStatusMessage &message) = 0;
virtual bool displayInStatusBar(const BlackMisc::CStatusMessage &message);
//! Display in overlay window
virtual bool displayInOverlayWindow(const BlackMisc::CStatusMessage &message) = 0;
virtual bool displayInOverlayWindow(const BlackMisc::CStatusMessage &message);
protected:
Components::CLogComponent *m_mwaLogComponent = nullptr; //!< the log component if any
CManagedStatusBar *m_mwaStatusBar = nullptr; //!< status bar if any
COverlayMessagesFrame *m_mwaOverlayFrame = nullptr; //!< overlay messages if any
};
} // ns