- when the option "use this task panel" is not checked the edit fields must be disabled.
This also fixes the often hard to understand issue that while scrolling to the end of the dialog the material suddenly changes to "_transient" because the scroll wheel can trigger to change the edit fields.
- the material editor failed for Fluid materials because this info was not passed to it. Instead always solid materials were loaded.
- also fix warning about too long variable name and remove unnecessary debug code
- at the moment you get several warnings about missing icons when starting the Material editor
The reason is that they are not registered in CMake
- also remove icon from Material icon editor. As it is a child of FreeCAD it should have the same FreeCAD icon as all other FreeCAD widgets.
- also fix warning about too short variable name
- active already the analysis
- generate the mesh preferably directly, also if this fails, load the rough meshes
- use value for Air is they are in our Air material card
- apply material to the body (not necessary but good practice, the examples are there to teach people and for more complex models setting the material to a body is important)
=====================================
Changes consquence of the review by OpenBrain:
- Use smart pointer for NotificationLabel (QT deleteLater compatible)
- Consistent use of measurement units in parameter naming.
- Consistent wording of code documentation.
- Improvements in branching of QTootTip based code.
- Remove redundant stop on singleshot qtimer.
- Improved filtering of click events.
======================================================================
In short, a "tooltip" alike notification, where the user can continue working without having
to interact with the notification. If the user is interested in the notification, he or she can
stop to read it. If not interested, the user can ignore it and continue working. The notification
will automatically disappear when the timer lapses or before that time, as described below.
A new widget similar to QToolTip, to have a similar look and feel
and interface, while avoiding early closing on user action.
QToolTip is not intended for notifications, but to provide contextual help. While
QToolTip could have been used for part of the functionality (by filtering out events),
other parts required additional changes to the interface
Gui::NotificationBox is a reimplementation intended to provide user notifications. It
relies on the proven code of QToolTip for the wanted behaviour.
Additional functionality:
- A notification box has a minimum time for which it won't close, unless popped out (click inside
the notification).
- After the minimum time, if left mouse button is clicked (anywhere) it auto-closes, as it is
understood the user has continued working.
- After a maximum time, it will automatically close (even in nothing is clicked).
- it was often criticized that our default solver CCX is not connected to the results pipeline system. One had to connect it manually, the create the different filter etc. but as soon as one changed a constraint and re-run the solver the whole work was gone and one had to recreate the pipeline.
This PR solves this by creating a pipeline and by reloading new results to it on a solver re-run.
The CCX results dialog feature is not touched, since the pipeline is hidden when the dialog is active.
- if pvtu file filtering is on, there is by design not on every call of WriteColorData() data
(on other occasions of GetArray(array) the result is checked, for two calls is was forgotten)
- also some automatic code formatting according to our current clang file
- it turned out that the current check for default font failed because of wrong check for the hinting
- fix bug that when the FontSize is not yet stored in the parameters, the dialog shows a wrong size value
- it is sensible to filter by default, however, it turned out that on some complex models Elmer fails to compute if the mesh volume regions are too small (in most cases) or at a certain mesh region. By disabling the filtering, one gets at least for the latter case a visual feedback where the mesh volume of the different CPU are (by also setting a transparency to the result pipeline).
========================================
Fonts:
- SoDatumLabel internally uses QFont and thus points. It was being fed pixels, for which the configured size in preferences did not match the actual on screen size. This is corrected.
- Font sizes fed directly from parameters to the coin nodes skeleton were not being updated, as the parameter observer is initialised after the nodes are created, and the parameter
observer was not configured to update this nodes. This is corrected.
Colors:
- Some color parameters were not being being updated by the parameter observer. This is corrected.