Merge pull request #4932 from OPM/summary-adjustments

Summary Adjustments
This commit is contained in:
Magne Sjaastad
2019-10-25 15:17:40 +02:00
committed by GitHub
20 changed files with 149 additions and 55 deletions

View File

@@ -70,5 +70,6 @@ void RicExitApplicationFeature::onActionTriggered( bool isChecked )
void RicExitApplicationFeature::setupActionLook( QAction* actionToSetup )
{
actionToSetup->setText( "E&xit" );
actionToSetup->setShortcut( QKeySequence::Quit );
applyShortcutWithHintToAction( actionToSetup, QKeySequence::Quit );
}

View File

@@ -266,5 +266,6 @@ void RicHelpOpenUsersGuideFeature::onActionTriggered( bool isChecked )
void RicHelpOpenUsersGuideFeature::setupActionLook( QAction* actionToSetup )
{
actionToSetup->setText( "&Users Guide" );
actionToSetup->setShortcut( QKeySequence::HelpContents );
applyShortcutWithHintToAction( actionToSetup, QKeySequence::HelpContents );
}

View File

@@ -69,5 +69,6 @@ void RicOpenProjectFeature::setupActionLook( QAction* actionToSetup )
{
actionToSetup->setText( "Open Project" );
actionToSetup->setIcon( QIcon( ":/openFolder24x24.png" ) );
actionToSetup->setShortcuts( QKeySequence::Open );
applyShortcutWithHintToAction( actionToSetup, QKeySequence::Open );
}

View File

@@ -92,5 +92,6 @@ void RicSaveProjectAsFeature::setupActionLook( QAction* actionToSetup )
{
actionToSetup->setText( "Save Project &As" );
actionToSetup->setIcon( QIcon( ":/Save.png" ) );
actionToSetup->setShortcuts( QKeySequence::SaveAs );
applyShortcutWithHintToAction( actionToSetup, QKeySequence::SaveAs );
}

View File

@@ -101,7 +101,8 @@ void RicSaveProjectFeature::setupActionLook( QAction* actionToSetup )
{
actionToSetup->setText( "&Save Project" );
actionToSetup->setIcon( QIcon( ":/Save.png" ) );
actionToSetup->setShortcuts( QKeySequence::Save );
applyShortcutWithHintToAction( actionToSetup, QKeySequence::Save );
}
//--------------------------------------------------------------------------------------------------

View File

@@ -87,5 +87,6 @@ void RicCreatePlotFromTemplateByShortcutFeature::setupActionLook( QAction* actio
actionToSetup->setIcon( QIcon( ":/SummaryTemplate16x16.png" ) );
QKeySequence keySeq( Qt::CTRL + Qt::Key_T );
actionToSetup->setShortcut( keySeq );
applyShortcutWithHintToAction( actionToSetup, keySeq );
}

View File

@@ -138,7 +138,7 @@ void RicSummaryPlotTemplateTools::appendSummaryPlotToPlotCollection(
}
}
if ( selectedSummaryCases.size() > static_cast<size_t>( maximumIndexValue ) )
if ( selectedSummaryCases.size() > static_cast<size_t>( maximumIndexValue + 1 ) )
{
// Use the curve style of the last curve in template, and duplicate this for remaining data sources
@@ -192,7 +192,7 @@ void RicSummaryPlotTemplateTools::appendSummaryPlotToPlotCollection(
}
}
if ( selectedEnsembles.size() > static_cast<size_t>( maximumIndexValue ) )
if ( selectedEnsembles.size() > static_cast<size_t>( maximumIndexValue + 1 ) )
{
// Use the curve style of the last curve in template, and duplicate this for remaining data sources

View File

@@ -41,6 +41,7 @@
#include "RiuMainWindow.h"
#include "RiuPlotMainWindow.h"
#include "RiuPlotMainWindowTools.h"
#include "SummaryPlotCommands/RicNewSummaryEnsembleCurveSetFeature.h"
#include "SummaryPlotCommands/RicNewSummaryPlotFeature.h"
@@ -84,7 +85,12 @@ void RicImportSummaryCasesFeature::onActionTriggered( bool isChecked )
addSummaryCases( cases );
if ( !cases.empty() )
{
RicSummaryPlotFeatureImpl::createDefaultSummaryPlot( cases.front() );
auto objectToSelect = RicSummaryPlotFeatureImpl::createDefaultSummaryPlot( cases.front() );
if ( objectToSelect )
{
RiuPlotMainWindowTools::setExpanded( objectToSelect );
RiuPlotMainWindowTools::selectAsCurrentItem( objectToSelect );
}
}
addCasesToGroupIfRelevant( cases );
@@ -95,8 +101,6 @@ void RicImportSummaryCasesFeature::onActionTriggered( bool isChecked )
RiuPlotMainWindow* mainPlotWindow = app->getOrCreateAndShowMainPlotWindow();
if ( mainPlotWindow && !cases.empty() )
{
mainPlotWindow->selectAsCurrentItem( cases.back() );
mainPlotWindow->updateSummaryPlotToolBar();
}
@@ -134,13 +138,17 @@ bool RicImportSummaryCasesFeature::createAndAddSummaryCasesFromFiles( const QStr
addSummaryCases( *cases );
if ( !cases->empty() && doCreateDefaultPlot )
{
RicSummaryPlotFeatureImpl::createDefaultSummaryPlot( cases->back() );
auto objectToSelect = RicSummaryPlotFeatureImpl::createDefaultSummaryPlot( cases->back() );
if ( objectToSelect )
{
RiuPlotMainWindowTools::setExpanded( objectToSelect );
RiuPlotMainWindowTools::selectAsCurrentItem( objectToSelect );
}
}
RiuPlotMainWindow* mainPlotWindow = app->getOrCreateAndShowMainPlotWindow();
if ( mainPlotWindow && !cases->empty() )
{
mainPlotWindow->selectAsCurrentItem( cases->back() );
mainPlotWindow->updateSummaryPlotToolBar();
// Close main window if there are no eclipse cases imported

View File

@@ -54,5 +54,6 @@ void RicActivateCurveFilterInToolbarFeature::onActionTriggered( bool isChecked )
void RicActivateCurveFilterInToolbarFeature::setupActionLook( QAction* actionToSetup )
{
actionToSetup->setText( "Activate Summary Curve Filter Editor" );
actionToSetup->setShortcut( QKeySequence( tr( "Ctrl+F" ) ) );
applyShortcutWithHintToAction( actionToSetup, QKeySequence( tr( "Ctrl+F" ) ) );
}

View File

@@ -68,17 +68,7 @@ RicSummaryCurveCreatorDialog* RicEditSummaryPlotFeature::curveCreatorDialog()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RicEditSummaryPlotFeature::isCommandEnabled()
{
if ( selectedSummaryPlot() ) return true;
return false;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicEditSummaryPlotFeature::onActionTriggered( bool isChecked )
void RicEditSummaryPlotFeature::editSummaryPlot( RimSummaryPlot* plot )
{
auto dialog = RicEditSummaryPlotFeature::curveCreatorDialog();
@@ -91,13 +81,30 @@ void RicEditSummaryPlotFeature::onActionTriggered( bool isChecked )
dialog->raise();
}
// Set target plot
if ( selectedSummaryPlot() )
if ( plot )
{
dialog->updateFromSummaryPlot( selectedSummaryPlot() );
dialog->updateFromSummaryPlot( plot );
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RicEditSummaryPlotFeature::isCommandEnabled()
{
if ( selectedSummaryPlot() ) return true;
return false;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicEditSummaryPlotFeature::onActionTriggered( bool isChecked )
{
editSummaryPlot( selectedSummaryPlot() );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -110,7 +117,7 @@ void RicEditSummaryPlotFeature::setupActionLook( QAction* actionToSetup )
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimSummaryPlot* RicEditSummaryPlotFeature::selectedSummaryPlot() const
RimSummaryPlot* RicEditSummaryPlotFeature::selectedSummaryPlot()
{
RimSummaryPlot* sumPlot = nullptr;

View File

@@ -35,13 +35,13 @@ public:
void closeDialogAndResetTargetPlot();
static RicSummaryCurveCreatorDialog* curveCreatorDialog();
static void editSummaryPlot( RimSummaryPlot* plot );
protected:
// Overrides
bool isCommandEnabled() override;
void onActionTriggered( bool isChecked ) override;
void setupActionLook( QAction* actionToSetup ) override;
private:
RimSummaryPlot* selectedSummaryPlot() const;
static RimSummaryPlot* selectedSummaryPlot();
};

View File

@@ -107,7 +107,7 @@ void RicSummaryCurveCreatorSplitterUi::recursivelyConfigureAndUpdateTopLevelUiOr
QMinimizePanel* curveGroup = getOrCreateCurveTreeGroup();
m_lowerLeftLayout->insertWidget( 2, curveGroup, 1 );
m_lowerLeftLayout->addStretch( 0 );
m_secondRowLayout->insertWidget( 1, getOrCreatePlotWidget() );
m_lowerRightLayout->insertWidget( 1, getOrCreatePlotWidget() );
// Fields at bottom of dialog
configureAndUpdateFields( 1, m_bottomFieldLayout, topLevelUiItems, uiConfigName );
@@ -138,6 +138,20 @@ QWidget* RicSummaryCurveCreatorSplitterUi::createWidget( QWidget* parent )
m_lowerLeftLayout->setContentsMargins( 0, 0, 0, 0 );
m_secondRowLayout->addLayout( m_lowerLeftLayout );
m_lowerRightLayout = new QVBoxLayout;
m_lowerRightLayout->setContentsMargins( 0, 0, 0, 0 );
m_secondRowLayout->addLayout( m_lowerRightLayout );
{
auto label = new QLabel( "Plot Preview" );
label->setAlignment( Qt::AlignCenter );
auto font = label->font();
font.setPixelSize( 20 );
label->setFont( font );
m_lowerRightLayout->insertWidget( 0, label );
}
m_firstColumnSplitter = new QSplitter( Qt::Vertical );
m_firstColumnSplitter->setContentsMargins( 0, 0, 0, 0 );

View File

@@ -87,6 +87,7 @@ private:
QPointer<QHBoxLayout> m_firstRowLayout;
QPointer<QHBoxLayout> m_secondRowLayout;
QPointer<QVBoxLayout> m_lowerLeftLayout;
QPointer<QVBoxLayout> m_lowerRightLayout;
QPointer<QHBoxLayout> m_bottomFieldLayout;

View File

@@ -131,7 +131,12 @@ void RicSummaryPlotFeatureImpl::ensureAtLeastOnePlot( RimSummaryPlotCollection*
{
if ( summaryPlotCollection->summaryPlots.empty() )
{
createDefaultSummaryPlot( summaryCase );
auto objectToSelect = createDefaultSummaryPlot( summaryCase );
if ( objectToSelect )
{
RiuPlotMainWindowTools::setExpanded( objectToSelect );
RiuPlotMainWindowTools::selectAsCurrentItem( objectToSelect );
}
}
}
}
@@ -139,11 +144,13 @@ void RicSummaryPlotFeatureImpl::ensureAtLeastOnePlot( RimSummaryPlotCollection*
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicSummaryPlotFeatureImpl::createDefaultSummaryPlot( RimSummaryCase* summaryCase )
caf::PdmObject* RicSummaryPlotFeatureImpl::createDefaultSummaryPlot( RimSummaryCase* summaryCase )
{
RimSummaryPlotCollection* summaryPlotCollection =
RiaApplication::instance()->project()->mainPlotCollection->summaryPlotCollection();
caf::PdmObject* itemToSelect = nullptr;
if ( summaryPlotCollection && summaryCase &&
!RiaApplication::instance()->preferences()->defaultSummaryCurvesTextFilter().isEmpty() )
{
@@ -156,12 +163,17 @@ void RicSummaryPlotFeatureImpl::createDefaultSummaryPlot( RimSummaryCase* summar
summaryPlotCollection->updateConnectedEditors();
caf::PdmObject* itemToSelect = plot;
if ( curves.size() ) itemToSelect = curves[0];
RiuPlotMainWindowTools::setExpanded( itemToSelect );
RiuPlotMainWindowTools::selectAsCurrentItem( itemToSelect );
if ( curves.size() )
{
itemToSelect = curves[0];
}
else
{
itemToSelect = plot;
}
}
return itemToSelect;
}
RimSummaryCurve* createHistoryCurve( const RifEclipseSummaryAddress& addr, RimSummaryCase* summaryCasesToUse )
@@ -275,7 +287,7 @@ void RicSummaryPlotFeatureImpl::createSummaryPlotsFromArgumentLine( const QStrin
QStringList gridFileNames;
QString ensembleColoringParameter;
std::set<QString> validOptions = {"-help", "-h", "-nl", "-s", "-n", "-e", "-c", "-cl"};
std::set<QString> validOptions = { "-help", "-h", "-nl", "-s", "-n", "-e", "-c", "-cl" };
for ( int optionIdx = 0; optionIdx < arguments.size(); ++optionIdx )
{

View File

@@ -22,6 +22,11 @@
#include <set>
#include <vector>
namespace caf
{
class PdmObject;
}
class RimSummaryCurve;
class RimSummaryPlot;
class RimSummaryCase;
@@ -35,7 +40,7 @@ public:
static RimSummaryCurve* addDefaultCurveToPlot( RimSummaryPlot* plot, RimSummaryCase* summaryCase );
static std::vector<RimSummaryCurve*> addDefaultCurvesToPlot( RimSummaryPlot* plot, RimSummaryCase* summaryCase );
static void ensureAtLeastOnePlot( RimSummaryPlotCollection* summaryPlotCollection, RimSummaryCase* summaryCase );
static void createDefaultSummaryPlot( RimSummaryCase* summaryCase );
static caf::PdmObject* createDefaultSummaryPlot( RimSummaryCase* summaryCase );
static void createSummaryPlotsFromArgumentLine( const QStringList& arguments );

View File

@@ -21,6 +21,8 @@
#include "RiaApplication.h"
#include "RiaStdStringTools.h"
#include "SummaryPlotCommands/RicEditSummaryPlotFeature.h"
#include "RifReaderEclipseSummary.h"
#include "RimProject.h"
@@ -33,6 +35,7 @@
#include "RiuQwtPlotCurve.h"
#include "RiuSummaryQwtPlot.h"
#include "cafPdmUiPushButtonEditor.h"
#include "cafPdmUiTreeViewEditor.h"
#include "qwt_plot.h"
@@ -55,6 +58,10 @@ RimSummaryCurveCollection::RimSummaryCurveCollection()
CAF_PDM_InitField( &m_showCurves, "IsActive", true, "Show Curves", "", "", "" );
m_showCurves.uiCapability()->setUiHidden( true );
CAF_PDM_InitField( &m_editPlot, "EditPlot", false, "", "", "", "" );
m_editPlot.xmlCapability()->disableIO();
m_editPlot.uiCapability()->setUiEditorTypeName( caf::PdmUiPushButtonEditor::uiEditorTypeName() );
CAF_PDM_InitFieldNoDefault( &m_ySourceStepping, "YSourceStepping", "", "", "", "" );
m_ySourceStepping = new RimSummaryPlotSourceStepping;
m_ySourceStepping->setSourceSteppingType( RimSummaryPlotSourceStepping::Y_AXIS );
@@ -407,6 +414,33 @@ void RimSummaryCurveCollection::fieldChangedByUi( const caf::PdmFieldHandle* cha
{
loadDataAndUpdate( true );
}
else if ( changedField == &m_editPlot )
{
RimSummaryPlot* plot = nullptr;
this->firstAncestorOrThisOfType( plot );
if ( plot )
{
RicEditSummaryPlotFeature::editSummaryPlot( plot );
}
m_editPlot = false;
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryCurveCollection::defineEditorAttribute( const caf::PdmFieldHandle* field,
QString uiConfigName,
caf::PdmUiEditorAttribute* attribute )
{
if ( &m_editPlot == field )
{
caf::PdmUiPushButtonEditorAttribute* attrib = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*>( attribute );
if ( attrib )
{
attrib->m_buttonText = "Edit Plot";
}
}
}
//--------------------------------------------------------------------------------------------------

View File

@@ -85,9 +85,14 @@ private:
const QVariant& oldValue,
const QVariant& newValue ) override;
void defineEditorAttribute( const caf::PdmFieldHandle* field,
QString uiConfigName,
caf::PdmUiEditorAttribute* attribute ) override;
private:
caf::PdmField<bool> m_showCurves;
caf::PdmChildArrayField<RimSummaryCurve*> m_curves;
caf::PdmField<bool> m_editPlot;
caf::PdmChildField<RimSummaryPlotSourceStepping*> m_ySourceStepping;
caf::PdmChildField<RimSummaryPlotSourceStepping*> m_xSourceStepping;

View File

@@ -1674,9 +1674,14 @@ void RimSummaryPlot::setAsCrossPlot()
//--------------------------------------------------------------------------------------------------
void RimSummaryPlot::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering )
{
RimViewWindow::defineUiOrdering( uiConfigName, uiOrdering );
if ( !m_isCrossPlot )
{
caf::PdmUiGroup* textCurveFilterGroup = uiOrdering.addNewGroup( "Text-Based Curve Creation" );
m_textCurveSetEditor->uiOrdering( uiConfigName, *textCurveFilterGroup );
}
caf::PdmUiGroup* mainOptions = uiOrdering.addNewGroup( "General Plot Options" );
mainOptions->setCollapsedByDefault( true );
mainOptions->add( &m_showPlotTitle );
if ( m_showPlotTitle )
@@ -1695,11 +1700,7 @@ void RimSummaryPlot::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering&
mainOptions->add( &m_normalizeCurveYValues );
mainOptions->add( &m_plotTemplate );
if ( !m_isCrossPlot )
{
caf::PdmUiGroup* textCurveFilterGroup = uiOrdering.addNewGroup( "Text-Based Curve Creation" );
m_textCurveSetEditor->uiOrdering( uiConfigName, *textCurveFilterGroup );
}
RimViewWindow::defineUiOrdering( uiConfigName, uiOrdering );
uiOrdering.skipRemainingFields( true );
}

View File

@@ -70,7 +70,7 @@ RimSummaryPlotFilterTextCurveSetEditor::RimSummaryPlotFilterTextCurveSetEditor()
CAF_PDM_InitObject( "Curve Set Filter Text", "", "", "" );
// clang-format off
QString filterTextHeading = "Text to Create Summary Vectors";
QString filterTextHeading = "Create Summary Curves from Text";
QString filterTextShortcut = " (Ctrl + F)";
QString filterTextToolTip =
@@ -440,7 +440,7 @@ void RimSummaryPlotFilterTextCurveSetEditor::defineEditorAttribute( const caf::P
}
attr->selectAllOnFocusEvent = true;
attr->placeholderText = "Click to define filter";
attr->placeholderText = "Click to Edit Summary Curves";
}
}
}

View File

@@ -328,27 +328,27 @@ void RiuMainWindow::createActions()
// View actions
m_viewFromNorth = new QAction( QIcon( ":/SouthViewArrow.png" ), "Look South", this );
m_viewFromNorth->setToolTip( "Look South (Ctrl+Alt+S)" );
m_viewFromNorth->setShortcut( QKeySequence( tr( "Ctrl+Alt+S" ) ) );
caf::CmdFeature::applyShortcutWithHintToAction( m_viewFromNorth, QKeySequence( tr( "Ctrl+Alt+S" ) ) );
m_viewFromSouth = new QAction( QIcon( ":/NorthViewArrow.png" ), "Look North", this );
m_viewFromSouth->setToolTip( "Look North (Ctrl+Alt+N)" );
m_viewFromSouth->setShortcut( QKeySequence( tr( "Ctrl+Alt+N" ) ) );
caf::CmdFeature::applyShortcutWithHintToAction( m_viewFromSouth, QKeySequence( tr( "Ctrl+Alt+N" ) ) );
m_viewFromEast = new QAction( QIcon( ":/WestViewArrow.png" ), "Look West", this );
m_viewFromEast->setToolTip( "Look West (Ctrl+Alt+W)" );
m_viewFromEast->setShortcut( QKeySequence( tr( "Ctrl+Alt+W" ) ) );
caf::CmdFeature::applyShortcutWithHintToAction( m_viewFromEast, QKeySequence( tr( "Ctrl+Alt+W" ) ) );
m_viewFromWest = new QAction( QIcon( ":/EastViewArrow.png" ), "Look East", this );
m_viewFromWest->setToolTip( "Look East (Ctrl+Alt+E)" );
m_viewFromWest->setShortcut( QKeySequence( tr( "Ctrl+Alt+E" ) ) );
caf::CmdFeature::applyShortcutWithHintToAction( m_viewFromWest, QKeySequence( tr( "Ctrl+Alt+E" ) ) );
m_viewFromAbove = new QAction( QIcon( ":/DownViewArrow.png" ), "Look Down", this );
m_viewFromAbove->setToolTip( "Look Down (Ctrl+Alt+D)" );
m_viewFromAbove->setShortcut( QKeySequence( tr( "Ctrl+Alt+D" ) ) );
caf::CmdFeature::applyShortcutWithHintToAction( m_viewFromAbove, QKeySequence( tr( "Ctrl+Alt+D" ) ) );
m_viewFromBelow = new QAction( QIcon( ":/UpViewArrow.png" ), "Look Up", this );
m_viewFromBelow->setToolTip( "Look Up (Ctrl+Alt+U)" );
m_viewFromBelow->setShortcut( QKeySequence( tr( "Ctrl+Alt+U" ) ) );
caf::CmdFeature::applyShortcutWithHintToAction( m_viewFromBelow, QKeySequence( tr( "Ctrl+Alt+U" ) ) );
connect( m_viewFromNorth, SIGNAL( triggered() ), SLOT( slotViewFromNorth() ) );
connect( m_viewFromSouth, SIGNAL( triggered() ), SLOT( slotViewFromSouth() ) );