mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Merge pull request #8882 from OPM/append_curves
Summary Multiplot: Source Stepping append curves with performance fixes
This commit is contained in:
@@ -218,19 +218,6 @@ void RiuMultiPlotBook::removeAllPlots()
|
||||
void RiuMultiPlotBook::setPlotTitle( const QString& plotTitle )
|
||||
{
|
||||
m_plotTitle = plotTitle;
|
||||
for ( int i = 0; i < m_pages.size(); ++i )
|
||||
{
|
||||
int pageIndex = i + 1;
|
||||
int pageCount = (int)m_pages.size();
|
||||
if ( pageCount > pageIndex )
|
||||
{
|
||||
m_pages[i]->setPlotTitle( QString( "%1 %2/%3" ).arg( m_plotTitle ).arg( i + 1 ).arg( m_pages.size() ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
m_pages[i]->setPlotTitle( QString( "%1" ).arg( m_plotTitle ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -266,6 +253,7 @@ void RiuMultiPlotBook::scheduleTitleUpdate()
|
||||
{
|
||||
page->scheduleUpdate( RiaDefines::MultiPlotPageUpdateType::TITLE );
|
||||
}
|
||||
scheduleUpdate( RiaDefines::MultiPlotPageUpdateType::TITLE );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -333,9 +321,9 @@ void RiuMultiPlotBook::setPagePreviewModeEnabled( bool previewMode )
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuMultiPlotBook::scheduleUpdate()
|
||||
void RiuMultiPlotBook::scheduleUpdate( RiaDefines::MultiPlotPageUpdateType whatToUpdate )
|
||||
{
|
||||
RiaPlotWindowRedrawScheduler::instance()->scheduleMultiPlotWindowUpdate( this );
|
||||
RiaPlotWindowRedrawScheduler::instance()->scheduleMultiPlotBookUpdate( this, whatToUpdate );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -410,8 +398,8 @@ void RiuMultiPlotBook::showEvent( QShowEvent* event )
|
||||
{
|
||||
m_goToPageAfterUpdate = true;
|
||||
QWidget::showEvent( event );
|
||||
const bool regeneratePages = false;
|
||||
performUpdate( regeneratePages );
|
||||
|
||||
performUpdate( RiaDefines::MultiPlotPageUpdateType::ALL );
|
||||
if ( m_previewMode )
|
||||
{
|
||||
applyPagePreviewBookSize( width() );
|
||||
@@ -501,16 +489,22 @@ bool RiuMultiPlotBook::showYAxis( int row, int column ) const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuMultiPlotBook::performUpdate( bool regeneratePages )
|
||||
void RiuMultiPlotBook::performUpdate( RiaDefines::MultiPlotPageUpdateType whatToUpdate )
|
||||
{
|
||||
if ( !m_plotDefinition || !m_plotDefinition->isValid() ) return;
|
||||
|
||||
applyLook();
|
||||
if ( regeneratePages || m_pages.size() == 0 )
|
||||
if ( ( ( whatToUpdate & RiaDefines::MultiPlotPageUpdateType::PLOT ) == RiaDefines::MultiPlotPageUpdateType::PLOT ) ||
|
||||
m_pages.size() == 0 )
|
||||
{
|
||||
deleteAllPages();
|
||||
createPages();
|
||||
}
|
||||
else if ( ( whatToUpdate & RiaDefines::MultiPlotPageUpdateType::TITLE ) == RiaDefines::MultiPlotPageUpdateType::TITLE )
|
||||
{
|
||||
updatePageTitles();
|
||||
}
|
||||
|
||||
updateGeometry();
|
||||
|
||||
RimSummaryMultiPlot* multiPlot = dynamic_cast<RimSummaryMultiPlot*>( m_plotDefinition.p() );
|
||||
@@ -524,6 +518,27 @@ void RiuMultiPlotBook::performUpdate( bool regeneratePages )
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuMultiPlotBook::updatePageTitles()
|
||||
{
|
||||
if ( m_pages.isEmpty() ) return;
|
||||
|
||||
if ( m_pages.size() > 1 )
|
||||
{
|
||||
for ( int i = 0; i < m_pages.size(); ++i )
|
||||
{
|
||||
int pageNumber = i + 1;
|
||||
m_pages[i]->setPlotTitle( QString( "%1 %2/%3" ).arg( m_plotTitle ).arg( pageNumber ).arg( m_pages.size() ) );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_pages[0]->setPlotTitle( QString( "%1" ).arg( m_plotTitle ) );
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -603,14 +618,8 @@ void RiuMultiPlotBook::createPages()
|
||||
}
|
||||
|
||||
// Set page numbers in title when there's more than one page
|
||||
if ( m_pages.size() > 1 )
|
||||
{
|
||||
for ( int i = 0; i < m_pages.size(); ++i )
|
||||
{
|
||||
int pageNumber = i + 1;
|
||||
m_pages[i]->setPlotTitle( QString( "%1 %2/%3" ).arg( m_plotTitle ).arg( pageNumber ).arg( m_pages.size() ) );
|
||||
}
|
||||
}
|
||||
updatePageTitles();
|
||||
|
||||
adjustBookFrame();
|
||||
}
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ public:
|
||||
bool pagePreviewModeEnabled() const;
|
||||
void setPagePreviewModeEnabled( bool previewMode );
|
||||
|
||||
void scheduleUpdate();
|
||||
void scheduleUpdate( RiaDefines::MultiPlotPageUpdateType whatToUpdate = RiaDefines::MultiPlotPageUpdateType::ALL );
|
||||
void scheduleReplotOfAllPlots();
|
||||
|
||||
void renderTo( QPaintDevice* painter );
|
||||
@@ -123,6 +123,8 @@ protected:
|
||||
|
||||
const QList<QPointer<RiuMultiPlotPage>>& pages() const;
|
||||
|
||||
void updatePageTitles();
|
||||
|
||||
private:
|
||||
RiuMultiPlotPage* createPage();
|
||||
void deleteAllPages();
|
||||
@@ -131,7 +133,7 @@ private:
|
||||
void changeCurrentPage( int pageNumber );
|
||||
|
||||
private slots:
|
||||
virtual void performUpdate( bool regeneratePages );
|
||||
virtual void performUpdate( RiaDefines::MultiPlotPageUpdateType updateType );
|
||||
|
||||
protected:
|
||||
friend class RiaPlotWindowRedrawScheduler;
|
||||
|
||||
@@ -84,14 +84,7 @@ void RiuSummaryMultiPlotBook::createPages()
|
||||
}
|
||||
|
||||
// Set page numbers in title when there's more than one page
|
||||
if ( m_pages.size() > 1 )
|
||||
{
|
||||
for ( int i = 0; i < m_pages.size(); ++i )
|
||||
{
|
||||
int pageNumber = i + 1;
|
||||
m_pages[i]->setPlotTitle( QString( "%1 %2/%3" ).arg( m_plotTitle ).arg( pageNumber ).arg( m_pages.size() ) );
|
||||
}
|
||||
}
|
||||
updatePageTitles();
|
||||
adjustBookFrame();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user