Commit Graph

1367 Commits

Author SHA1 Message Date
Eirik Marthinsen
1f1904d72b Add dependency on QtSvg for project cafUserInterface
The project cafUserInterface requires the library QtSvg because of the
use of QSvgRenderer in cafUiIconFactory.cpp. The library has to be
linked into the final executable. The target introdicing the dependency
should also be the one specifying it.

This allows us to remove the dependency from targets that doesn't
directly use QtSvg at all.

Closes #10955
2023-12-16 17:39:09 +01:00
Eirik Marthinsen
9701866736 CMake: Update/Remove old minimum version check
- Update the minimum required CMake version to 3.15 for Fwk folders
  that might be used as top level projects.
- Remove the minimum required CMake version from projects that is just
  included from other top level projects.

Since version 3.19 CMake has been warning that CMake versions below 3.5
is deprecated and support will be removed in the future. This will
silence those warning.

By removing the minimum required version check from projects that is not
intended as top level projects we avoid redundant checks and simplifies
future maintenance.

Closes #10957
2023-12-16 17:35:54 +01:00
Eirik Marthinsen
77e5d642e9 Fix insufficient forward declaration
It is not sufficient with a forward declaration of QString here. Since
the vector is created in PdmFieldCapability::attributes() the size of
QString must be known at that point.

closes #10950
2023-12-13 18:40:09 +01:00
Jon Jenssen
9a78e69d52 Only show clear button/icon in tree search if user has entered text 2023-11-27 15:34:20 +01:00
Magne Sjaastad
8fbc532149 Guard missing field for combo box editor
This can happen if all summary plots are deleted. The toolbar is still visible, and interaction with toolbar causes crash.
2023-11-27 13:14:16 +01:00
Magne Sjaastad
f092f18614 Make sure toolbar is updated for when a single plot is present
We try to update the content of the toolbar only when required, as this can take some time to produce the combo box content for large cases. Return false to make sure the UI is rebuild if any invalid text is present.
2023-11-20 14:13:24 +01:00
Magne Sjaastad
9e65eb3be9 Add helper functions to convert from cellIndex to cafVecIjk 2023-11-13 11:08:36 +01:00
Magne Sjaastad
678a368361 Refactor LayoutOptions to improve readability
* Make it possible to use designated initializer list
- remove default constructor
- move static member to outer scope

* Add helper function to add field on same row
2023-11-10 14:48:56 +01:00
Magne Sjaastad
319dc2ab9b Adjust build settings to c++20
Adjust build settings to c++20
Add ifdef for code related to CeeViz, so it is possible to compile AppFwk without CeeViz
2023-11-09 14:17:43 +01:00
Magne Sjaastad
d8b842147b Use action with icon instead of push button
Add action with an icon inside the line edit to clear the content of the line edit.
2023-11-02 15:19:42 +01:00
Magne Sjaastad
43c5705c8b Define and use a common set of content margin sizes 2023-11-01 09:37:52 +01:00
Magne Sjaastad
718d40de56 Fix hang when editing regression curve degree
Disable editingFinsished() signal when read-only. Using tab after change of Degree in a regression curve object causes the application to hang.
2023-10-30 11:20:21 +01:00
Magne Sjaastad
6858cfe3cf Performance: Update toolbar when required 2023-10-19 07:50:02 +02:00
Magne Sjaastad
6ce456d43e Performance: Make sure the model list is created once
Creating multiple lists during recursion caused a quite large performance penalty.
2023-10-13 16:31:14 +02:00
Magne Sjaastad
bd0ef7f63b Performance: Move selectedUiItems outside the for loop
When number of objects is quite large, this causes a huge performance penalty.
2023-10-13 16:31:14 +02:00
Magne Sjaastad
f1823da6d7 Performance: Cache the uiCapability to costly dynamic_cast 2023-10-13 16:31:14 +02:00
Magne Sjaastad
69b513bcb1 #10713 Add flag used to detect if resolveReferences is called from initAfterRead 2023-10-13 16:31:14 +02:00
Magne Sjaastad
6a8b72c0c5 Add comment and static keyword 2023-10-13 16:31:14 +02:00
Magne Sjaastad
a446f874cb Propagate updated object to onChildrenUpdated() 2023-10-13 08:08:35 +02:00
Magne Sjaastad
21843820e6 Update clang-tidy.yml
* Make sure clang-tidy action use .clang-tidy config file
Use add-paths to instruct create-pull-request to a sub folder to avoid diff from Qt and vcpkg

* Use empty() in macro to avoid clang-tidy warning
* Add NOLINT to CAF_ASSERT
* Add NOLINT to cvfAssert
2023-10-03 09:04:08 +02:00
Kristian Bendiksen
98796b0dd9 #10649 Fwk: Use collection.empty() instead of comparing with size 2023-09-27 10:16:37 +02:00
Magne Sjaastad
a0d696e596 Add Value Range editor backed by std::pair<double, double> 2023-09-22 09:30:08 +02:00
Magne Sjaastad
6f845f0d42 Add flag to constructor of LineEditor 2023-09-22 09:30:08 +02:00
Magne Sjaastad
f4255ba16e Remove unused include 2023-09-04 15:37:51 +02:00
Magne Sjaastad
3800246b79 Performance: Slow performance for some plot and curve operations
* Performance: Cache registry value
* Performance: Avoid recursive update
Early return if values are identical
updateConnectedEditors is handled by setValueFromUiEditor
Avoid fieldChanged in analyzePlotsAndAdjustAppearanceSettings
2023-08-25 10:39:19 +02:00
Kristian Bendiksen
7aabe8c4a8 Python: add type hinting to python code.
Types are checked using mypy.

Fixes #10394.
2023-08-23 09:47:44 +02:00
Magne Sjaastad
533b0805c0 Color legend range: Do not round values if min and max is identical
If min and max is identical, keep the original value. This will ensure that a discrete legend contains only one level.
2023-08-17 07:02:26 +02:00
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
jonjenssen
6a137f5ca9 Do some additional assert cleanup 2023-05-25 14:56:26 +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
Arne Morten Kvarving
2a22cbe610 fixed: do not compare index 2 twice 2023-05-15 13:28:02 +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