Commit Graph

1429 Commits

Author SHA1 Message Date
Jon Jenssen
99fa28f284 Work in progress 2024-09-27 15:35:54 +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 Sjaastad
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
Kristian Bendiksen
bf2a852b4d Add cancellation of well path collection loading. 2024-08-16 15:46:22 +02:00
Kristian Bendiksen
6e3e0ad538 Use unique_ptr for data loaders. 2024-08-14 11:32:07 +02:00
Kristian Bendiksen
2651ca91b6 Add well log loaders. 2024-08-14 11:32:07 +02:00
Kristian Bendiksen
694d2eda66 Add background data loader framework and well path loaders. 2024-08-14 11:32:07 +02:00
Magne Sjaastad
33ffa10ec9
Janitor: Remove obsolete deleteChildren
Remove obsolete deleteChildren() in destructors. deleteChildren() is called in the destructor of PdmChildArrayField
2024-07-25 13:58:31 +02:00
Magne Sjaastad
337584025c Add convenience function to set number format to fixed with two decimals 2024-07-24 15:42:25 +02:00
Magne Sjaastad
d751ce4ce0 Add flag to control display of check boxes 2024-07-05 12:47:54 +02:00
Magne Sjaastad
ef8b0836bf Improve handling of read only fields 2024-07-05 12:47:54 +02:00
Magne Sjaastad
c75ba450ce Tree Selection Editor: If no option items are present, use field value as options 2024-07-05 12:47:54 +02:00
Magne Sjaastad
33646b33f5 #11522 Convert to plain text when pasting from clipboard 2024-06-19 07:45:51 +02:00
Magne Sjaastad
a0ebb6e496
Add copyObject to PdmObjectHandle
New syntax to copy an object

    auto curveCopy = curve->copyObject<RimSummaryCurve>();

Previous deprecated syntax

    RimColorLegend* customLegend = dynamic_cast<RimColorLegend*>(
            standardLegend->xmlCapability()->copyByXmlSerialization( caf::PdmDefaultObjectFactory::instance() ) );
2024-06-14 17:18:28 +02:00
Magne Sjaastad
13532b0fe4 Add partial specialization for float and double
In PdmFieldWriter::writeFieldData, the numeric values are converted to string with a selected precision. isEqual() is used when comparing values for field editors in PdmFieldUiCap<FieldType>::valueOptions()
2024-06-12 09:35:28 +02:00
Magne Sjaastad
41d5e498d7 Simplify PdmDocument class and move fileName to private
Remove resolveReferencesRecursively() and initAfterReadRecursively() from PdmDocument::readFile(). These functions will be called in RiaApplication::loadProject after the file paths modifications are done. This will ensure that file paths can be used in initAfterRead() functions.
2024-06-05 14:35:01 +02:00
Magne Sjaastad
1d57b9032b
Custom vfp plot (#11450)
* AppFwk: When clearing a tree selection, make sure all values are cleared
* Fix deprecated implicit lambda
* Add support for using the closest value in addition to exact match
* Add table data source object and add plot with multiple data sources
Delete the temporary RimVfpDeck class
Add RimVfpTable to represent a table in a data source
Add plot able to show data from multiple tables

* AppFwk: Make it possible to call resolveReferences multiple times
Use case: Vfp tables are stored in files. Multiple tables can be present in one file. Pdm table objects are created after resolve references is done as part of parsing file. When the Pdm object are created, resolveReferences can be called once more.

* Call resolveReferencesRecursively() after RimVfpTable objects are created
2024-05-29 12:55:45 +02:00
Magne Sjaastad
4617bcc673
11402 Save copy of project file to a backup database when saving project file 2024-05-01 09:46:22 +02:00
Kristian Bendiksen
3255b649ca #11072 Refactor: remove homemade atomic counter.
std::atomic was introduced in C++11, and provides same functionality in
platform-independent way.

Fixes #11072.
2024-04-17 15:41:15 +02:00
Magne Sjaastad
c759a11888
Cmake cleanup and selected Qt6 adjustments
- Avoid warning using newer CMake by removing obsolete cmake requirements in sub projects
- Several adjustments preparing for Qt6
2024-04-17 15:06:51 +02:00
Magne Sjaastad
030688cff6
Several adjustments related to Qt6
* Avoid ambiguous definition during unity build on Windows
* Add missing include
* Add Qt6 to expressionparser
* Add Qt6 to nightcharts
* Replace forward define of QStringList with include <QStringList>
* Use toMSecsSinceEpoch
* Use setContentsMargins
2024-04-16 14:22:15 +02:00
Kristian Bendiksen
bce4dcfe54 #11310 Fix assert on single cell model.
Well pipe radius would become HUGE_VAL due to off-by-one error.
The assert could only happen on model with a single cell.

Fixes #11310.
2024-04-05 14:26:57 +02:00
Eirik Marthinsen
29d991159b AppFwk: Move include of windows.h to top of file
The include was located in the middle of a file inside a namespace caf
block and lead to ambiguous symbols when compiling with unity build and
Qt6. It is also considered good practice to have includes at the top.

The pragma warning disable is also removed as the warning seems to be
gone (and none of the other windows.h includes have it).

Closes #11327
2024-04-05 14:20:00 +02:00
Magne Sjaastad
ef637e3053
Move stream operator from AppEnum header
This PR will reduce the compile time of code using AppEnum. 

* AppEnum: Move QTextStream operator to avoid include of QTextStream
* Avoid use of iostream in cafAssert
rator to avoid include of QTextStream

Include file profiling shows that include of QTextStream is a performance issue. Create a non-templated base class for AppEnum. Implement the QTextStream operator for this interface.
2024-03-25 15:14:04 +01:00
Magne Sjaastad
76df7e8631 Remove unused function 2024-03-13 08:51:30 +01:00
Magne Sjaastad
bfda6519db
Cleanup includes
Use new tools in Visual Studio to help cleaning up includes and remove redundant includes.
2024-03-07 19:45:43 +01:00
Eirik Marthinsen
ea27e952f5
Prepare building with Qt6
* Fwk: Switch from delta to angleDelta for QWheelEvent
* Fwk: Add option to build more libraries with Qt6
* Fwk: Remove unused includes of QtOpenGL
* Fwk: Don't forward declare QStringList
* Fwk: Store cursor position in QPoint variable
* Fwk: Use QWheelEvent::position in Qt6
2024-03-06 08:32:27 +01:00
Magne Sjaastad
818c5c0f9c
Add polygon file readers and make sure UI items are in sync
* Add polygon reader for POL file format
* Add CSV import
* Add helper function to create tag with color and text
* Show polygon color as tag, allow color edit by clicking on tag
* Support optional header in csv file
* Add Reload on polygon file
* Show warning icon if no polygons
* Improve logging text
* Do not show file polygon in view if no polygons are imported
* Use appendMenuItems
* Set default polygon color to orange
* Enter edit state when creating a new polygon
* Fix missing UI text in menu builder
2024-03-01 14:59:14 +01:00
jonjenssen
86c33c1b46
Fault activation: node adjustments along fault (#11235)
Make sure same thickness vectors and fault lines are used for both parts.
2024-02-27 17:05:48 +01:00
Magne Sjaastad
28d281e1d6
Use polygon as data source for intersection
- Use polygon as data source for intersection
- Add padlock icon
- Show padlock icon on read only polygons
- Add Fwk function appendMenuItems() to make it possible to define context menu content in a PdmObject
- Context menu "Create Polygon Intersection"
- Updates to make visualization consistent with object and object collection enabled state
2024-02-25 09:21:48 +01:00
Magne Sjaastad
6fe997b3c9 Add and use caf::PdmUiPushButtonEditor::configureEditorLabelHidden 2024-02-23 08:47:52 +01:00
Magne Sjaastad
d0a9b7cd0b Modify the the background color of table using stylesheets 2024-02-16 15:51:19 +01:00
Eirik Marthinsen
5cfabbb8b8 Use correct qt version check for SkipEmptyParts
Qt::SkipEmptyParts was introduced in Qt 5.14 and QString::SkipEmptyParts
was deprecated in Qt 5.15. This will avoid warnings when compiling with
Qt 5.15.
2024-02-15 09:48:34 +01:00
Magne Sjaastad
8e13d6c528 Use modern OpenGL Qt widget
Use cvfqt::OpenGLWidget and make required changes
- move code from paintEvent to paintGL to make grabFrambuffer work
- remove obsolete sharedWidget
- implement onWidgetOpenGLReady and initialize rendering in this function as OpenGL capabilities is required
- simplify snapshotImage to use grabFramebuffer

Fix missing include
2024-02-07 10:07:18 +01:00
Magne Sjaastad
2250084176 Always link shader program if OglId is zero
The OpenGL resources can be invalidated at any time. Make sure that the shader program is linked if this happens.
2024-02-07 10:07:18 +01:00
Magne Sjaastad
01a082f9fc #11161 Change default tree visibility state for childField and childArrayField 2024-02-05 10:15:36 +01:00
Eirik Marthinsen
4c77090d8b Add missing Qt component to silence CMake warnings
The project cafProjectDataModel_UnitTests was triggering multiple
CMake warnings saying that the Widget component was missing when trying
to collect dependencies.
2024-02-04 15:59:09 +01:00
Magne Sjaastad
d10254933c #11140 Fix filtering based on text in tree selection editor 2024-01-30 14:34:33 +01:00
Sigurd Pettersen
10a579fac5
Add support in VizFwk for using QOpenGLWidget derived view widget (#11091)
* Refactor to deprecate existing QGLWidget derived widget

Renamed cvfqt::OpenGLWidget to cvfqt::GLWidget_deprecated
Renamed cvfqt::CvfBoundQGLContext to cvfqt::CvfBoundQGLContext_deprecated
Renamed cvfqt::OpenGLContext to cvfqt::OpenGLContext_QGLContextAdapter_deprecated
Added cvf::OpenGLUtils

* Marked existing QtMinimal and QtMultiView as deprecated

* Additional deprecated renaming

* Added missing type

* Added missing include

* Fixes to get snippets up and running before introducing new OpenGL widgets

* Added class for OpenGLInfo

* Refactored cvf::OpenGLContext and cvf::OpenGLContextGroup, and added first cut impl of cvfqt::GLWidget and cvfqt::OpenGLWidget

* Removed unused TriggerTBBCopy.txt

* Initial support for compilation on Qt6

* Added QtMinimal and QtMinimal_GLWidget

* Refactored SnippetRunner to handle utilize cvfqt::OpenGLWidget

* Removed unused code

* Fixes and workarounds from compiling on linux

* Fixes by clang-format (#11056)

Co-authored-by: sigurdp <sigurdp@users.noreply.github.com>

* Added QTMultiView test app based on cvfqt::OpenGLWidget

* Removed includes of QOpenGLFunctions

* Modifications for compile with Qt6

* Added test bench for cvfqt::OpenGLWidget

* Minor fixes

* Force to use Qt5

* Fixes by cmake-format

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: sigurdp <sigurdp@users.noreply.github.com>
2024-01-23 08:48:05 +01:00
Magne Sjaastad
833a0e8584 Performance: Cellcount functions are used in many loops, and must be as fast as possible
cellCountIJK was computed based on the value of griPointDimensions. These converstion turned up during profiling. Change implementation to have cellcount as a member variable instead of being computed every time.
2024-01-22 14:52:49 +01:00
Magne Sjaastad
12ca418ef0 Add fixes to handle missing data correctly 2024-01-19 11:53:06 +01:00