Commit Graph
34 Commits
Author SHA1 Message Date
Magne Sjaastad 18e8b5545d #14699 Add unit tests for PdmUiTreeViewEditor 2026-09-08 11:18:33 +02:00
Magne Sjaastad 656944c6fc #14453 Guard against invalid model index in table view
Dropping on an empty area of a table view calls dropMimeData with an invalid parent index, where row and column are -1. PdmUiTableViewQModel::getField() and pdmObjectForRow() used these values to index the child array field, reading out of bounds and returning a garbage object pointer.
2026-08-05 09:18:31 +02:00
Magne Sjaastad d5c87317c3 #14306 Add test reproducing recursive event processing in progress dialog 2026-06-24 15:34:40 +02:00
Magne Sjaastad 8606fa002e #14104 Remember user-defined size of property and preferences dialogs
Persist the geometry of PdmUiPropertyViewDialog and RiuPropertyViewTabWidget to the application settings on close and restore it on the next show. Restoring is done in showEvent rather than the constructor so it is applied reliably for a modal dialog. The settings key includes the bound object class keyword so distinct dialogs that share a window title do not collide.

This behaviour is gated behind a new "Remember Dialog Size" experimental feature, disabled by default. PdmUiPropertyViewDialog cannot access RiaPreferencesSystem, so the application pushes the current setting via the static enableGeometryPersistence(), following the existing pattern used for class-name display. RiuPropertyViewTabWidget queries the feature directly.
2026-06-04 21:06:38 +02:00
Magne Sjaastad 022d77bef8 macOS: Initial Apple Silicon and x86_64 build support
* Refactor: add MACOSX_BUNDLE option to qt_add_executable in multiple CMakeLists.txt files
* #14045 macOS: Guard std::stacktrace usage and skip ucontext on Apple platforms
* #14045 macOS: Guard std::ispanstream with std::istringstream fallback
* #14045 macOS: Add vcpkg overlay triplets for osx and exclude grpc on osx
* #14045 macOS: CMake macOS build support and openzgy OpenMP-disable patch
* #14045 CI: Add macOS build workflow
* #14045 macOS: Use feature-test macros to detect <stacktrace> and <spanstream>
* #14045 macOS: Make MAX_STIMPLAN_LAYERS constexpr to fix arm64 link error
* #14045 CI: Ship README-macOS.txt with artifact to document Gatekeeper workaround
* #14045 CI: Pin macOS runner to macos-14 and set deployment target to 14.0
* #14045 CI: Move macOS runner to macos-15 and fix README step on configure failure
2026-06-01 12:38:55 +02:00
Magne Sjaastad fe59babf21 #13987 PDM: Fix IconProvider operator= clearing pixmap + regression test
IconProvider::operator= copied a new resource-string but never cleared
the existing m_pixmap. icon() prefers the pixmap when present, so a
pixmap-based default stamped earlier (e.g. by a base class) would
silently shadow a later resource-string-only assignment in a derived
class.

Reset m_pixmap in operator= so resource-string-only assignments fully
replace pixmap-based ones, and cover the replacement semantics with a
caf::IconProvider regression test: default-overwriting-pixmap,
resource-string-overwriting-pixmap and pixmap-overwriting-pixmap.

Needed for the upcoming nested-collection migration where a base class
stamps a folder pixmap and the topmost instance applies a branded
resource-string icon on top.
2026-05-13 14:53:00 +02:00
Magne Sjaastad ab97381d94 Add ADL-based field traits, migrate all call sites, remove cafInternalPdmValueFieldSpecializations.h
Introduce cafPdmFieldTraits.h with ADL-based pdmToVariant/pdmFromVariant/pdmVariantEqual
as a replacement for PdmValueFieldSpecialization. Migrate all types (AppEnum, FilePath,
PdmPointer, cvf types) and all call sites (PdmDataValueField, PdmProxyValueField, UI
framework, ApplicationLibCode). Delete cafInternalPdmValueFieldSpecializations.h.
Add cafPdmFieldTraits unit tests and fix std::optional support.
2026-04-08 12:37:36 +02:00
Magne Sjaastad dbe08064ce Refactor double editor config to use attribute map
Remove custom editor attribute classes and migrate all double field validation and formatting (range, decimals, number format) to the attribute map system. Refactor PdmUiDoubleValueEditor to read settings from the field's attributes and always display formatted values. Remove redundant defineEditorAttribute overrides. Add tests for pair<bool, double> field validation. Centralize and simplify double field UI configuration for improved maintainability.
2026-02-16 16:54:22 +01:00
Magne Sjaastad 8f884c684b Refactor number formatting and tests in PdmUiNumberFormat
- Use 'g' format with precision for AUTO in valueToText
- Remove sprintfFormat function and its declaration
- Replace individual tests with a single parameterized test
- Expand test coverage for all formats and precisions
2026-02-16 16:54:22 +01:00
Magne Sjaastad 9aa5a3d222 Move number formatting setting to CAF to enable use in UI editors
* Move RiaNumberFormat to cafPdmUiNumberFormat in caf framework
* Add unit test
2026-02-16 11:32:04 +01:00
Magne Sjaastad ca0179d118 Remove obsolete CMake statements
When using modern CMake and Qt6 we can remove obsolete source_group() and QT_MOC_HEADERS
2025-01-28 07:01:42 +01:00
Magne Sjaastad ca4a7b9000 Remove obsolete code related to Qt5
* Remove bundling of openssl1.1
* Remove obsolete compile flags
* Remove use of obsolete RimCommandObject
* Use QColor::isValidColorName
QColor::isValidColor is deprecated in Qt 6.6, QColor::isValidColorName was introduced in 6.4

* Make sure debug DLLs are copied when required
* Remove Qt5 from AppFwk
* Remove obsolete copy of Qt  DLLs
2024-10-07 10:16:48 +02:00
Magne Sjaastad 33ffa10ec9 Janitor: Remove obsolete deleteChildren
Remove obsolete deleteChildren() in destructors. deleteChildren() is called in the destructor of PdmChildArrayField
2024-07-25 13:58:31 +02:00
Magne Sjaastad 01a082f9fc #11161 Change default tree visibility state for childField and childArrayField 2024-02-05 10:15:36 +01:00
Magne Sjaastad edf44cb4c0 Prepare CMake to support both Qt5 andf Qt6
CEE_USE_QT6 controls if Qt6 is used.
Improved install and package for Qt6, target version Qt 6.5.3
Added Qt6 to github action for AppFwkUnitTest
2024-01-09 11:02:41 +01:00
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
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 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
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 7d246c1535 Add missing link library 2022-06-13 13:52:05 +02:00
Magne Sjaastad 950ec38a14 Add userInterface unit tests 2022-05-31 15:05:07 +02:00
Magne Sjaastad 638f926429 cmake-format: Allow dangling parenthesis 2021-09-01 08:13:16 +02:00
github-actions[bot] 223fe756fe Fixes by cmake-format (#6874) 2020-10-30 12:31:16 +01:00
Magne Sjaastad bdc536dfc4 #6106 Apply clang-format on AppFwk 2020-06-19 08:00:01 +02:00
Kristian Bendiksen 2eb18d8151 #6029 Upgrade gtest to v1.10 for Fwk/. 2020-06-03 22:06:30 +02:00
Gaute Lindkvist 10afe4987b #4448 Clean up CAF Qt5-enabling/detection 2019-05-28 15:58:49 +02:00
Gaute Lindkvist ddb546d877 #3754 Upgrade CAF CMake-system to support both Qt4 and Qt5 2018-11-30 09:47:53 +01:00
Gaute Lindkvist cc7269c717 #3752 CAF code changes to build on both Qt4 and Qt5 2018-11-30 09:47:53 +01:00
Magne Sjaastad 3fbce58fa5 #2536 Build System AppFwk : Several updates
Simplified automoc
Use target_include_directories and target_link_libraries
Use CMake 2.8.12
2018-02-27 18:37:11 +01:00
Magne Sjaastad 65c3d6ff12 #2536 Build System AppFwk : Use target_include_directories 2018-02-27 17:19:23 +01:00
Magne Sjaastad 31cbd35862 Added more tests and guard for null pointer access 2017-09-19 12:01:16 +02:00
Magne Sjaastad e7351179c3 #1830 AppFwk : Add unit test for tree selection QModel 2017-09-07 14:56:09 +02:00
Magne Sjaastad 4be32969f1 AppFwk : Linux fix : Add linking of thread library 2017-09-07 10:48:04 +02:00
Magne Sjaastad 8698291e7d (#566) Major rewrite of how to build and update PdmUiTreeOrdering items
Removed findChildItemIndex() which caused performance issues for large
models. Replaced with a new algorithm using std::map. Added unit tests
2015-10-14 13:32:35 +02:00