Commit Graph

69 Commits

Author SHA1 Message Date
Magne Sjaastad
d95c4c780c Fix regression causing hidden objects to be visible
Hide objects that by mistake was make visible in ce513be
2024-03-21 09:32:09 +01:00
Magne Sjaastad
6fe997b3c9 Add and use caf::PdmUiPushButtonEditor::configureEditorLabelHidden 2024-02-23 08:47:52 +01:00
Magne Sjaastad
ce513be638 Remove all use of .uiCapability()->setUiTreeHidden( true ); 2024-02-05 10:15:36 +01:00
Magne Sjaastad
f421c43450 Make sure single curves from individual realizations are displayed on top 2023-12-11 12:32:19 +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
184ed5fb65 Call zoomAlll when x-axis type changes
This will ensure that the x-axis range is reset when switching from a cross plot to time plot
2023-10-30 11:20:21 +01:00
Magne Sjaastad
09d6df74bf Hide x-axis group for decline curves 2023-10-19 07:50:02 +02:00
Magne Sjaastad
6858cfe3cf Performance: Update toolbar when required 2023-10-19 07:50:02 +02:00
Magne Sjaastad
51fe80b897 Create cross plot menu from list of addresses in preferences 2023-10-09 13:28:36 +02:00
Magne Sjaastad
445672cbb2 Remove use of obsolete cross plot code
Remove obsolete summary cross plot classes and features
2023-10-05 07:47:47 +02:00
Magne Sjaastad
b43e6e2e8a Guard null pointer use 2023-10-03 09:08:16 +02:00
Kristian Bendiksen
d177491843 #10648 Refactor summary reader: return std::vector<double> instead of taking ptr. 2023-10-02 09:16:52 +02:00
Magne Sjaastad
263e39b97b Add regression curves to ensemble statistics curves
* Add statistics enum
* Support ensemble statistics curve as data source for regression curves
* Allow creation of regression curves from statistics curves
* Make sure regression curves are updated after source curves
* Add state to use full or user defined range for regression source data
* Add isRegressionCurve
* Make sure source stepping works when regression curves are present
2023-09-30 11:07:23 +02:00
Magne Sjaastad
1b1984e216 Adjustments related to cross plot curves
* Verify vector size only for cross plot regression curves
* Add filtering on axis orientation
Makes it possible to show only horizontal or vertical axes when selecting an axis to attach a curve to.

* Send curvesChanged signal to trigger multi plot updates
This signal will trigger update of axes and set correct scaling factor

* Use object name for axis object
* Use address for both x and y axis to create ensemble curve name
* Fix bug for drag/drop of ensemble object into plot
* Add RiaSummaryCurveAddress to RiaSummaryCurveDefinition
* Remove SummaryDataSource
* Use childFieldChangedByUi to trigger update of curves and titles
2023-09-27 10:18:52 +02:00
Magne Sjaastad
fb288f602d Support ensemble cross plot curves
* Remove use of RifEnsembleStatisticsReader
* Add RimSummaryAddressSelector and RimEnsembleCrossPlotStatisticsCase
* Remove RifEnsembleStatisticsReader
* Add support for cross plot x-axis selection
* Support source stepping on ensemble cross plot curves
* Add isXAxisSummaryVector
2023-09-25 12:45:47 +02:00
Magne Sjaastad
146412c600 Add support for summary cross plot curves in summary plots 2023-09-20 13:58:22 +02:00
Magne Sjaastad
f07a5db559 Use post fix Y in RiaSummaryCurveDefinition 2023-09-20 09:58:48 +02:00
Magne Sjaastad
806f367566 Rename to SummaryCategory 2023-09-20 09:58:48 +02:00
Magne Sjaastad
e8aada80c5 Rename to plotAxis() 2023-09-20 09:58:48 +02:00
Magne Sjaastad
96b3bef878 Reduce memory use for summary address object
* Use one common variable for object name, use three ints
* Move enums to separate file
* Refactor use of enums
* Move implementation to cpp
* Refactor includes
2023-08-21 07:12:08 +02:00
Kristian Bendiksen
5bf2c2a89d #10367 Janitor: Remove unneccessary 'this' pointers 2023-08-07 13:38:27 +02:00
Kristian Bendiksen
413da2e714 Decline curve: remove time selection annotation when curve is hidden 2023-06-16 16:49:40 +02:00
Kristian Bendiksen
f1794abff2 #10358 Regression Analysis: Allow selecting subset of time range for regression 2023-06-08 12:50:54 +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
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
Kristian Bendiksen
c8b402651d Add "Decline Curves" functionality.
Adapted from formulas here:
https://petrowiki.spe.org/Production_forecasting_decline_curve_analysis
2023-05-05 15:30:48 +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
c248c9fb57 RFT segment plot adjustments (#9912)
* Delete RFT plot when associated case is deleted
* Rename
* Hide track/curves with no data
2023-03-06 14:34:22 +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
8768e186d8 #9671 summary calculations for summary items
* Summary Calculation: use shorter name in title
* Sort summary addresses to group calculated results last.
* Summary Calculation: add option to distribute calculation to other items.
* Add support for summary calculation for RimGridSummaryCase.
* Use short name for calculations in plot titles.
* Update ensembles in Data Sources when calculation is added.
* Summary Calculation: allow drag-and-drop of ensembles
* Summary Plot: fix axis range aggregation for calculated ensemble addresses.

---------

Co-authored-by: Kristian Bendiksen <kristian.bendiksen@gmail.com>
2023-02-26 08:08:06 +01:00
Kristian Bendiksen
69a668df50 Simplify RifSummaryReaderInterface timeSteps. 2023-02-24 10:03:16 +01:00
Magne Sjaastad
e29b310566 Summary improvements
* #9424 Show vector name in curve names when history vector is present
* #9426 Curve Legend disappears when curve is unchecked
* Remove duplicate call to visibilityChanged
* Remove unused code
2022-11-01 08:00:51 +01:00
Magne Sjaastad
5e184df670 Improve curve naming
* Add curve name template and handling of string variables
* Mark autoName as obsolete field
* Use key-value map to populate variable values
* Add curve naming methods Auto, Custom and Template
2022-10-11 14:02:46 +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
Magne Sjaastad
b706192ea3 Performance updates (#9082)
* Avoid creation of curve legend widgets during construction of a multi plot
* Make sure default z-value is correct to avoid expensive Qwt updates
* Avoid duplicate plot updates
* Do not create internal Qwt legend by default
* RFT import: Avoid expensive method throwing exception if no data is found
2022-06-24 16:16:46 +02:00
Magne Sjaastad
d854a3d3e7 Merge pull request #9063 from OPM/more-rft-fixes-01
More RFT fixes
2022-06-17 17:24:58 +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
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
Magne Sjaastad
f52acd9a64 #8893 Rename quantity name -> vector name 2022-05-10 08:17:41 +02:00
Magne Sjaastad
46173af8c3 Merge pull request #8865 from OPM/8863-summary-issues 2022-05-03 08:51:26 +02:00
Magne Sjaastad
64bed1d611 Summary Multi Plot: Minor adjustments (#8856)
Remove obsolete single summary template code
Always use maximized state of the QMdiSubWindow when a plot or view is deleted.
Move time axis to top
Set correct text for unused axis
Avoid assert when layout is requested for non existing legend
2022-04-29 15:31:07 +02:00
Magne Sjaastad
774538868a #8844 Summary Multi Plot : Optional auto appearance settings 2022-04-26 15:05:00 +02:00
Magne Sjaastad
30aaadb58c #8798 Summary Curve Selection : Always show ensemble realizations cases 2022-04-08 13:22:42 +02:00
jonjenssen
d156160daf Summary Multiplot: sync plot selection in tree with view (#8788)
* Make sure the subplot selected in the tree is shown in the multiplot viewer. 
* Clean up multiplot toolbar handling a bit
* Remove old summary plot toolbar.
2022-04-07 16:24:27 +02:00
jonjenssen
3590c52cdc Deprecate single summary plots and plot collections. (#8777)
* Deprecate single summary plots and plot collections. Replace functionality using summary multi plots. Clean up some code. Fix crash when trying to normalize an empty curve
2022-04-06 17:39:07 +02:00
Magne Sjaastad
0ca70249ae Move defines to RiaDateTimeDefines 2022-03-14 09:18:48 +01:00
Magne Sjaastad
477ae02382 Logarithmic curve support and renaming (#8546)
* Add test for both positive and negative numbers
* Remove redundant sample count from parameter list
* Propagate useLogarithmicScale
* Renaming
2022-02-14 11:49:37 +01:00
Kristian Bendiksen
e92e2e8764 Summary Plot: Add support for multiple plot axis. 2022-02-07 09:55:11 +01:00
Magne Sjaastad
5ff9f36448 Merge pull request #8461 from OPM/8460-plot-curve-fixes
Guard access to QtCharts objects that might be null
Fix visibility of items in legend based on state in parent plot
2022-01-20 12:52:36 +01:00
Kristian Bendiksen
258fbddc10 Merge pull request #8387 from OPM/qtcharts-summary-plots
Closes #8228 

Major refactoring of summary plotting. Now possible to create plots both with Qwt and QtChart as plotting tool.
2022-01-17 13:14:21 +01:00