#5756 Plot Window : Add message window

This commit is contained in:
Magne Sjaastad 2020-04-01 12:48:02 +02:00 committed by Gaute Lindkvist
parent bd5ce912fb
commit a48524eb42
8 changed files with 71 additions and 15 deletions

View File

@ -424,8 +424,13 @@ void RiaGuiApplication::initialize()
RiuPlotMainWindow* plotMainWindow = getOrCreateMainPlotWindow();
plotMainWindow->hideAllDockWidgets();
RiaLogging::setLoggerInstance( new RiuMessagePanelLogger( m_mainWindow->messagePanel() ) );
{
auto logger = new RiuMessagePanelLogger;
logger->addMessagePanel( m_mainWindow->messagePanel() );
logger->addMessagePanel( m_mainPlotWindow->messagePanel() );
RiaLogging::setLoggerInstance( logger );
RiaLogging::loggerInstance()->setLevel( RI_LL_DEBUG );
}
m_socketServer = new RiaSocketServer( this );
}
@ -1643,7 +1648,7 @@ int RiaGuiApplication::applicationResolution()
//--------------------------------------------------------------------------------------------------
void RiaGuiApplication::startMonitoringWorkProgress( caf::UiProcess* uiProcess )
{
m_mainWindow->processMonitor()->startMonitorWorkProcess( m_workerProcess );
m_mainWindow->processMonitor()->startMonitorWorkProcess( uiProcess );
}
//--------------------------------------------------------------------------------------------------

View File

@ -108,6 +108,14 @@ QString RiuDockWidgetTools::plotMainWindowPropertyEditorName()
return "plotMainWindow_dockPropertyEditor";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RiuDockWidgetTools::plotMainWindowMessagesName()
{
return "plotMainWindow_dockMessages";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -48,6 +48,7 @@ public:
static QString plotMainWindowProjectTreeName();
static QString plotMainWindowPropertyEditorName();
static QString plotMainWindowMessagesName();
static QAction* toggleActionForWidget( const QObject* parent, const QString& dockWidgetName );

View File

@ -137,12 +137,19 @@ void RiuMessagePanel::slotClearMessages()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RiuMessagePanelLogger::RiuMessagePanelLogger( RiuMessagePanel* messagePanel )
: m_messagePanel( messagePanel )
, m_logLevel( RI_LL_WARNING )
RiuMessagePanelLogger::RiuMessagePanelLogger()
: m_logLevel( RI_LL_WARNING )
{
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuMessagePanelLogger::addMessagePanel( RiuMessagePanel* messagePanel )
{
m_messagePanel.push_back( messagePanel );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -201,8 +208,11 @@ void RiuMessagePanelLogger::writeToMessagePanel( RILogLevel messageLevel, const
return;
}
if ( m_messagePanel )
for ( auto panel : m_messagePanel )
{
m_messagePanel->addMessage( messageLevel, message );
if ( panel )
{
panel->addMessage( messageLevel, message );
}
}
}

View File

@ -57,7 +57,9 @@ private:
class RiuMessagePanelLogger : public RiaLogger
{
public:
explicit RiuMessagePanelLogger( RiuMessagePanel* messagePanel );
explicit RiuMessagePanelLogger();
void addMessagePanel( RiuMessagePanel* messagePanel );
int level() const override;
void setLevel( int logLevel ) override;
@ -71,6 +73,6 @@ private:
void writeToMessagePanel( RILogLevel messageLevel, const char* message );
private:
QPointer<RiuMessagePanel> m_messagePanel;
std::vector<QPointer<RiuMessagePanel>> m_messagePanel;
int m_logLevel;
};

View File

@ -44,6 +44,7 @@
#include "RiuDockWidgetTools.h"
#include "RiuDragDrop.h"
#include "RiuMdiSubWindow.h"
#include "RiuMessagePanel.h"
#include "RiuMultiPlotPage.h"
#include "RiuToolTipMenu.h"
#include "RiuTreeViewEventFilter.h"
@ -463,6 +464,15 @@ void RiuPlotMainWindow::createDockPanels()
addDockWidget( Qt::LeftDockWidgetArea, dockWidget );
}
{
QDockWidget* dockWidget = new QDockWidget( "Messages", this );
dockWidget->setObjectName( RiuDockWidgetTools::plotMainWindowMessagesName() );
m_messagePanel = new RiuMessagePanel( dockWidget );
dockWidget->setWidget( m_messagePanel );
addDockWidget( Qt::BottomDockWidgetArea, dockWidget );
dockWidget->hide();
}
setCorner( Qt::BottomLeftCorner, Qt::LeftDockWidgetArea );
setCorner( Qt::BottomRightCorner, Qt::BottomDockWidgetArea );
@ -675,6 +685,14 @@ RicSummaryCurveCalculatorDialog* RiuPlotMainWindow::summaryCurveCalculatorDialog
return m_summaryCurveCalculatorDialog;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RiuMessagePanel* RiuPlotMainWindow::messagePanel()
{
return m_messagePanel;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -28,14 +28,14 @@
#include <memory>
class QMdiSubWindow;
class RiuViewer;
struct RimMdiWindowGeometry;
class QMdiSubWindow;
class RiuViewer;
class RimViewWindow;
class RicSummaryPlotEditorDialog;
class RicSummaryCurveCalculatorDialog;
class RiuMessagePanel;
namespace caf
{
@ -91,6 +91,8 @@ public:
RicSummaryPlotEditorDialog* summaryCurveCreatorDialog();
RicSummaryCurveCalculatorDialog* summaryCurveCalculatorDialog();
RiuMessagePanel* messagePanel();
protected:
void closeEvent( QCloseEvent* event ) override;
void keyPressEvent( QKeyEvent* ) override;
@ -124,6 +126,7 @@ private:
RiuMdiArea* m_mdiArea;
caf::PdmPointer<RimViewWindow> m_activePlotViewWindow;
QPointer<RiuMessagePanel> m_messagePanel;
QMenu* m_windowMenu;

View File

@ -17,7 +17,10 @@
/////////////////////////////////////////////////////////////////////////////////
#include "RiaApplication.h"
#include "RiaGuiApplication.h"
#include "RiuMessagePanel.h"
#include "RiuPlotMainWindow.h"
#include "RiuProcessMonitor.h"
#include "cafUiProcess.h"
@ -149,6 +152,12 @@ void RiuProcessMonitor::addStringToLog( const QString& sTxt )
m_textEdit->insertPlainText( sTxt );
m_textEdit->ensureCursorVisible();
RiuPlotMainWindow* mainPlotWindow = RiaGuiApplication::instance()->mainPlotWindow();
if ( mainPlotWindow && mainPlotWindow->messagePanel() )
{
mainPlotWindow->messagePanel()->addMessage( RI_LL_INFO, sTxt );
}
}
//--------------------------------------------------------------------------------------------------