Commit Graph

12 Commits

Author SHA1 Message Date
Kevin Martin
67411ec691 Issue 8968: Correct C++ DXF importer to get all of long MTEXT text
If the MTEXT exceeds 250 characters, the contents are broken up into
several records in the DXF file. The C++ importer has been changed
to collect all these pieces into a single string containing all the text.
2023-03-20 11:48:47 -04: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
luzpaz
c14f58d6f3 Fix various trailing whitespace issues and typos 2023-02-19 10:59:14 -06:00
wmayer
b44d70f646 Import: [skip ci] fix warning about trailing whitespaces, fix parsing errors 2022-11-25 11:55:51 +01:00
Uwe
838d99636b [Import] remove unused includes
- also some sorting
2022-11-25 04:34:44 +01:00
marioalexis
816ce9063d Import: Replace C cast 2022-09-18 11:06:51 -05:00
berniev
ddafb98813 Mod: Use override etc 2 2022-08-09 12:52:26 +02:00
berniev
da9ebc572f Mod: redundant void 2 2022-08-08 10:27:50 +02:00
wmayer
5820618091 Import: do not export the entire class but only its public methods.
This fixes the warning C4251 for the template classes std::string or std::vector
Forum thread: https://forum.freecadweb.org/viewtopic.php?f=10&t=70317
2022-07-17 13:49:27 +02:00
Benjamin Alterauge
d15da0ef96 PreCompiled fix
Preventive action to avoid problems with MSVC.
2022-07-16 10:55:24 +02:00
Benjamin Alterauge
a980b08719 Code Cleaning - pragma
#pragma once or define. Not both.
2022-07-16 10:55:24 +02:00
Benjamin Alterauge
83203153cd Group dxf relevant files in one folder 2022-07-16 10:55:24 +02:00