Vererbung
Wenn die verfügbaren Einstellungen die Erwartungen nicht erfüllen und umfangreichere sowie tiefgreifendere Änderungen erforderlich sind, ist es möglich, die Methoden der Basisklasse in das Plugin-Python-Skript zu übernehmen.
Beispiel: Die Kopfzeile des Berichts neu anordnen

Um das Erscheinungsbild des Kopfbereichs zu ändern, muss zunächst eine abgeleitete Klasse mit demselben Namen (ReportUtility) erstellt werden.
Dann muss die Methode cenheader aus Report.py in das 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?