Commit Graph
1467 Commits
Author SHA1 Message Date
Magne Sjaastad 118ecf941a Performance improvements ensemble curves
* Do not create ensemble in initAfterRead
* Check if filter is active before update
* Do not recompute statistics on every loadData
* Removes unnecessary resampling
* MSVC: Add support for dynamic deoptimalization
* Make sure RFT plots are initialized based on curves in project file
* Make sure the progress dialog is always on top
* Add more progress info when loading project file
* Make sure names in RFT plots are updated
2025-05-28 15:10:43 +02:00
Magne Sjaastad 37041ad0a6 clang-19-tidy and clang-19-format fixes 2025-05-19 14:31:30 +02:00
Kristian Bendiksen 135695fcb5 #5556 Refactor python error handling. 2025-05-12 17:31:48 +02:00
Magne Sjaastad bd8a5452bc #12454 Do not create option items that are not available in valueOptions
Do not create option items if the list is empty and the field contains a selection. This is different to other editors, but can cause a crash situation.
2025-05-06 13:44:36 +02:00
Magne Sjaastad fc6d9fb38d Framework changes to prepare for ensemble file set 2025-05-02 21:26:53 +02:00
Magne Sjaastad 14ddd373d3 Remove unused member 2025-05-02 16:58:55 +02:00
Magne Sjaastad 892d7251ee Update to clang-format-18
Update to clang-format-18
Code changes related to clang-format-18
2025-04-11 18:34:32 +02:00
Kristian Bendiksen dd2fdad5dd #12342 Python: Add api for creating polygon
Fixes #12342.
2025-04-10 17:58:59 +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 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 6b332269b4 Add scripting to fishbones (#12286)
* Improve python code generation tests
* Add setValveLocations
* Move code into RimFishbonesDefines
* Add scripting to fishbones
* Add scripting methods for fishbones
* Add example and test
2025-03-25 08:31:08 +01:00
Magne Sjaastad 8118d971ab Remove norwegian characters from test file 2025-03-17 08:29:00 +01:00
Magne Sjaastad ea1e7c6bdd #12262 Make sure signals are disconnected before objects are deleted
We can have large collections of object, and the delete of these objects can be time consuming. To improve the user experience, the delete of these objects is delegated to `PdmChildArrayField<DataType*>::deleteChildrenAsync()`. When an object is deleted, it will disconnect signals from observers.

When the owner object is deleted all connected signals is disconnected. If the owner object is deleted at the same time as the contained objects are deleted in a separate thread we will quite often have undefined behaviour. This undefined behaviour is reproducible in a unit test.

Make sure that all signals are disconnected before the delete operation.
2025-03-17 07:00:27 +01:00
Jon Jenssen 82e41e2e53 Use single * as default "all files" filter to show files without extension, too 2025-03-14 06:54:00 +01:00
Magne Sjaastad 5f7823b8d3 Use point size when defining font size
Avoid pixel size for easier config across multiple environments
Set default font size for plots to 10 points
Use Small instead of XSmall for default font in plot
Remove pt postfix to indicate point size
2025-03-10 16:56:16 +01:00
Magne Sjaastad d0a9c0a820 #12119 Update the UI layout when expanded state of group is changed 2025-03-07 08:38:03 +01:00
Magne Sjaastad cf2ae4ffb8 Python: Add support for manipulation of camera position
* Remove debug output in the views function
* Add scripting support for Mat4d
* Add scripting support to camera
* Separate updates for background color and font size
2025-02-17 18:27:16 +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 d76f67f3fb Use subset of enums
Use setEnumSubset instead of calculateValueOptions
2025-02-10 17:22:25 +01:00
Magne Sjaastad 7e523e340a Add static function to define a subset of enums to be used for AppEnum
Add a static map between field keyword and a subset of enum values to be displayed in the GUI
If a subset is defined, automatically calculate value options for this subset, otherwise, use all enums
Improve the macro so it is possible to use the `EnumType` instead of `AppEnum<EnumType>` when defining the default value
2025-02-08 09:24:55 +01:00
Magne Sjaastad ca0179d118 Remove obsolete CMake statements
When using modern CMake and Qt6 we can remove obsolete source_group() and QT_MOC_HEADERS
2025-01-28 07:01:42 +01:00
Magne Sjaastad 533885239d #12075 When activating an item, also select the item 2025-01-19 16:18:45 +01:00
jonjenssen b999faf293 Statistics Contourmap UI updates (#12060)
* Enable time step selections and controls in view
* Support loading just what we need for statistics contour maps by using custom reader settings
* Close case once done with it unless there are active views.
* Add selection of user interface case (for result selection, display of wells, faults...)
* Avoid int overflow for nested progresses by using double
* Improve auto naming
* Misc. UI improvements
2025-01-14 21:52:54 +01:00
Magne Sjaastad da69c1f049 Python: Enforce checking on script name to make sure conversion between camelCase and snake_case works correctly
* #12044 Python: Add Non-Darcy properties available in Python

* #12049 Python: Add checking for multiple consecutive upper case letters
The scripting keyword is transformed to snake_case for use in Python. When data in Python is sent back to ResInsight, the opposite operation happens. This concept works well for most variants of keywords, but there are some corner cases that is not working.

Add compile time checking to make sure that the scripting keywords are formatted correctly.

Fix keyword that has been formatted the wrong way and has never worked.

* Avoid running test if ResInsight executable path is not defined in env
* Make sure dash is allowed in enumeration text string
2025-01-10 18:25:46 +01:00
Magne Sjaastad dffa24fa81 #12030 Fix isEqual for TextureImage
When comparing two TextureImages, create a std::vector representation and use the equality operator for std::vector.

Previous implementation did not test all values, and returned equality when the texture was not identical.
2025-01-08 10:26:32 +01:00
Magne Sjaastad 1251a2750e Replace RiaScheduler with caf:Scheduler
Remove ProgressState
Use caf::SchedulerCallable to communicate state for the progress dialog.
Use std::atomic to ensure thread safety
2025-01-06 09:10:46 +01:00
Magne Sjaastad 207294c446 Add scheduler to AppFwk
Add scheduler to AppFwk
Make it possible to do a delayed call to updateConnectedEditors
2025-01-06 09:10:46 +01:00
Magne Sjaastad 494175d1e6 Extract creation of QShortenedLabel and add context menu
Create an intermediate class used to create a QShortenedLabel. If field is scriptable, add a context menu to support copy of the Python field name to clipboard.
2024-11-25 09:42:12 +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
Magne Sjaastad 275526a64a Remove unused includes
Remove unused includes, mostly AppEnum.h
2024-11-04 09:54:23 +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 b0d967ff40 Preparations for quick access features
* Add tool button editor with callback support
* Guard null pointer usage
* Allow proxy field with no getter
* Remove duplicated code
2024-10-21 14:08:15 +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 3797aa8211 Qt6: Fix usage of deprecated QApplication::fontMetrics() 2024-10-04 15:27:43 +02:00
Kristian Bendiksen bf1c7f4b04 Qt6: Fix deprecated QVariant::type() calls.
Use recommended QMetaData::type().id() instead.
2024-10-04 15:27:43 +02:00
Kristian Bendiksen 58656f900b Qt6: string-related deprecations. 2024-10-04 15:27:43 +02:00
Kristian Bendiksen 835cf4a53c Qt6: Fix QMouseEvent.x() and .y() deprecation. 2024-10-04 15:27:43 +02:00
Magne Sjaastad f031a81803 #11731 Detect when a group box have the same name as an existing group box
Detect when a group box have the same name as an existing group box. This is not currently supported, and leads to dangling group boxes in the Property Editor.

Trigger assert and crash when the situation appears.
2024-10-02 15:20:27 +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
Kristian Bendiksen 596ab564c8 Fix "nonnull asserts" warnings on gcc 13.
The C++ standard guarantees that the this pointer is never nullptr
in valid programs.
2024-09-27 14:42:53 +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 fcec67e95e Use gray background for read only line edit 2024-09-14 15:08:15 +02:00
Magne SjaastadandKristian Bendiksen kristian.bendiksen@gmail.com 9e41db33f5 Progress: optionally call QApplication::processEvents on progress updates
Add ProgressInfoEventProcessingBlocker

Co-authored-by: Kristian Bendiksen kristian.bendiksen@gmail.com
2024-09-11 12:48:54 +02:00
Magne Sjaastad cfc97bb615 Revert "Progress: optionally call QApplication::processEvents on progress updates."
This reverts commit eb762fd122.
2024-09-10 08:18:37 +02:00
Kristian Bendiksen eb762fd122 Progress: optionally call QApplication::processEvents on progress updates.
Fixes the missing updates of UI when running long tasks in main thread.
2024-09-09 14:15:28 +02:00
Kristian Bendiksen d8eb34c00d Janitor: fix memory leaks. 2024-09-02 13:58:00 +02:00
jonjenssen 0572069511 Support for loading only active cell geometry (#11624)
* Only load active cells for main grid, skip LGRs for now
* Handle wells with inactive cells
* Validate mapaxes transform before using it.
* Add log message
* Additional guarding when trying to find the geometrical location of a simulation cell
* Add extra safeguarding for init/restart file access in opm common. Only support unified restart files.
2024-08-28 18:22:57 +02:00
Kristian Bendiksen b324fdb26b Close project if cancelling well path loading. 2024-08-16 15:46:22 +02:00
Kristian Bendiksen 9bea739252 Parallelize initial import of OSDU well path. 2024-08-16 15:46:22 +02:00
Kristian Bendiksen 0216d9b57b Remove QApplication::processEvents uses. 2024-08-16 15:46:22 +02:00