Commit Graph
179 Commits
Author SHA1 Message Date
Magne Sjaastad fad56ae483 #14562 Summary Plot Editor: Improve default source selection
Select the first ensemble when no top level summary cases are available, and never use a realization of an ensemble as the default source. The default source is now resolved by RiuSummaryVectorSelectionUi::defaultSummarySource(), used both when the editor is opened without a selection and when the editor is populated from a plot without curves. Also guard against a null curve set when matching ensemble curve sets in the preview plot.
2026-08-20 15:20:58 +02:00
Jørgen Herje 0d9d4fed19 Improved Sumo summary data fetching (#14551)
Sumo data is loaded so the application stays responsive while it waits.

Run Sumo transfers on a dedicated thread
Split RiaSumoConnector into transport and data delegates
Load Sumo summary vectors concurrently and without waiting
Show that Sumo data is being loaded
2026-08-20 11:48:25 +02:00
Magne Sjaastad 1c4c304064 #14476 ApplicationLibCode: Remove unused cvf includes
Remove 95 cvf include lines that the including file does not use. Found by
extracting the symbols declared by every VizFwk header, including symbols they
re-export, and flagging includes where none of those symbols appear anywhere in
the file. Each removal is verified by a full build.

Most of them are cvfVector3.h and cvfObject.h, left behind as the files they
were once needed by changed.

pch.h is left untouched. It includes cvfObject.h and cvfVector3.h on purpose, so
that the files using the precompiled header do not have to.

Note that a clean build after removing an include does not prove the include was
unnecessary, only that the declarations still arrive some other way. That path
can differ between platforms and with RESINSIGHT_ENABLE_UNITY_BUILD, so this
needs a CI round on Linux as well.
2026-08-07 15:05:57 +02:00
Magne Sjaastad 56e98ba1c4 #14476 ApplicationLibCode: Replace CVF_ASSERT with CAF_ASSERT
Migrate all assert macros in ApplicationLibCode to CAF_ASSERT and remove every
use of cvfAssert.h.

CVF_ASSERT is replaced one to one. CVF_TIGHT_ASSERT is also replaced by
CAF_ASSERT, which is semantically exact: CVF_ENABLE_TIGHT_ASSERTS is 1 only
under _DEBUG, and that is what CAF_ASSERT now does. The two CVF_FAIL_MSG sites
become CAF_ASSERT( false && "message" ), preserving the message with the idiom
already used elsewhere in the code base.

Counts before and after: CVF_ASSERT 1044 to 0, CVF_TIGHT_ASSERT 66 to 0,
CVF_FAIL_MSG 2 to 0, cvfAssert.h references 154 to 0.

Include handling: files that included cvfAssert.h directly now include
cafAssert.h instead, includes left dead by the migration are removed, and files
that were relying on cvfAssert.h transitively get an explicit cafAssert.h. Files
that reach cafAssert.h through another caf header are left unchanged; a missing
include here is a compile error, not a silently disabled assert.

ResultStatisticsCache links only LibCore and therefore had no path to
cafAssert.h. Add the cafPdmCore directory as a private include path rather than
linking the library, since cafAssert.h is header only.

Note that this stops these asserts from firing in Release and RelWithDebInfo,
where CVF_ASSERT was previously active.
2026-08-07 15:05:57 +02:00
Magne Sjaastad 9ccca3e20a #14401 Introduce initAfterInsert() to combine resolveReferencesRecursively() and initAfterReadRecursively() 2026-08-03 15:34:10 +02:00
JJ b187bf85a7 Add context menu to empty plot window area (#14243)
* Add context menu to empty plot window area
Improve drag'n'drop into empty plot window area
2026-06-19 09:25:33 +02:00
Jon Jenssen 0973dfd62b Some cleanup 2026-06-17 13:55:32 +02:00
Jon Jenssen a1fe3739d1 Remove last traces of MDI 2026-06-17 13:55:32 +02:00
Jon Jenssen d2d7c6ac61 First non-MDI version. Still some missing links and features. 2026-06-17 13:55:32 +02:00
Magne Sjaastad c6591eac95 Summary plot: select plot before building the right-click context menu
Select the summary plot as the current item before any menu commands are
created, so every command in the context menu operates on that plot. This is
the root fix for plot-level commands (New Analysis Plot, correlation plots,
etc.) that derive their enablement from the selected plot: previously the
selection could be left on an ensemble realization's summary case, disabling
them.

Because the plot is now selected, the Show Plot Data / Edit Plot / Split / Delete
commands resolve the plot from the selection, so passing it as user data is no
longer needed. The RicShowPlotDataCtxFeature and RicEditSummaryPlotCtxFeature
subclasses existed only to force isCommandEnabled to true for the context menu;
they are now obsolete and removed, and the menu uses the base RicShowPlotData
and RicEditSummaryPlot features directly.

Also highlight the curve under the cursor before showing the menu, giving the
same visual feedback as a left-click. Separate highlighting from selection:
extract the visual-only part of selectClosestPlotItem into
applyHighlightForClosestItem, shared by selectClosestPlotItem (left-click:
highlight + select) and the new highlightClosestPlotItem (highlight only). The
context menu uses the highlight-only path, so it does not change the selection.
Add highlightClosestPlotItemAtPosition that takes widget coordinates and
converts them to canvas coordinates internally, so the caller does not depend
on qwt headers.
2026-06-05 16:10:49 +02:00
Magne Sjaastad 071d6cc19e #14050 CMake: Remove dead variable definitions and references
* CMake: Remove dead CODE_HEADER_FILES variable
* CMake: Remove dead COMMAND_CODE_HEADER_FILES and COMMAND_MOC_SOURCE_FILES
* CMake: Remove dead MOC_SOURCE_FILES and FORM_FILES_CPP references
* CMake: Remove dead HEADER_FILES reference
* CMake: Delete unused CustomPCH.cmake superseded by target_precompile_headers
2026-05-26 13:10:20 +02:00
Kristian Bendiksen 8e6c6e88ba #7142 Janitor: Remove redundant // Overrides comments in command feature headers
The bare "// Overrides" comment is now redundant since the override keyword on
each method already conveys the same information. Qualified comments like
"// Overrides from BaseClass" carry additional information and are kept.
2026-05-11 12:45:21 +02:00
Kristian Bendiksen 5ffcb69acc #13126 RiaLogging: Use std::string_view instead of QString for logging 2026-05-08 10:11:09 +02:00
Magne Sjaastad a8ac98ce06 Replace PdmUiPushButtonEditor fields with dynamic buttons
Replace boolean push button fields used as UI triggers with dynamic buttons
added via addNewButton in defineUiOrdering, removing unnecessary field
boilerplate across multiple classes.
2026-03-31 09:16:52 +02:00
Magne Sjaastad 50009ac4d2 Use cafPdmUiButton instead of bool PdmField in multiple classes
Replace PdmField<bool> push button pattern with addNewButton() lambdas
in RiaPreferences, RiaPreferencesSummary, RicUserDefinedCalculatorUi,
RimUserDefinedPolylinesAnnotation, RimPolygonFilter, RimFractureTemplate,
RimEllipseFractureTemplate, RimMeshFractureTemplate, and
RicSummaryPlotEditorWidgetCreator.
2026-03-04 09:52:17 +01:00
JJ 3e06a61ed5 Popup window placement improvements (#13464)
* Improve parent settings for message boxes and progress info
2026-01-21 19:11:41 +01:00
Magne Sjaastad cfd634e206 Updates PDM UI label positioning
Updates the way UI label positions are set for PDM fields.
2026-01-08 21:44:58 +01:00
Magne Sjaastad 1039fa54c4 Add missing updateConnectedEditors
The update logic was changed in 0f20fd4e92, and this fixes missing updates
2025-11-20 13:29:24 +01:00
Magne Sjaastad 544e9eedd9 Improve spell checker using codespell
* Configures automated spell checking with codespell
Adds GitHub workflows and configuration files for automated spell checking using `codespell`.

This includes:
- A workflow for checking pull requests and preventing new typos
- A workflow for automatically fixing typos in the main codebase
- Configuration files for `codespell` to ignore specific terms and file types
- Documentation on how to use and configure the spell checking workflows.

* Corrects minor spelling and grammar errors.
2025-11-19 10:25:32 +01:00
Kristian Bendiksen 4a4941f759 CSV Parser: use cell separator when determining layout type. 2025-10-17 07:52:42 +02:00
Kristian Bendiksen d137281066 Refactor CSV parser: modernize parser to use std::expected. 2025-10-17 07:52:42 +02:00
Magne Sjaastad 0b7a4b12f1 #13019 Remove assert from RiaSummaryTools::summaryCaseMainCollection() 2025-10-14 14:47:58 +02:00
Magne Sjaastad a73999323a Move defines into separate file 2025-10-03 08:37:24 +02:00
Magne Sjaastad 09309f3051 Guards against null summary reader
Addresses potential null pointer dereferences by adding checks for null summary readers before accessing their data.

This change prevents crashes and improves the robustness of summary data processing, particularly when dealing with incomplete or corrupted summary data.

The checks are added in the following locations:
- RiaSummaryPlotTemplateTools
- RiaSummaryStringTools
- RicPlotProductionRateFeature
- RicSummaryPlotFeatureImpl
- RimAnalysisPlot
- RimSummaryCalculation
- RimEnsembleCurveFilter
- RimEnsembleCurveSet
- RimSummaryEnsemble
- RimSummaryMultiPlot
- RimSummaryRegressionAnalysisCurve
- RimSummaryEnsembleSumo
2025-08-16 15:20:55 +02:00
Magne Sjaastad 2f9971cb30 Enhances ensemble curve handling and performance
* Removes obsolete code
* Return first non-empty return value from reader
* Simplifies water cut curve visibility check
* Defers the page update until after all plots have been added.
* Add settings to control number of threads
* Refactors ensemble curve handling and visibility

Improves the efficiency of ensemble curve set management by separating realization and statistics curves into distinct collections. This allows for more targeted operations, such as selectively showing/hiding realization curves without affecting statistics.
Also defers data loading of curves until they are actually displayed, optimizing performance.
The visibility updates are modified to optionally skip updating the parent plot, providing more control over replotting behavior and preventing unnecessary updates.
2025-07-30 07:16:29 +02:00
Magne Sjaastad bbffd05bc2 Disables summary address building for ensemble realizations
This is a major performance gain for large ensembles
2025-07-18 08:47:01 +02:00
Magne Sjaastad 88e0aad8cf Several adjustments user interface and project file
* Avoid writing error message if observed data for a well is not present
* Add missing log text during replace summary ensemble
* Make sure plot window is visible after importing summary ensemble
* Add observed FMU folder to path section
* Move worker functions to RiaProjectFileTools
* Reset numbering of path IDs when saving project.
* Remove warning when fault name is longer than 8 characters
2025-06-03 14:29:44 +02:00
Magne Sjaastad 957adc3c4c Adjustments for ensemble file sets
* Add support for reload of ensemble file set
* Fix Replace for ensemble file sets
* Workaround for update of connected plots
* Use summary icon for ensemble data sources
2025-05-19 12:51:52 +02:00
Magne Sjaastad 3c5221236a Use lambda functions and simplify createSummaryCasesFromFiles 2025-05-12 13:04:10 +02:00
Magne Sjaastad 5126face72 Rename to summaryEnsembles() 2025-05-12 13:04:10 +02:00
Magne Sjaastad 3c7e8ee120 Refactors summary case creation into a tool class
Moves the summary case creation logic from the `RicImportSummaryCasesFeature` class to a new `RiaEnsembleImportTools` class.
2025-05-12 13:04:10 +02:00
Magne Sjaastad 158421297f Updates after patch release
* Merge main after release
* Bump to version 2025.04.2-dev.01
2025-05-09 11:53:00 +02:00
Magne Sjaastad ae8446073b Refactors selection handling for improved code clarity
Modernize the interface to selection system. Create and return data instead of populating incoming parameters.
2025-04-09 07:21:54 +02:00
Magne Sjaastad 132fc1baa2 Create Curve Set: Use FOPT if no default vector is specified in Preferences 2025-04-04 13:37:53 +02:00
Magne Sjaastad 70e37e8f5d #12283 Add filter based on summary value at timestep
* Show collapsed range as a single line
* Improves plot annotation label placement
* Adds option to show/hide axis properties
* Adjusts plot info label alignment
* Adds filter by summary value functionality
* Enables ensemble creation from filtered cases
2025-04-01 14:51:13 +02:00
Magne Sjaastad 3cd03c8e1c #12310 Summary plot and RFT plot adjustments
* Use vector name as axis object text, avoid identifier text
* Select the plot clicked at in the Project Tree
* Make sure RFT plots are updated when summary case and ensemble is changed
* Make sure all plots are updated for multiselect and toggle statistics
* Allow paste of plot on top level plot collection
* Allow multiple top level plots as destination for Append operations
2025-03-31 08:02:00 +02:00
Magne Sjaastad 95e86962cb Show full name for single summary case 2025-03-28 13:54:23 +01:00
Magne Sjaastad 0635d5870a #12291 Several minor adjustments
* Use same naming for ensemble grid cases as ensemble summary cases
* Create Polygons: Ask for polygon area cutoff when polygon count is high
* Show Create Polygons from Contour Map in polygon collection menu
* Update titles in crossplots
* Clear message panel when project is closed
* Show text message for start and complete of replace ensemble
2025-03-26 21:50:39 +01:00
Magne Sjaastad 0d0fc1aca5 #12282 Improve auto naming to avoid ensembles with identical names 2025-03-25 06:45:39 +01:00
Magne Sjaastad 98a2de5bc8 #12274 Improve automatic naming of summary ensembles
Use same naming concept for automatic name for ensembles from file, SUMO and derived delta ensembles. Show name in a group box for SUMO/Delta.
2025-03-18 14:51:40 +01:00
Magne Sjaastad 0cf7a1f4bc Fix performance issue for replace ensemble
Make sure that update of connected ensemble curve sets and plots happens only once.

wip
2025-03-18 14:51:40 +01:00
Magne Sjaastad d592b29090 #12270 Create a summary ensemble based on a selection of realizations
Add RicCreateSummaryEnsembleFeature used to create an ensemble based on a selection of realizations. Delete obsolete features to create summary groups.

Add context menu in parameter cross plots to create ensemble from filtered summary cases.
2025-03-18 12:55:19 +01:00
Magne Sjaastad 56d62d13b4 #12218 Replace summary ensemble
Add Replace to the right-click menu, and show the ensemble import dialog. Delete existing summary cases, and load all summary files selected by the user.
2025-03-13 15:23:29 +01:00
Kristian Bendiksen afeedb1e22 Janitor: remove unnecessary disabling of clang-format. 2025-03-10 17:58:59 +01:00
Magne Sjaastad edeb0cdbe2 #12177 Summary Ensemble: Improve automatic naming 2025-02-28 16:14:55 +01:00
Magne Sjaastad 85abd0c51b #12181 Grid Cell Curve: Allow stacking of grid cell curves in summary plot
* Add stacking to grid cell curves in summary plot
* Add spacing in label text "Cell I J K"
* Add padlock icons and do not delete locked curves
* Show padlock icons only when summary plot is automated
2025-02-24 14:20:13 +01:00
Magne Sjaastad 860588d755 #12008 Improve display of curves from selected cells in 3D view
* Remove obsolete base class
* Add conversion between one/zero-based IJK
* Move code to RiaTextStringTools
* Add automatic update of grid cell curves when clicking in 3D view
* Fix missing conversion to QString
2025-02-14 09:35:28 +01:00
Magne Sjaastad b165488828 Remove settings settings from plot editor
Remove appearance and name settings
2025-02-13 15:12:24 +01:00
Magne Sjaastad 0604eea74b #12157 Always show vector name when underscore is present 2025-02-13 15:12:24 +01:00
Magne Sjaastad 04cd253fc6 Move files
Fix includes
2025-02-13 15:12:24 +01:00