Erbschaft
Wenn die verfügbaren Einstellungen die Erwartungen nicht erfüllen und weitere und tiefere Änderungen erforderlich sind, ist es möglich, die Methoden aus der Basisklasse in das Python-Skript des Plugins zu übertragen.
Beispiel: Ordne die Überschrift des Berichts neu
Um das Erscheinungsbild des Header-Abschnitts zunächst zu ändern, muss eine vererbte Klasse gleichen Namens (ReportUtility) erstellt werden.
Dann muss die Report.py Methode cenheader ins Skript kopiert werden, und die erforderliche Änderung kann dort vorgenommen werden.
def ModifyActiveProgram(Operator: CENPyOlpProgramModifyOperator): # ======== create a PDF Report =============
pdf = ReportUtility()
pdf.setLanguage("fr")
pdf.createAuxCommandsPDFReport(Operator, "")# ============================================
class ReportUtility(ReportUtility):
'''
inherited Class "ReportUtility" for PDF Reports from report.py Base
'''
# re-order my own Report Header, inherited Method from Base Class
def cenheader(self, Operator, path, portrLands):
'''
Defines the customized Header of the PDF Report, underneath common Header
'''
# general Infos Table
self.ln(4)
self.header_table(Operator)
self.ln(20)
# Rendering logo:
filepath = path + self.__headerLogo
if not exists(filepath):
fu = FileUtility()
filepath = fu.CENIT_LOGO_FOLDER + "\\" + self.__headerLogo
if exists(filepath):
hpos = 140
if portrLands == "L":
hpos = 200
self.image(filepath, 10, 60, 100)Was this page helpful?