Further Summary Multiplot improvements (#8707)

* Create a specialized summary plot page for showing multi plots
* Make summary plots always show in grid of selected size.
* Allow dragging summary addresses into empty main window area
* Limit grid to 4x4 cells
This commit is contained in:
jonjenssen
2022-03-21 11:31:25 +01:00
committed by GitHub
parent 8d3f381b4f
commit e20adcdb69
16 changed files with 343 additions and 39 deletions

View File

@@ -26,12 +26,16 @@
#include "RiaRegressionTestRunner.h"
#include "RiaSummaryTools.h"
#include "PlotBuilderCommands/RicSummaryPlotBuilder.h"
#include "RimEnsembleCurveSetCollection.h"
#include "RimMainPlotCollection.h"
#include "RimMultiPlot.h"
#include "RimProject.h"
#include "RimSummaryCaseMainCollection.h"
#include "RimSummaryCurveCollection.h"
#include "RimSummaryMultiPlot.h"
#include "RimSummaryMultiPlotCollection.h"
#include "RimSummaryPlot.h"
#include "RimSummaryPlotCollection.h"
#include "RimSummaryPlotFilterTextCurveSetEditor.h"
@@ -46,6 +50,7 @@
#include "SummaryPlotCommands/RicSummaryPlotEditorDialog.h"
#include "RiuDockWidgetTools.h"
#include "RiuDragDrop.h"
#include "RiuMdiSubWindow.h"
#include "RiuMessagePanel.h"
#include "RiuMultiPlotPage.h"
@@ -86,6 +91,8 @@ RiuPlotMainWindow::RiuPlotMainWindow()
createToolBars();
createDockPanels();
setAcceptDrops( true );
// Store the layout so we can offer reset option
m_initialDockAndToolbarLayout = saveState( 0 );
@@ -1154,3 +1161,26 @@ bool RiuPlotMainWindow::isAnyMdiSubWindowVisible()
{
return m_mdiArea->subWindowList().size() > 0;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuPlotMainWindow::dragEnterEvent( QDragEnterEvent* event )
{
QPoint curpos = m_mdiArea->mapFromGlobal( QCursor::pos() );
if ( m_mdiArea->rect().contains( curpos ) ) event->acceptProposedAction();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuPlotMainWindow::dropEvent( QDropEvent* event )
{
std::vector<caf::PdmObjectHandle*> objects;
if ( RiuDragDrop::handleGenericDropEvent( event, objects ) )
{
RicSummaryPlotBuilder::createAndAppendSummaryMultiPlot( objects );
}
}