Select the summary plot as the current item before any menu commands are
created, so every command in the context menu operates on that plot. This is
the root fix for plot-level commands (New Analysis Plot, correlation plots,
etc.) that derive their enablement from the selected plot: previously the
selection could be left on an ensemble realization's summary case, disabling
them.
Because the plot is now selected, the Show Plot Data / Edit Plot / Split / Delete
commands resolve the plot from the selection, so passing it as user data is no
longer needed. The RicShowPlotDataCtxFeature and RicEditSummaryPlotCtxFeature
subclasses existed only to force isCommandEnabled to true for the context menu;
they are now obsolete and removed, and the menu uses the base RicShowPlotData
and RicEditSummaryPlot features directly.
Also highlight the curve under the cursor before showing the menu, giving the
same visual feedback as a left-click. Separate highlighting from selection:
extract the visual-only part of selectClosestPlotItem into
applyHighlightForClosestItem, shared by selectClosestPlotItem (left-click:
highlight + select) and the new highlightClosestPlotItem (highlight only). The
context menu uses the highlight-only path, so it does not change the selection.
Add highlightClosestPlotItemAtPosition that takes widget coordinates and
converts them to canvas coordinates internally, so the caller does not depend
on qwt headers.
- Add optional summary plot in upper right corner
- Replace fixed grid layout with ADS dock manager for flexible layout
- Show plot titles and set splitter width to 1px
- Use setupBeforeSave to persist dock layout state
When working with a summary ensemble in a Debug build on Windows, a crash happened in RiuQwtPlotWidget::resetPlotCurveHighlighting(). When iterating over list of plot items, one pointer to item pointed to 0xddddddd, a clear indication that the underlying list had been updated during the loop and the iterator invalidated.
The change ensures that modifications to the item list during iteration do not cause unexpected behavior, particularly in scenarios involving grid lines and curve highlighting.
This is achieved by making a copy of the item list before iteration when modifications may occur. For cases where no add/remove will be performed during the iteration, a comment is added to clarify that it is safe to access the reference to the list.
Refactors zoom handling in multi-plot scenarios to ensure consistent
axis ranges and proper synchronization between subplots, especially
when linking subplot axes.
Removes direct zoom event handling from subplots and centralizes zoom
logic in the multi-plot container.
This ensures that the 'Zoom All' operation correctly adjusts the
Y-axis ranges based on the configured aggregation method and linked
axes settings.
* Use vector name as axis object text, avoid identifier text
* Select the plot clicked at in the Project Tree
* Make sure RFT plots are updated when summary case and ensemble is changed
* Make sure all plots are updated for multiselect and toggle statistics
* Allow paste of plot on top level plot collection
* Allow multiple top level plots as destination for Append operations
Interpolate distance from mouse cursor to the line between index above and below closest index. This will make sure selection works when zoomed, and clear highlighting if mouse click is far from curves.
Avoid pixel size for easier config across multiple environments
Set default font size for plots to 10 points
Use Small instead of XSmall for default font in plot
Remove pt postfix to indicate point size
Skip distance check when clicking in the plot, always select closest curve
When pressing CTRL, toggle highlighted curves
Allow multi select of realizations in Project Tree
Avoid curve highlight operation during zoom
Make sure wheel zoom works for a single plot
Use the first available highlighted curve as basis for display of horizontal readout value. Fallback to single realization curves.
When selecting a realization in project tree, highlight all related curves
Make sure zoom rect works when readout annotations are active
* Add notification of parent object when multiple objects are updated
* Make sure unchecked curves are removed from track
* Use object names instead of "Sub Items" when possible
* Set default simulation well visualization to top of reservoir
* Show plot window after plot is created
* Allow setting plot rendering flags
* Add more plots for update when clicking in 3D view
* Seismic Difference: Fix typo for poly line data extraction
* Version RC_5
* 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
- 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>
* 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
- Added custom tickmark configuration in time axis properties for `Time Mode = Date`
- Refactor code to separate handling of time axis properties and regular axis properties in RimSummaryPlot
- Add method for setting major ticks by use of list for RiuPlotWidget interface.
- Refactor PlotShapeItems highlighting in QwtPlotWdiget - s.t. highlighting is not dependent on plotDefinition RimPlot object and its isCurveHighlightSupported flag.
- Remove plot definition assert and utilize guards to allow nullptr/undefined plotDefinition
- Add font size settings
- Move legend to right side of plot
- Set default selected time steps to time step count = 10
- When excluding time steps, duplicates rates from next valid time step onto excluded time steps
- Allow time step selection "Show all time steps" or "Time step count" for subset of time steps
- Allow excluding on the active set, i.e. all or subset, of time steps
* Guard null pointer access
* Delay open of RFT files until data is requested
When opening ensemble summary cases, the opening of RFT files can take some time. Avoid this by delaying the file open operation.
* Fix infinite update loop for RFT plots
* Avoid moving the tracker line when clicking in the plot
* #9435 Do not auto update curve appearance during source stepping
* Update toolbar after vector is dropped into empty plot
* Use summary vector text in RiaSummaryDefines
* Fix missing update of curve color when curve is highlighted
* Make curve selection optional to avoid flickering in depth plots
* Replace undefined with zero for some curves
* Add spacing factor for min and max depth
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
* 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
* Ensemble Curves : Improve visual appearance
Set line thickness to 1
If ensemble curves are bright, use a high saturation color for the highlight curve
Increase line thickness for highlighted curve
* Use color by summary vector phase for ensemble curves
* Do not create curves for non-existing history vectors
* #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
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