Commit Graph

102 Commits

Author SHA1 Message Date
tetektoza
82f29552a8 Gui: Use encodeAttribute when escaping XML attributes for XHTML 2025-12-30 17:22:00 +01:00
tetektoza
d543714ea2 Gui: Clean up XHTML meta tags per Nu validator feedback
- Change http-equiv="Content-Type" to simpler charset="utf-8"
- Remove unnecessary type="text/javascript" from script tag
2025-12-27 19:38:34 +01:00
tetektoza
b698d4bb75 Gui: DOCTYPE and structure improvements
Fix X3D standalone export (.x3d):
- Use proper X3D 3.3 DOCTYPE instead of XHTML DOCTYPE
- Remove problematic default namespace declaration
- Use xsd:noNamespaceSchemaLocation for better parser compatibility
- Remove invalid width/height attributes

Fix XHTML/X3DOM export (.xhtml):
- Wrap navigation buttons in <div> (required by XHTML Strict)
- Keep X3D elements unprefixed for X3DOM compatibility
- Add proper XHTML structure with XML declaration
2025-12-27 19:22:28 +01:00
tetektoza
540361d0af Gui: Escape XML special characters in attributes for XHTML
Add escapeXmlAttribute() helper function to properly escape special
characters in XML attribute values:
- Double quotes (") --> &quot;
- Ampersands (&) --> &amp;
- Less-than (<) --> &lt;
- Greater-than (>) --> &gt;
- Single quotes (') --> &apos;
2025-12-27 18:51:52 +01:00
tetektoza
6ffc17d032 Gui: Fix XHTML doc structure
- Add missing <title> element in <head> (required by XHTML Strict)
- Add <body> wrapper around content (required by XHTML)
- Add Content-Type meta tag for proper character encoding
- Fix indentation of buttons to be inside body element
2025-12-27 18:48:22 +01:00
pre-commit-ci[bot]
9fe130cd73 All: Reformat according to new standard 2025-11-11 13:49:01 +01:00
Markus Reitböck
a72a0d6405 Gui: use CMake to generate precompiled headers on all platforms
"Professional CMake" book suggest the following:

"Targets should build successfully with or without compiler support for precompiled headers. It
should be considered an optimization, not a requirement. In particular, do not explicitly include a
precompile header (e.g. stdafx.h) in the source code, let CMake force-include an automatically
generated precompile header on the compiler command line instead. This is more portable across
the major compilers and is likely to be easier to maintain. It will also avoid warnings being
generated from certain code checking tools like iwyu (include what you use)."

Therefore, removed the "#include <PreCompiled.h>" from sources, also
there is no need for the "#ifdef _PreComp_" anymore
2025-09-14 09:47:03 +02:00
captain0xff
66c458f9dc PartDesign: add interactive gizmos 2025-08-30 17:02:52 +02:00
captain0xff
7438a80a72 Gui: move geometry data to separate classes from dragger components 2025-07-08 17:59:51 +05:30
Captain
ce54149637 Gui: refactor SoLinearDragger (#21451)
* Gui: refactor SoLinearDragger

* further improvements

* allow changing label visibility

* change SoLinearDraggerContainer to not inherit from SoDragger

---------

Co-authored-by: captain <captain@captain.captain.com>
2025-06-14 23:21:25 +02:00
Max Wilfinger
3f315c1ed5 Renaming Gui::SiemensNXStyle to Gui::SiemensNXNavigationStyle for consistency 2025-06-06 15:32:05 +02:00
Max Wilfinger
9ab0b75a6d Added UI for Siemens NX navigation style.
Ordered navigation styles alphabetically.
2025-06-06 15:26:18 +02:00
wmayer
65d155a5c9 Gui: Refactor navigation styles
Derive SiemensNXStyle from NavigationStateChart
2025-06-06 15:26:18 +02:00
wmayer
c71b526b72 Gui: Refactor navigation styles
Add new base class for state chart based navigation styles
2025-06-06 15:26:18 +02:00
wmayer
82c2831d36 Gui: Implement navigation style for NX
See forum threads:
https://forum.freecad.org/viewtopic.php?t=96459 or https://forum.freecad.org/viewtopic.php?t=96503
2025-06-06 15:26:18 +02:00
captain0xff
d2ff41dbd7 Gui: moved dragger classes to separate folder and files
* renamed SoFCCSysDragger to SoTransformDragger
* moved TDragger, RDragger and TPlanarDragger to separate files and also renamed them to be more descriptive
2025-04-13 21:36:54 +02:00
Chris Hennes
9356419f6c Merge pull request #19671 from kadet1090/placement-indicator
Gui: Add Show Placement helper
2025-02-25 17:40:58 +00:00
theepicviolin
cb24420fbb Add SolidWorks navigation style (#19568) 2025-02-24 10:57:00 -06:00
Kacper Donat
0a0c5f828e Gui: Add SoFCPlacementIndicatorKit node
This adds SoFCPlacementIndicatorKit - a node that can be used to
show position of object to the user. It can be configured in various
ways so it should be a good base for future unification of features like
this across the application.
2025-02-24 17:30:27 +01:00
Chris Hennes
5869fdb95f Merge pull request #19420 from tritao/gui-selection-refactor
Gui: Selection code cleanups
2025-02-10 10:56:23 -06:00
tritao
02ab2deac7 Gui: Reorganize the navigation files into a top Navigation folder. 2025-02-05 20:21:00 -06:00
tritao
1d789a7972 Gui: Rename SoFCHighlightAction to preselect terminology. 2025-02-05 13:14:00 +00:00
Kacper Donat
c95c4e8fe4 Gui: Fix render order of datum planes 2025-01-20 11:38:57 -05:00
PaddleStroke
1c9ce3e028 SoShapeScale: Fix SoShapeScale does not take DPI scaling into account 2024-12-10 17:15:13 +01:00
wmayer
8b70bf5cb1 Core: Implement SoFCTransform node
In its doAction() method it only sets the model matrix if it's not the identity matrix.
This improves the issue #7606
2024-11-28 19:31:44 +01:00
liukaiwen
a481386436 add SoFCBackgroundGradient to inventor folder 2024-07-22 02:48:53 +08:00
liukaiwen
776ed8f2c1 refactor: move some nodes to Inventor folder 2024-07-20 01:07:04 +08:00
Kacper Donat
cf31f0c7ae Gui: Fix rendering order of transorm gizmo
Transform gizmo (dragger) used SoAnnotation which disables GL_DEPTH_TEST
resulting in rendering elements in wrong order. This PR introduces new
coin node: So3DAnnotation that delays rendering and clears depth buffer before
drawing which results in proper order of elements. As this destroys
information in the depth buffer it is crucial to run this action after
the scene is rendered.
2024-06-03 11:27:22 -05:00
hlorus
dc54fdd5b8 [Part] Move ArcEngine into own file in Gui module 2024-04-29 09:27:22 -04:00
mosfet80
749fbb33b9 Gui: remove SoNavigationDragger (#12409)
Removed SoNavigationDragger files. These files are no longer used in the project
2024-02-16 21:39:28 -06:00
wmayer
c2e17824fa modernize C++: raw string literal 2023-08-07 19:51:15 -06:00
Benjamin Bræstrup Sayoc
da2ae719f2 [Everywhere] FileInfo::hasExtension for multiple values (#9774)
* [Base] Add hasExtension for multiple values

* [Gui] Use hasExtension for multiple values

* [Drawing] Use hasExtension for multiple values

* [Fem] Use hasExtension for multiple values

* [Import] Use hasExtension for multiple values

* [Mesh] Use hasExtension for multiple values

* [Part] Use hasExtension for multiple values

* [TechDraw] Use hasExtension for multiple values
2023-08-07 09:55:19 -06:00
Paddle
271e3bec4a Move SoDatumLabel from Sketcher to Core so that it can be reused anywhere. 2023-04-12 16:48:07 +02:00
wmayer
4d6b2c4a14 Gui: move class Camera to own source files 2023-03-22 16:13:38 +01:00
berniev
ae53c9b0a4 Gui: Use auto and range-based for (#7481)
* On lines where the variable type is obvious from inspection, avoid repeating the type using auto. 
* When possible use a ranged for loop instead of begin() and end() iterators
2022-09-14 13:25:13 -05:00
berniev
3d1f70765a Gui: redundant void 2 2022-08-08 10:21:44 +02:00
wmayer
07ccb73fe7 Partially revert "Remove unused code into GUI" 2022-07-17 12:32:03 +02:00
andrea
7886d3cbf4 Remove unused code into GUI 2022-07-17 03:53:11 +02:00
wmayer
b9db257558 Gui: add SoColorBarLabel as workaround for a Coin3D bug 2022-06-07 19:42:04 +02:00
Uwe
99191c6679 [Gui] So headers: remove unused includes
- also sort out some headers to be used in precompiled headers
- also move a boost header to precompiled headers
2022-03-16 02:01:32 +01:00
wmayer
e9227e86e1 Gui: replace handling of C array/malloc/free in SoFCDB with std::vector 2022-03-14 20:17:28 +01:00
Uwe
66dd0f62a5 [Gui] So headers: remove some unused includes
- also sort out some headers for precompiled headers
2022-03-14 15:13:13 +01:00
wmayer
bc8d6c9934 Gui: add support of TinkerCAD navigation style 2021-11-05 11:10:38 +01:00
wmayer
2e5b29d180 Gui: implement editor for PropertyRotation 2021-10-29 12:41:03 +02:00
wmayer
4e246ada88 Gui: add support of OpenSCAD navigation style 2021-10-26 00:21:31 +02:00
luz paz
38815b9550 Gui: Fix header uniformity, whitespace, and doxygen fixes 2020-11-26 10:14:56 +01:00
wmayer
ce0e0ca143 Gui/Mesh: [skip ci] make sure object fits into canvas 2020-09-08 15:12:09 +02:00
wmayer
10aba9c616 Gui: [skip ci] set crease angle if possible when exporting to x3d/xhtml 2020-09-08 14:35:29 +02:00
wmayer
514a93185b Gui/Mesh: [skip ci] add Iso view position button to Web 3d page 2020-09-07 17:43:04 +02:00
wmayer
208c2f5e6c Gui/Mesh: [skip ci] put view positions at top of Web 3d page 2020-09-07 14:18:01 +02:00