mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-19 20:25:29 +08:00
refs #452 overlay messages (allows to display overlay messages in a widget)
* the overlay widget itself * a QFrame derived class allowing to display such widgets as overlay
This commit is contained in:
committed by
Mathew Sutcliffe
parent
2c91b3ada0
commit
61ace53989
65
src/blackgui/overlaymessagesframe.h
Normal file
65
src/blackgui/overlaymessagesframe.h
Normal file
@@ -0,0 +1,65 @@
|
||||
/* Copyright (C) 2015
|
||||
* swift project Community / Contributors
|
||||
*
|
||||
* This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level
|
||||
* directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project,
|
||||
* including this file, may be copied, modified, propagated, or distributed except according to the terms
|
||||
* contained in the LICENSE file.
|
||||
*/
|
||||
|
||||
//! \file
|
||||
|
||||
#ifndef BLACKGUI_OVERLAYMESSAGES_FRAME_H
|
||||
#define BLACKGUI_OVERLAYMESSAGES_FRAME_H
|
||||
|
||||
#include "blackgui/overlaymessages.h"
|
||||
#include <QFrame>
|
||||
|
||||
namespace BlackGui
|
||||
{
|
||||
/*!
|
||||
* Display status messages (nested in another widget)
|
||||
*/
|
||||
class COverlayMessagesFrame : public QFrame
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
//! Constructor
|
||||
explicit COverlayMessagesFrame(QWidget *parent = nullptr);
|
||||
|
||||
//! Destructor
|
||||
~COverlayMessagesFrame();
|
||||
|
||||
//! Show the inner frame
|
||||
void showStatusMessagesFrame();
|
||||
|
||||
//! Hide the inner frame
|
||||
void hideStatusMessagesFrame();
|
||||
|
||||
//! Show multiple messages
|
||||
void showMessages(const BlackMisc::CStatusMessageList &messages);
|
||||
|
||||
//! Show single message
|
||||
void showMessage(const BlackMisc::CStatusMessage &message);
|
||||
|
||||
protected:
|
||||
//! \copydoc QFrame::paintEvent
|
||||
virtual void paintEvent(QPaintEvent *event) override;
|
||||
|
||||
//! \copydoc QFrame::keyPressEvent
|
||||
virtual void keyPressEvent(QKeyEvent *event) override;
|
||||
|
||||
COverlayMessages *m_statusMessages = nullptr; //!< embedded QFrame with Status messages
|
||||
|
||||
private:
|
||||
//! Calculate inner frame size
|
||||
QSize innerFrameSize() const;
|
||||
|
||||
//! Init the inner frame (if not yet initialized)
|
||||
void initInnerFrame();
|
||||
};
|
||||
|
||||
} // ns
|
||||
|
||||
#endif // guard
|
||||
Reference in New Issue
Block a user