Commit Graph
423 Commits
Author SHA1 Message Date
Magne Sjaastad 70b1f5b7c7 #13065 Improves result info handling
Improves result info handling by ensuring the result
definition is valid before accessing it, preventing
potential crashes.
Uses `if (auto)` to check for null result definitions,
and displays a user-friendly message when no result
definition is available.
2025-11-10 14:58:55 +01:00
Magne Sjaastad 6cef55b897 #13019 Remove assert from RiaSummaryTools::summaryCaseMainCollection() 2025-11-10 14:58:55 +01:00
Magne Sjaastad 626d68ec59 Avoids iterator invalidation in QwtPlot item lists
When working with a summary ensemble in a Debug build on Windows, a crash happened in RiuQwtPlotWidget::resetPlotCurveHighlighting(). When iterating over list of plot items, one pointer to item pointed to 0xddddddd, a clear indication that the underlying list had been updated during the loop and the iterator invalidated.

The change ensures that modifications to the item list during iteration do not cause unexpected behavior, particularly in scenarios involving grid lines and curve highlighting.

This is achieved by making a copy of the item list before iteration when modifications may occur. For cases where no add/remove will be performed during the iteration, a comment is added to clarify that it is safe to access the reference to the list.
2025-11-10 14:58:55 +01:00
Kristian Bendiksen d5bc4f4230 Summary Plot: Fix crash when setting "Col Span" to "unlimited". 2025-11-10 14:58:55 +01:00
Magne Sjaastad e927241d99 #13001 3D-view: Scale factor is not shown correctly 2025-10-13 14:35:42 +02:00
Magne Sjaastad 31088c0ec7 Add guarding tying to mitigate reported segmentation fault
2025-10-06 12:48:32.779] [rotating_logger] [error] Stack trace:
  [0] manageSegFailure(int) at :0
  [1]  at :0
  [2] __dynamic_cast at :0
  [3] RimSummaryMultiPlot::updateReadOutLines(double, double) at :0
  [4] CoordinatePicker::trackerText(QPoint const&) const at :0
  [5] QwtPicker::trackerRect(QFont const&) const at :0
  [6] QwtPicker::updateDisplay() at :0
  [7] QwtPicker::begin() at :0
  [8] QwtPicker::transition(QEvent const*) at :0
  [9] QwtPicker::eventFilter(QObject*, QEvent*) at :0
  [10] QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) at :0
  [11] QApplicationPrivate::notify_helper(QObject*, QEvent*) at :0
  [12] RiaGuiApplication::notify(QObject*, QEvent*) at :0
  [13] QCoreApplication::notifyInternal2(QObject*, QEvent*) at :0
  [14]  at :0
  [15] QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) at :0
  [16]  at :0
  [17]  at :0
  [18] QApplicationPrivate::notify_helper(QObject*, QEvent*) at :0
  [19] RiaGuiApplication::notify(QObject*, QEvent*) at :0
  [20] QCoreApplication::notifyInternal2(QObject*, QEvent*) at :0
  [21] QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) at :0
  [22] QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) at :0
  [23]  at :0
  [24] g_main_context_dispatch at :0
  [25] g_main_context_iterate.isra.20 at :0
  [26] g_main_context_iteration at :0
  [27] QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) at :0
  [28] QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) at :0
  [29] QCoreApplication::exec() at :0
2025-10-13 14:35:42 +02:00
Magne Sjaastad 917136fec8 Release 2025.09.0 2025-09-01 12:38:48 +02:00
Magne Sjaastad d7d18ce9ab #12495 Refactors ensemble statistics handling
Removes the dedicated `SUMMARY_ENSEMBLE_STATISTICS` category and instead uses a `statisticsType` field within `RifEclipseSummaryAddress` to represent ensemble statistics.

This change simplifies the code and avoids potential confusion by representing statistics as attributes of existing summary types, rather than a separate category. It also improves code robustness.
2025-06-10 10:52:18 +02:00
Jon Jenssen 94f5a45423 Make sure the clear all messages slot is defined as a slot. 2025-05-09 08:32:04 +02:00
Magne Sjaastad 321ff4ad90 Create a menu for each ensemble in the plot
Create a QVariant using caf::PdmPointer, and send this variant to the feature. The feature converts the QVariant to an ensemble curve set.

Make sure the right-click menu in the summary plot shows the Create from filtered cases independent to the selection in project tree.
2025-05-09 08:32:04 +02:00
Magne Sjaastad f96374a6b4 2025.04.0 Merge dev into main 2025-04-07 12:21:57 +02:00
jonjenssen 37de827327 Rel perm plot legend adjustments 2024-12-16 08:01:10 +01:00
jonjenssen 711cb267fd Polygon UI updates (#11975)
* Polygon UI updates
2024-12-06 14:26:30 +01:00
Magne Sjaastad 996a10f781 Fix curve highlight for non-ensemble curves 2024-12-05 08:18:43 +01:00
Magne Sjaastad 586aefe0b6 Mark SUMO features with BETA 2024-12-04 18:47:07 +01:00
Jon Jenssen 4975f260ca Support showing both scaled and unscaled curves in relperm plot 2024-11-27 16:31:57 +01:00
Magne Sjaastad 3cc2958384 Summary Table: Add user option to set time range on x-axis
* Make sure all evenly distributed labels are drawn
* Add start and end data
2024-11-21 14:38:59 +01:00
jonjenssen dbea0e2593 OpenGL DPI scaling support (#11883)
Scale opengl width/height based on primary screen DPI scaling.
2024-11-15 12:12:59 +01:00
Jon Jenssen 8ff8264d11 Use window icons to show toggle state in windows menu 2024-11-05 15:34:07 +01:00
jonjenssen da683bed9e Move Rig well related things to subfolder and update include statements 2024-10-31 15:08:59 +01:00
jonjenssen 88118ee4e1 Privatize grid cell array 2024-10-29 18:17:31 +01:00
Magne Sjaastad 2814b92055 Qt6: Adjustments (#11804)
* Qt6: Avoid insertWidget, use addWidget
In Qt6, the insertWidget function checks if the index parameter is valid based on current widgets present in the layout. This is error prone, and use addWidget to avoid manual counting of index.

* Disable use of Qt keyword foreach

* Replace use of QRegExp with QRegularExpression
Replace use of QRegExp with QRegularExpression
Remove dependency on qt5compat module
Simplify an expression based on review

* Remove Qt5 ifdefs

* Guard access out of bounds seen in debug build

* Avoid reuse of string variable

* Disconnect all signals from the QOpenGLContext
The call stack when this assert happens indicates that there are more signals to be disconnected from the object. Crash is fixed by disconnecting all signals.

Assert seen in debug build:

ASSERT failure in caf::Viewer: "Called object is not of the correct type (class destructor may have already run)", file C:\Qt\6.6.3\msvc2019_64\include\QtCore/qobjectdefs_impl.h, line 130

* Fix issue related to delete of a linked view
Guard null pointer use in view linker. Remove complicated cleanup in destructor in Rim3dVew.
2024-10-28 13:09:18 +01:00
Magne Sjaastad df091336e0 Move summary tools into separate folder 2024-10-22 07:28:43 +02:00
Magne Sjaastad 95b2f2bbd1 Add icons 2024-10-21 14:11:22 +02:00
Magne Sjaastad eee00ee508 Update default dock state for Quick Access 2024-10-21 14:11:22 +02:00
Magne Sjaastad 2e305bd762 Add quick access dock widget 2024-10-21 14:11:22 +02:00
Magne Sjaastad 2619f1a33a #11771 Highlight all curves for a realization when picking
When selecting a single curve in an ensemble, select and highlight all curves connected to this realization.
2024-10-16 14:32:36 +02:00
Magne Sjaastad 709ec7378e #11768 Show current time step in result plot 2024-10-14 09:08:47 +02:00
Magne Sjaastad 4719090b5f Define long names for summary vectors in JSON files 2024-10-14 08:53:28 +02:00
Magne Sjaastad ca4a7b9000 Remove obsolete code related to Qt5
* Remove bundling of openssl1.1
* Remove obsolete compile flags
* Remove use of obsolete RimCommandObject
* Use QColor::isValidColorName
QColor::isValidColor is deprecated in Qt 6.6, QColor::isValidColorName was introduced in 6.4

* Make sure debug DLLs are copied when required
* Remove Qt5 from AppFwk
* Remove obsolete copy of Qt  DLLs
2024-10-07 10:16:48 +02:00
Kristian Bendiksen 835cf4a53c Qt6: Fix QMouseEvent.x() and .y() deprecation. 2024-10-04 15:27:43 +02:00
Kristian Bendiksen ba9b66d75e Qt6: update to changed name of QButtonGroup signal.
Changed names from buttonClicked to idClicked.
2024-10-02 11:00:33 +02:00
212f5bf5ae Add support for Qt6 and disable Qt5
Required changes to use Qt6 and disable support for Qt5. There are still some adjustments related to Qt6 to be done, but these changes are not required to make Qt6 compile on relevant systems.

* Build system changes Qt6
* Override enterEvent
* Update QKeySequence
* QtChart changes
* Use QScreen to instepct dotsPerInch
* Add app->quit()
* Required updates for code related to QString
* Use RiaQDateTimeTools
* Required changes related to regular expressions
* Support compile on Qt  < 6.5
When version < 6.5 is found, qt_generate_deploy_app_script() is disabled. Compilation of ResInsight will work, but the install target will be incomplete.
* Octave: add missing header.
* Qt Advanced Docking: force Qt6 where both Qt5 and Qt6 is available.

---------

Co-authored-by: magnesj <1793152+magnesj@users.noreply.github.com>
Co-authored-by: Kristian Bendiksen <kristian.bendiksen@gmail.com>
2024-09-30 11:21:17 +02:00
Magne Sjaastad 864d20bf0d #11715 Replace assert with a warning message 2024-09-19 12:47:29 +02:00
Magne Sjaastad 89bd3a8c90 #11357 Reorganize menu in 3D view
Simplify menu text for range filter
Reorganize to improve readability
Simplify cell filter menu in Project Tree
2024-09-16 09:53:23 +02:00
Magne Sjaastad 9d66e6195e Release adjustments
* Use appendMenuItems instead of ContextCommandBuilder
* Specify RimEclipseCaseCollection menu features once
* Add function to enable up/down arrows for combo box
* Guard crash when closing project
* Improve UI for grid case ensemble
- Create a view for the first case in the ensemble
- Show case name in view title
- Enable up/down buttons to Eclipse case
* Make sure 3D views in grid ensemble are created on project load
2024-09-16 09:49:22 +02:00
Magne Sjaastad 74cfc14143 #11696 Make sure PC axis is visible when required
Use QwtPlotCurve directly to make it possible to see the Y Axis
2024-09-14 17:05:53 +02:00
Magne Sjaastad 50185418c2 Rename to Data Source Property Editor 2024-09-14 15:08:15 +02:00
Magne Sjaastad eb0b02ae46 #9935 Avoid storing dock layout if window never has been visible
Do not save the state if the window never has been visible. This will write out a state that is not valid.
2024-09-12 09:16:28 +02:00
Kristian Bendiksen 58c73debe0 Add project tree for cloud data. 2024-09-09 14:32:32 +02:00
magnesj fc2106edb0 Fixes by clang-tidy 2024-09-02 15:26:44 +02:00
Kristian Bendiksen d8eb34c00d Janitor: fix memory leaks. 2024-09-02 13:58:00 +02:00
Kristian Bendiksen cbb7e101e2 #11649 Hide X axis in Result Plot before data has been set. 2024-08-30 10:21:49 +02:00
Kristian Bendiksen e9c46c5cec Rename RimSummaryCaseCollection to RimSummaryEnsemble. 2024-07-30 08:55:12 +02:00
Kristian Bendiksen 4aadf6e801 Correct or remove ssihub references. 2024-07-29 12:24:58 +02:00
Magne Sjaastad ffc1687cc7 Add Sumo connector and related cloud tools
* Add cloud data icon
* Add Sumo connector and related helper tools
* Reorganize preferences and remove ssihub
* Use timeout defined for Sumo
2024-07-05 09:31:16 +02:00
Magne Sjaastad 2724f80e8e #11516 Disable selection of cell result from intersection view
Selection of the cell result in the 3D view causes changes in active view and is very confusing for the user. Use "Activate Result in Project Tree" from right-click menu in the intersection view.
2024-06-19 07:45:51 +02:00
Magne Sjaastad 015f248dd9 Show properties for selected object in main project tree
There can be several project trees in a project. Ensure that the selected object in the main project tree is displayed in the property editor.
2024-06-12 09:35:28 +02:00
Kristian Bendiksen 3b5621a6aa Messages Display: show left part of long log lines. 2024-06-04 08:38:37 +02:00
Kristian Bendiksen c1aba471f2 Refactor: rename WellLogFileChannel to WellLogChannel. 2024-05-28 10:44:44 +02:00