Skip to Content

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

PDF Inheritance Sample

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?