Commit Graph

88 Commits

Author SHA1 Message Date
wmayer
4185605d5e clang/gcc: Add build option FREECAD_WARN_ERROR to force to make warnings into errors 2024-05-29 13:37:07 +02:00
Ronny Standtke
fa2a3e0f54 include translations of the FreeCAD Base 2024-05-10 14:31:33 +02:00
Ladislav Michl
159fe5c21f Base: Use std::chrono for time handling
Replace platform specific implementations with standard C++ std::chrono.
As time_t is now 64-bit on all supported systems, use it to set the clock.
2024-03-05 12:22:40 +01:00
mos
7e0cd689a5 [Base] remove MemDebug
removed unused Memdebug files
2024-02-26 20:38:46 -06:00
Ladislav Michl
915bfd3dde Base: Use std::recursive_mutex 2024-01-21 16:14:12 +01:00
wandererfan
7194c29a81 [Units]Add Meters-only schema (#7395)
- use correct unit for velocity

- typo in include guard
2023-11-16 00:24:09 +01:00
Chris Hennes
9b11c36708 Base/Toponaming: Refactor to extract filters to new file 2023-10-10 11:28:30 -05:00
wmayer
56820718c5 Core: Revert superfluous changes made with PR #9521 2023-10-09 15:06:45 +02:00
AgCaliva
39dcb1da7b Merge Master 2023-08-30 16:24:16 -03:00
Chris Hennes
3b79fd58b7 Base: Wrap PyArg_ParseTupleAndKeywords 2023-08-25 14:52:30 -05:00
Chris Hennes
28f396cc75 Update translations
Adds the ten units strings from Base as well.
2023-08-16 22:50:39 -05:00
AgCaliva
52c55f59a8 Implementing agnostic version of ParameterGrp for reading XML, replacing XMLReader from src/Base/reader.cpp with new class DocumentReader 2023-06-16 15:36:43 -03:00
marioalexis
6cb9bdd23a src: Add descriptor protocol support for Python C++ extension modules 2023-04-10 16:53:51 +02:00
Abdullah Tahiri
63f3bdaf77 Base: Observer - fix template instantiation
===========================================

Merit goes to Werner for figuring out the issue and proposing a MSVC/MSYS2 viable solution:
https://github.com/FreeCAD/FreeCAD/pull/8781#issuecomment-1464898566
2023-03-12 06:06:29 +01:00
Abdullah Tahiri
c604d1741d Console/ILogger: Refactor and extension
=======================================

Refactor:
 - Substitute the use of variadic templates with parameter packs.
 - Use recently incorporated external library "fmt" to handle printf like formating.
 - Extensive cleaning of pragmas and unnecessary forward declarations.
 - Parameter packs and libfmt provide a much stronger type checking now, so
   conversions that are by standard implicit as bool to int need an explicit static_cast
   to avoid compilation warnings.

Extension:
 - Include a notifier field, so that the originator of the message can be provided. E.g. Document#DocumentObject
 - Include a new type of message called CriticalMessage, this message is intended to have
   special behaviour in the future. Namely, it will be used to notify forward compatilibity issues.
   It will be used to substitute the current signal/slot mechanism.
 - Include two new types of messages for user notifications (Notification and TranslatedNotification). This messages
   will be use to convey UI notifications intended for the user (such as non-intrusive message about the usage of a tool). There
   are two versions to mark whether the string provided as a message is already translated or not. When using the console system for
   notifications, these notifications may originate from the App or the Gui. In the former, it is generally the case that the strings
   of messages are not (yet) translated (but they can be marked with QT_TRANSLATE_NOOP). In the latter, often the messages to be provided
   are already translated.

Python support for CriticalMessage, Notification and TranslatedNofification, including shortcuts:

    Crt = FreeCAD.Console.PrintCritical
    Ntf = FreeCAD.Console.PrintNotification
    Tnf = FreeCAD.Console.PrintTranslatedNotification
2023-03-07 16:13:23 +01:00
mosfet80
d73636630a Merge branch 'master' into removeGZstream 2023-03-01 19:43:56 +01:00
Andrew
c4e6c0a292 remove unused FDstream file 2023-03-01 12:28:00 -06:00
Andrew
5293461a65 remove unused GZstream library interface files 2023-02-22 16:01:30 +01:00
Andrew
15dad4542f remove deleted files in CMakeList 2023-01-24 08:40:43 -07:00
mosfet80
bdc9c03597 Revert "Update CMakeLists.txt"
This reverts commit 10e8c98a189a4ecfb5a43b61d6c076682b324499.
2023-01-24 08:40:43 -07:00
mosfet80
7419a16690 Update CMakeLists.txt
Remove unused old files
2023-01-24 08:40:43 -07:00
luzpaz
c4fa2e4a32 Fix trailing whitespace 2023-01-20 23:26:04 -06:00
wmayer
2252696828 Base: move class ProgressIndicatorPy to its own files 2022-11-22 15:07:33 +01:00
Chris Hennes
2f7be9e782 cMake: Add support for compiling against Qt6 (#7647)
Removes the BUILD_QT5 flag and adds a new FREECAD_QT_VERSION option,
which can be set to either "Auto" (default), 5, or 6. Auto detects which
version of Qt is installed on the system and chooses it. If both version
are installed, Qt5 is used.

Note that this DOES NOT implement compiling against Qt6, it only adds
the necessary cMake infrastructure to begin work on the source code
changes that will be required.
2022-10-31 09:24:09 -05:00
wmayer
1789c957df Base: [skip ci] Add function to read the CD of a zip file from a std::istream 2022-09-05 18:53:37 +02:00
wmayer
c49854b47b Base: implement Line3 Polygon3 class 2022-08-04 02:17:22 +02:00
wmayer
bd5ef26536 Base: add Precision class
and move the Python binding from Part to Base module
2022-07-30 17:10:56 +02:00
wmayer
339bb73e9f Base: add convenience classes/functions that are marked as deprecated in Qt 5.15 and removed in Qt 6 2022-07-14 14:52:23 +02:00
wmayer
58a719e207 Base: move ILogger sub-classes to their own source files in order to reduce including stream classes in client code 2022-03-06 10:13:47 +01:00
wmayer
032cea587d Base: implement a lightweight smart pointer for PyObject like Py::Object to reduce includes of Python.h in header files 2022-03-04 15:51:51 +01:00
wmayer
56bfb9804c Base: [skip ci] support bitmask operations for enums 2022-01-08 15:48:40 +01:00
wmayer
56d86df5bb Base: fix memory leak when creating object with factory method 2021-12-11 14:26:40 +01:00
wmayer
f82af9eca2 Base: remove obsolete swig source files 2021-04-26 11:20:13 +02:00
Mateusz Skowroński
92683e1f63 Fix CMake warning: qt5_make_output_file is not part of the official API, and might be removed in Qt 6. 2021-04-19 15:10:53 +02:00
Benjamin Nauck
231c470e7e [Base] Remove unused std::make_unique back port
std::make_unique was introduced in c++14, so no need to have it back
ported anymore.
2021-03-06 21:20:32 +01:00
Bernd Hahnebach
7852957623 Base: add new unit schema for mm and N for use in FEM 2020-08-07 19:19:44 +02:00
wmayer
2dfc4099b6 CMake: use XercesC_LIBRARIES to store debug and release version of xerces 2020-03-16 12:24:40 +01:00
wmayer
e1f85cd091 export typeid system to Python 2019-11-13 00:43:23 +01:00
wmayer
ee63c324c1 Add an XSD validation scheme and implement ParameterManager::CheckDocument(), function is used in the parameter editor 2019-10-14 22:56:03 +02:00
DeepSOIC
63d0435a95 Base: ScLERP placement interpolation 2019-10-12 15:39:39 +02:00
wmayer
9f7075bb8f extend convertTo function to also support SbRotation/Base::Rotation 2019-09-06 21:29:51 +02:00
wmayer
218d849355 use GNU directory structure on non-Windows systems 2019-08-22 16:57:11 +02:00
Abdullah Tahiri
3554cd9832 Base: Move std::make_unique to Base 2019-07-14 12:37:35 +02:00
wmayer
3203ace267 simplify handling of static Python libs 2019-07-03 16:09:47 +02:00
lo
9369816f3c cmake: add option to disable linking of python extension modules to python-libraries 2019-05-24 14:37:33 +02:00
wmayer
cd4269e6af rename BUILD_uSE_PCH to FREECAD_USE_PCH to be consistent with other build options 2019-04-15 13:31:31 +02:00
wmayer
907cdb8fa0 add module for Qt translation stuff 2018-10-28 12:58:14 +01:00
wmayer
04faa8f497 + fix cutting or selecting mesh in perspective projection mode 2018-10-11 10:48:27 +02:00
wmayer
4211defb4a reduce compile time after each time cmake configure is executed 2018-08-21 13:53:33 +02:00
wmayer
b9c24f8a92 reduce compile time after each time cmake configure is executed (swig) 2018-08-21 13:20:58 +02:00