Commit Graph

1313 Commits

Author SHA1 Message Date
Magne Sjaastad
5a18442ed1 #10483 Use list editor for proxy of vector of string 2023-08-09 17:09:11 +02:00
Magne Sjaastad
1da509166a
Improve CmdFeature base class
Add default implementation of isEnabled() and add const
2023-06-26 14:28:46 +02:00
Magne Sjaastad
34d83efaed #10417 Use radiobuttons for single selection in lists 2023-06-26 10:17:47 +02:00
Magne Sjaastad
91762aaeb1
RC3 adjustments
* Update icons for summary and ensemble templates

* Icons for regression and decline

* #10374 LineEditor: Hide the placeholder widget when not used

* #10376 Assign a case ID to delta summary case

* Do not show decline range text in plot
2023-06-10 16:30:34 +02:00
Magne Sjaastad
76102a8396
Maintenance issues
* Improve toggling of checked state of sub items
Toggling state is only supported for objects in an array. For example, this will ensure that faults are toggled without altering the fault result object.

* Use gray instead of black for icons

* #9719 Use delete instead of deleteLater to avoid visual artifacts
Artifacts are seen in the Property Editor related to obsolete group boxes. This seems to be related to deleteLater().

* Improve text in menu when toggling sub items

* #10011 Make sure all grid cases are visible in RFT data source

* #10354 Show more info when hovering on curves in summary plot

* #10355 Copy model text info in 3D view to clipboard

* Make sure cell filter option is propagated to new field
Make sure the previous value of  m_showFaultsOutsideFilters_obsolete is propagated into m_applyCellFilters

* Fix wrong spelling when using of stylesheet color
2023-06-06 15:45:54 +02:00
jonjenssen
f17c02ce86
Add step support to range text format (#10311)
* Add step support to range text format
* Add step support to integer selection filter
2023-05-26 08:59:13 +02:00
Kristian Bendiksen
94f7bd3c1a
10214 ensemble appearance
* Regression Analysis: Use only positive values for Power Fit regression.

* Add visible tag short cut for changning curve color.
* #10214 Ensemble Curve Set: Fix color mode text.
* #10214 Ensemble: Switch P10 and P90 symbols to point towards mean.
* Cache hit rects for tree item tags.
* #10214 Ensemble curve set: allow reordering with tree view tag
* #10214 Keep curve legend text when ensemble curves are hidden
2023-05-23 08:10:35 +02:00
Magne Sjaastad
40080a99de
9978 Improve UI for long drop-down lists, use tree selection more
* Improve tree selection editor
- always call defineEditorAttributes
- use heightHint in editor attributes 
- use tree selection editor as default editor for std::vector

* Use tree selection editor instead of list selection editor
List selection editor must be used when editing std::vector<cvf::vec3d> and similar. Replace other use of list selection editor with tree selection editor.

* Set checked state based on text string for integer only models
For models with only integer values, use text string to define the items to be selected. The full list will always be visible, and the checked state will be updated when editing the filter text.

Example: "1, 5-7" will set items 1, 5, 6, 7 checked and all other items unchecked

* Minor fixes
- Set placeholder text after content is added (to ensure correct data type)
- Fix check of integers. `canConvert<int>()`returns true for both QString and int. Thus convert to string and then check for int conversion.

* Activate filtering when unchecking all items in list with only integers
- Reactivate filtering when uncheck of all items for a list with only integer values (to keep consistency between filter and list)
- Update function name for clarity

---------

Co-authored-by: Jørgen Herje <jorgen.herje@ceetronsolutions.com>
2023-05-22 15:44:37 +02:00
Magne Sjaastad
bce8177033
Delete some unused variables and disable warnings 2023-05-21 15:15:09 +02:00
Magne Sjaastad
54f0a832de
Janitor: Remove unused includes 2023-05-15 15:43:01 +02:00
Magne Sjaastad
0c90f67dcc
Change API for PdmObjectHandle and PdmFieldHandle
* Refactor interface to PdmObjectHandle and PdmFieldHandle
Return objects instead of passing in structures as parameters

* Add nodiscard to several functions
* Remove redundant this->
* Rename to ptrReferencedObjectsByType
2023-05-12 21:41:34 +02:00
Magne Sjaastad
1c0649db77 Move caf.h/cpp to UiCore 2023-05-10 11:02:35 +02:00
Magne Sjaastad
bc718db7df
Regression Test: Fix parsing of string lists from command file
* Regression Test: Fix parsing of string lists from command file
The strings in a string list in a command file are quoted
2023-05-05 09:18:17 +02:00
Jørgen Herje
342f191288
Add filtering/exclude of rows in SummaryTable (#10193)
- Add selector for excluding rows in table
- Row selection is based on category, vector, threshold
- Move data containers to utils class
- TreeSelectionEditor: Add context menu to invert selection
- Improved naming of menu items
- Guard plotDefinition before connect signal/slots

---------

Co-authored-by: Magne Sjaastad <magne.sjaastad@ceetronsolutions.com>
2023-05-02 11:18:45 +02:00
Jørgen Herje
862e67755a
Add Python support for import of property files for .roff and .grdecl (#10183)
- Add RimcEclipseCase
- Add tests for import case properties (.roff and .grdecl)
- Make rips handle list of strings as input in Pyton API
2023-04-27 10:53:33 +02:00
Magne Sjaastad
0907f57de9
Use target_include_directory
* Fwk: Avoid use of include_directories
* Remove target_include_directories from Commands
* Refactor cmake includes
- Avoid using include_directories, and use target_include_directories.
- Use add_subdirectory directly from main cmakefile, do not use in ApplicationLibCode.
2023-04-25 13:14:26 +02:00
Magne Sjaastad
643ccd67b8
Improve ensemble curve colors
* Use unique_ptr
* Improve default assignment of curve appearance
* Improve display of color tags in tree view items
* Select curve or ensemble instead of plot
* Only change curves connected to a Rim-object

* Improve color management for ensemble curves
Use a base color for statistics curves and set realization curves transparent
Make sure new curves are assigned a unique color
Harmonize how dropped addresses are handled

* Update all tags always
The update of tags for a subset of tree nodes is currently broken. Always update all tags.

* Add const
2023-04-19 15:36:06 +02:00
Kristian Bendiksen
eb88cca7e8 #9858 Compute distance to closest fault for each cell (FAULTDIST). 2023-04-19 15:00:56 +02:00
Magne Sjaastad
b7f8d0e0f1
Increase warning level
* Set warning level to /W3 for MSVC to catch more warnings
* remove several excluded checks for clang
* removed several unused variables
* Hide warnings qwt
* add missing parentheses in logical expressions
* Remove double check on same logical expression
2023-04-17 15:57:39 +02:00
Magne Sjaastad
952e766c2f
Update clang-format.yml (#10068)
* Update to clang-format-15
Removed two custom .clang-format files in subfolders of AppFwk

* Fixes by clang-format
2023-04-13 07:05:53 +02:00
Magne Sjaastad
e8f6d4819f Make sure file paths are resolved before initAfterRead() is called 2023-04-03 16:08:40 +02:00
Magne Sjaastad
ee1b363ae0
Add support for field of std::pair<T, U> 2023-03-31 10:21:56 +02:00
jonjenssen
2e01f4a31d
Basic seismic support (#10010)
Add basic seismic section support to eclipse and geomech views.
2023-03-24 15:36:10 +01:00
Magne Sjaastad
d23c6b4bb6
Janitor: Several code hygiene adjustments (#9981)
* Include all libraries in APP_FWK_LIBRARIES
* Several fixes detected by Static Code Analysis
* Remove unused code
* Add .clang.tidy
* Use QElapsedTimer
* Use horizontalAdvance
* Avoid | between enum of different classes
* Avoid illegal character
* Renaming and reorder of constructor initialization
2023-03-23 15:49:06 +01:00
Magne Sjaastad
2abfd08bd9 Fix typo
Use lowercase for function names


Use const
2023-03-23 15:46:24 +01:00
Magne Sjaastad
f2fa0ad024 9939 Temporary fix for crash situation
Crash is seen on application exit
2023-03-16 14:09:39 +01:00
Magne Sjaastad
f5171310bf
Add option for word wrap in label and checkbox
* Add support for word wrap in checkbox label
* QLabelEditor: Add word wrap and support for wide label
Add support for one label widget spanning the area usually consumed by a label widget and an editor widget.
* Use word wrap in summary calculation dialog
2023-03-09 12:46:55 +01:00
Magne Sjaastad
6b83662e9f Convert file path to native separators for clipboard 2023-03-06 10:00:35 +01:00
Magne Sjaastad
18c88657f3 Add Copy to Clipboard button for file paths 2023-03-04 14:35:51 +01:00
Magne Sjaastad
f8c5cf389f
clang-format: Set column width to 140
* Set column width to 140
* Use c++20
* Remove redundant virtual
2023-02-26 10:48:40 +01:00
Magne Sjaastad
320ece44dd Janitor: Skip undo/redo if field is marked as non-writable 2023-02-17 12:52:06 +01:00
Magne Sjaastad
ac9b9b2699
Fix regression test issues
* Fix eternal loop causing the application to hang
* Revert changes related to file well path introduced in 70bb22
* Use some iterations to find representative cells for computation of cell sizes
2023-02-16 20:05:12 +01:00
Magne Sjaastad
20439e1da9
Export Completion: Fix missing segments and connections for LGR grids
* Compute characteristic cell size based on active cells
* Compute cell face normal based on a suitable active cells
Using all cells as basis for face normal is fragile. Some models have highly distorted/twisted cells, but all active cells should be geometrically more stable.
2023-02-15 15:25:38 +01:00
jonjenssen
33e908dd94
Avoid progress window staying behind on Linux when loading summary data (#9774)
Adjust progress info usage in summary file loading
2023-02-01 08:46:22 +01:00
Magne Sjaastad
583c248cf9
Janitor issues
* Use horizontalAdvance
* Remove unused code
* Hide some warnings from Qt code
* Remove message for _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING
* Use CMP0077 NEW
* Move roff libraries to folder Thirdparty
* avoid operator()==
* Remove cmake_minimum_required and set version to 3.15
2023-01-24 12:29:27 +01:00
jonjenssen
56dd33e762 Improve range filter slider gui 2023-01-20 17:16:33 +01:00
Magne Sjaastad
abc9e82ff5 System: Enable and use c++20
Enable c++20 in top level cmake. Keep c++17 for GrpcInterface, as the protoc tool does not work with c++20.
Several code adjustments to fix compiler issues.
2023-01-19 08:33:02 +01:00
jonjenssen
712bad97bd
Add time step slider to 3d views (#9695)
Add new toolbar with slider that controls visible timestep in the view
2023-01-18 22:59:06 +01:00
Jørgen Herje
95202ad36a
Well allocation over time plot (#9655)
- Plot for showing well allocation over time. 
- Select time range
- Option to exclude time steps in selected range
- Possible value types: Flow rate, flow rate percentage, flow volume, accumulated flow volume, accumulated flow volume percentage
- Group small contributors into group "Others"
2023-01-18 09:18:00 +01:00
Magne Sjaastad
b108cdb72d Fix crash seen when deleting a 3D view part of a linked view collection 2023-01-11 08:39:51 +01:00
Magne Sjaastad
62a13d3847 #9622: Exclude cells with very small volumes 2023-01-09 15:47:08 +01:00
Magne Sjaastad
9db4d03a5f
RegressionTests: Fix performance issues related to DockManager::restoreState
* Performance: Disable DockManager::restoreState when running regression tests
* Set parent to Qt widgets to avoid memory leak
* Change singleton pattern to avoid memory leak
2022-12-22 15:35:45 +01:00
Magne Sjaastad
dfa1bc2cd0
Some fixes for new gcc/clang
Minor fixes for newer gcc/clang. These issues were seen when using ubuntu-latest (Ubuntu 22.04) on Github Actions.
2022-11-25 08:59:10 +01:00
Magne Sjaastad
a577545212 Allow well target list to consume available space 2022-10-31 18:52:45 +01:00
Bård Skaflestad
b1fa8b45ab Ignore Non-True Value Strings
This avoids reassigning "valueString" and also, incidentally,
fixes the build using Visual Studio 2017.
2022-10-19 08:19:59 +02:00
Magne Sjaastad
f155da0179 #9312 Return line edit instead of placeholder widget if auto value is not supported 2022-10-06 10:32:44 +02:00
Magne Sjaastad
22cd06b4c7
Adjust auto plot settings
* Adjust the max value for summary curves to get more space on top of plot
* Compute axis range before computing auto plot settings
* Use axis object name as key when computing aggregated min/max
* Guard infinite recursion for enableAutoValue()
2022-09-13 17:45:41 +02:00
Magne Sjaastad
c734a22bd6
Improve user interface for axis linking
Several adjustments to UI as discussed with Håkon and Alireza.

* add link/unlink command to right-click menu of axis
* select curve in project tree when clicking on legend item
* make sure internal legend is always visible when toggling plot
* fix issue when using sub plot as data source for axis range
2022-09-09 16:06:56 +02:00
Magne Sjaastad
b641d6b86f
Adjustments for RC2
* Add dependency to Svg
* Renaming
* Remove special handling of bright colored curves
For some ensemble cases, the curve highlight does not work well. A prototype for ensemble curve highlight was introduced, but this was not working for a collection of standalone summary curves.
* Set version to RC_02
2022-09-06 15:29:10 +02:00
Magne Sjaastad
945f1b1902
Use field auto values for summary plots
Use auto value concept in summary plot configuration. Default behavior is unchanged, but it is now possible to unlink a field to specify a custom value for this field.

Other changes:
* Add missing requirement for Svg in test application
* Use calculator icon and rename panel text
Use icon and relevant text to make it clear that the content in Calculator Data can be used for Grid Property Calculator and nothing else.
* Add example with scoped enum and auto value
* Use enum value starting av 10 to make sure enum values (not option item index) are working as expected
2022-09-05 14:12:49 +02:00
Magne Sjaastad
e97a476d85
Add framework support for editor auto values
Add support for a field to be linked to a value updated by code outside the object itself. Mark the linked field by using a background color and icons for linked/unlinked state.
The auto value states is set as attributes in the project xml file. 
Add reference implementation in cafTestApplication, see Fwk/AppFwk/cafTests/cafTestApplication/MainWindow.cpp

* Tree View Editor: Avoid sending notification if selection is unchanged
* Use std++17 in test solution
* Move icons to icon factory
* add support for creating QIcon from SVG text string
2022-09-02 13:20:52 +02:00
Magne Sjaastad
7f78cb8c89
Fix some smaller issues
* #9253 Well allocation plot: Keep checked state of curves when changing time step
* #9254 Guard pointer when clicking on linked time axis icon
* #9250 Cross Plot : Ensure summary case change update both x and y data sources
2022-09-01 07:50:40 +02:00
Magne Sjaastad
3ff5d238b1 Remove unused members and remove includes 2022-08-25 13:56:53 +02:00
Magne Sjaastad
506bfbd638
Remove control flag in setCollapsedByDefault
* Remove control flag in setCollapsedByDefault
* Set regions/annotations collapsed by default
2022-08-19 14:18:36 +02:00
magnesj
e1c1342957 Fwk : Remove obsolete helper template 2022-07-08 17:54:37 +02:00
Magne Sjaastad
af77fdad81 Prepare for release
Always create plots using Qwt
Always create plot for command "New Summary Plot"
#9103 : Fix missing updates in multiselect field update operation
Add Open Summary Plot Editor
Trigger missing load of data
Enable data source display for first realization of an ensemble
Always show legend text
Set version to 2022.06.0-RC-02
2022-06-30 18:24:25 +02:00
Magne Sjaastad
ccbda23b96
Merge pull request #9048 from OPM/9047-performance-avoid-update-project
- Avoid update of project when creating new objects
- Added icon resource cache
- Avoid use of descendantsIncludingThisOfType()
2022-06-13 13:54:55 +02:00
Magne Sjaastad
7d246c1535 Add missing link library 2022-06-13 13:52:05 +02:00
Magne Sjaastad
5eafa98038 #9023 Performance : Optionally avoid emitting update signals during update
Do not notify editors when building tree in PdmUiTreeViewQModel::setPdmItemRoot()
2022-06-10 06:25:41 +02:00
Magne Sjaastad
2b8bab3bd8 #9011 Disable input controls controlled by automation
Disable fields controlled by automation and append label text with (overridden)
2022-06-03 08:00:55 +02:00
Magne Sjaastad
950ec38a14 Add userInterface unit tests 2022-05-31 15:05:07 +02:00
Magne Sjaastad
c74701b687 Rename several child() and children() functions 2022-05-31 15:05:07 +02:00
Magne Sjaastad
f0ce04597d
Merge pull request #8985 from OPM/8926-remove-useoptionsonly
AppFwk : Remove obsolete useOptionsOnly
2022-05-29 13:01:27 +02:00
Magne Sjaastad
247d1bb338 Allow PropertyView panels to be resized horizontally 2022-05-26 21:17:21 +02:00
Magne Sjaastad
b17e3813df #8966 Improve performance when changing multiple field values 2022-05-26 20:43:25 +02:00
Magne Sjaastad
f91fe41f1d
Several minor issues (#8948)
* #8947 Plot Template : Split export dialog into file path and name
* #8946  Update multi plot title when curve is appended by copy/paste
* #8946 Separate axis object name and axis title text
* If multi plot auto name is empty, use plot title "Plot N"
* QwtPlotWidget: Double click activates Zoom All
* More testing on valid main window before use
* Return false if event is not handeled
* Improve fallback plot name
* Tree View Editor: Early exit if selected object is unchanged
Resetting selection causes flickering
* Summary Plot : Select curve object in project tree when clicking on curve
2022-05-24 15:24:38 +02:00
Kristian Bendiksen
35d91130d3 #8571 Python: generate proper method docs for boolean parameters.
Fixes #8571.
2022-05-11 20:53:01 +02:00
Magne Sjaastad
74ace7ea44
Summary Multi Plot : Improve default behaviour (#8885)
* Summary Multi Plot : Improve default behaviour

- Perform zoom when stepping to next item
- Set defaults for range aggregation and source stepping dimension based on content when creating a multi summary plot

* Plot Axis Appearance : Do not use bold for text configuration

* Improve how scale factor for legend values are computed

* Improve defaults for range aggregation and step dimension

* Reorder Capability : Get UI item before reordering is issued

Get UI item before reordering is issued, as this operation will invalidate the tree model
2022-05-06 12:09:55 +02:00
Magne Sjaastad
74075cc9ab
Merge pull request #8888 from OPM/8887-fix-reorder-capability
Fix reorder capability
2022-05-06 10:52:08 +02:00
Magne Sjaastad
feb1c417c5 #8859 AppFwk : Enable TableView as optional drop target
A TableView can receive drag/drop data. The drop operations finds the PdmObject for a row, and delegates handling of the drop operation to this object.
2022-05-04 09:10:32 +02:00
jonjenssen
0f5d949af0
Merge pull request #8838 from OPM/datasource_steppingtoolbar
Add simplified data source stepping control in toolbar
2022-04-26 12:08:22 +02:00
Magne Sjaastad
470d239a07 Toolbar Editor : Make sure uiOrdering use unique objects 2022-04-06 10:05:43 +02:00
Magne Sjaastad
806a149809
Fix several deprecation warnings (#8657)
* Use constructor instead of nullptr for WindowFlags
* Use constructor instead of nullptr for Alignment
* Disable deprecation warning for QProcess
* Add string split method to RaTextStringTools
* Add caf.cpp used to manage Qt function deprecations
* Use position()
2022-03-11 13:24:01 +01:00
Magne Sjaastad
1563ae7b58
Merge pull request #8614 from OPM/minor-adjustments 2022-03-04 12:24:15 +01:00
Magne Sjaastad
0e57cfe201 Memory Management : Adjustment and fixes
Add release of several static singleton objects
Fix several minor memory leaks
2022-03-03 14:39:41 +01:00
Magne Sjaastad
7a2a297648 #8592: Temporary workaround for crash seen on RHEL7 2022-03-02 17:32:39 +01:00
jonjenssen
0cd965dd5b
Summary plot crash fixes (#8595)
Disable assert for duplicated signal connections for now, just ignore everyone but the first one
Temp. workaround for crash when duplicating plot axis properties.
Update test
2022-03-01 17:27:46 +01:00
Magne Sjaastad
5706c433d0 #8580 cafSignal : Assert if signal is connected twice to the same object 2022-02-26 16:35:59 +01:00
Magne Sjaastad
64bed86f8f
Intersection : Add Python support for triangle and result values (#8505)
#8508 Python : Make sure an empty list will be received as empty list in Python

Co-authored-by: magnesj <magnesj@users.noreply.github.com>
2022-02-07 17:38:19 +00:00
jonjenssen
a3ad9d2c1e
Merge pull request #8524 from OPM/tree_filter
Add Project Tree filter support
2022-02-04 15:49:22 +01:00
jonjenssen
66fd79175c
Project Tree updates (#8490)
Split project tree into multiple dockable tree views for plots, keeping one for 3d views.
2022-01-28 13:19:52 +01:00
Magne Sjaastad
2d2bf0bbc7
CMake : Improve handling of compiler flags (#8486)
#8478 Code cleanup to fix some warnings

Several adjustments to improve the specification and usage of compile flags.
2022-01-26 10:08:28 +01:00
Magne Sjaastad
d5b17976ed
Merge pull request #8459 from OPM/8458-summary-drop-target
Closes #8458
2022-01-21 14:32:51 +01:00
Magne Sjaastad
34fb7d7e84 #8345 Summary Plot Manager : Several improvements
Add checkboxes for individual plots for vectors/addresses and creation of multiplots.
Moved code into RicSummaryPlotBuilder.
Allow UiComboBoxEditor to disable autocomplete.
Create plot using Enter key without modifiers.
2021-12-07 09:53:02 +01:00
Magne Sjaastad
5fcb81980d #8310 Summary Plot Manager : Add data source filtering 2021-11-19 15:42:26 +01:00
Magne Sjaastad
7b1c780a77 AppFwk : Do not use deprecated feature in Qt 5.15 2021-11-17 16:26:47 +01:00
Magne Sjaastad
7dfa84b0d9 AppFwk : Support notification when key is pressed in Line/ComboBox editors 2021-11-17 16:26:47 +01:00
Magne Sjaastad
1b869a9356 #8250 AppFwk : Introduce variadic macros
Use variadic macros to to support optional parameters in initialization macros
2021-11-14 15:26:09 +01:00
Magne Sjaastad
549118b6ad #7974 Progress Bar : Always delay display and increase threshold duration
Some users experience crash/hang situations related to display of Progress Bar dialog. This is related to implicit repaint of windows due to display or hide of a progress dialog.

To reduce the probability for error situations the following is improved:
- Increase the delay before the dialog is displayed
- Do not show the progress dialog immediately, wait until the delay duration is reached
2021-11-01 15:13:38 +01:00
Magne Sjaastad
13a91aef51 #8186 Table view : Add copy to clipboard using Ctrl-C 2021-11-01 11:14:48 +01:00
Magne Sjaastad
e1dea1d34d #8197 AppEnum : Add alias list to support backwards compatibility 2021-10-27 08:38:38 +02:00
Magne Sjaastad
e711d94d49 Scripting : Show script errors in message window
When assigning values from Python to a Pdm object, make sure the errors are displayed in the message window.
2021-10-25 12:22:36 +02:00
Magne Sjaastad
e4d84675c5 #8180 Python : Make orientation scriptable 2021-10-25 12:22:36 +02:00
Magne Sjaastad
fbc8300210 #8180 Python : Generate enum texts for documentation 2021-10-25 12:22:36 +02:00
Magne Sjaastad
841da58f10 #8187 Multiple object edit : Improve identification of selected items at multiple levels
Find all selected items at one level starting from the largest level. This is required to be able to modify multiple rows in the table editor. Items in the table editor use by default SelectionManager::FIRST_LEVEL
2021-10-25 11:39:32 +02:00
Kristian Bendiksen
0db0cbe8ac Fwk: separate uiTreeHidden and uiHidden properties for PdmUiItem. 2021-10-24 09:11:20 +02:00
Magne Sjaastad
98c4dda145 #6163 Match fields in child objects for multi-object selections 2021-10-14 19:50:29 +02:00
jonjenssen
0c69cdf203
Use only one implementation of lineIndicesFromQuadVertexArray (#7980)
* Use only one implementation of lineIndicesFromQuadVertexArray
2021-09-10 06:19:44 +00:00
Magne Sjaastad
b397c230ac #7940 Python : Traverse inheritance stack to find correct script class name 2021-09-02 08:55:35 +02:00
Magne Sjaastad
638f926429
cmake-format: Allow dangling parenthesis 2021-09-01 08:13:16 +02:00