| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | __title__ = "FreeCAD FEM solver report" |
| | __author__ = "Markus Hovorka" |
| | __url__ = "https://www.freecad.org" |
| |
|
| | |
| | |
| |
|
| | import FreeCAD as App |
| |
|
| |
|
| | INFO = 10 |
| | WARNING = 20 |
| | ERROR = 30 |
| |
|
| |
|
| | def display(report, title=None, text=None): |
| | if App.GuiUp: |
| | displayGui(report, title, text) |
| | else: |
| | displayLog(report) |
| |
|
| |
|
| | def displayGui(report, title=None, text=None): |
| | import FreeCADGui as Gui |
| | from . import reportdialog |
| |
|
| | if not report.isEmpty(): |
| | mw = Gui.getMainWindow() |
| | dialog = reportdialog.ReportDialog(report, title, text, mw) |
| | dialog.exec_() |
| |
|
| |
|
| | def displayLog(report): |
| | for i in report.infos: |
| | App.Console.PrintLog("%s\n" % i) |
| | for w in report.warnings: |
| | App.Console.PrintWarning("%s\n" % w) |
| | for e in report.errors: |
| | App.Console.PrintError("%s\n" % e) |
| |
|
| |
|
| | class Report: |
| |
|
| | def __init__(self): |
| | self.infos = [] |
| | self.warnings = [] |
| | self.errors = [] |
| |
|
| | def extend(self, report): |
| | self.infos.extend(report.infos) |
| | self.warnings.extend(report.warnings) |
| | self.errors.extend(report.errors) |
| |
|
| | def getLevel(self): |
| | if self.errors: |
| | return ERROR |
| | if self.warnings: |
| | return WARNING |
| | if self.infos: |
| | return INFO |
| | return None |
| |
|
| | def isEmpty(self): |
| | return not (self.infos or self.warnings or self.errors) |
| |
|
| | def info(self, msg): |
| | self.infos.append(msg) |
| |
|
| | def warning(self, msg): |
| | self.warnings.append(msg) |
| |
|
| | def error(self, msg): |
| | self.errors.append(msg) |
| |
|
| |
|
| | |
| |
|