Commit Graph

416 Commits

Author SHA1 Message Date
Kristian Bendiksen
98796b0dd9 #10649 Fwk: Use collection.empty() instead of comparing with size 2023-09-27 10:16:37 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
b17e3813df #8966 Improve performance when changing multiple field values 2022-05-26 20:43:25 +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
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
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
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
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
e1dea1d34d #8197 AppEnum : Add alias list to support backwards compatibility 2021-10-27 08:38:38 +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
Magne Sjaastad
638f926429
cmake-format: Allow dangling parenthesis 2021-09-01 08:13:16 +02:00
Magne Sjaastad
3af8d32928 #7829 AppEnum : Make sure text used in XML serialization is trimmed
If the AppEnum text used to serialize the AppEnum contains whitespace at start or end, the serialization will fail and the AppEnum value will end up with a default value. 

This commit will make sure that this field is always trimmed ( text coming from the application, from xml parsing, text from scripting).
2021-06-29 20:54:40 +02:00
Magne Sjaastad
eb3c52aeb1 Python adjustments (#7809)
* #7797 Well Targets: Add scripting capability
* #7794 Python : Do not update childField or childFieldArray
* #7797: Python - Add scripting to well path collection
- Extend the pdmobject.py with method add_object()
- allow objects to be created from Python in well path collections
- add well targets to modelled well path

* #7795 Python : Make sure referenced generated classes are defined
* #7810 StimPlanModel: clean-up python generation
* Python : Always use empty string as default value for ptrFieldValue
It can happen that a ptrField is assigned to a pointer on object construction. (FaciesProperties) Make sure that constructor always assigns an empty string.

Co-authored-by: magnesj <magnesj@users.noreply.github.com>
Co-authored-by: Kristian Bendiksen <kristian.bendiksen@gmail.com>
2021-06-25 14:44:52 +02:00
Magne Sjaastad
5c1b08a05b #7656 AppFwk : Make it possible to create a custom uiTreeOrdering 2021-05-11 09:27:55 +02:00