plugins/__templates.py
changeset 12 a1f9e514f708
child 13 f1f0edbeb313
equal deleted inserted replaced
11:75ae893d5eed 12:a1f9e514f708
       
     1 " Here are base type definitions for plugins "
       
     2 
       
     3 class PluggableTemplate:
       
     4 
       
     5     XSD = None
       
     6     
       
     7     def __init__(self, buspath):
       
     8         pass
       
     9 
       
    10     def TestModified(self):
       
    11         return False
       
    12         
       
    13     def ReqSave(self):
       
    14         return False
       
    15 
       
    16     def Generate_C(self, dirpath, locations):
       
    17         return [] # [filenames, ...]
       
    18 
       
    19     def BlockTypesFactory(self):
       
    20         return []
       
    21 
       
    22     def STLibraryFactory(self):
       
    23         return ""
       
    24 
       
    25     ViewClass = None
       
    26     View = None
       
    27     def ViewFactory(self):
       
    28         if self.ViewClass:
       
    29             if not self.View:
       
    30                 def _onclose():
       
    31                     self.View = None
       
    32                 self.View = self.ViewClass()
       
    33                 self.View.OnPluggClose = _onclose
       
    34             return self.View
       
    35         return None
       
    36 
       
    37 
       
    38 def _do_BaseParamsClasses():
       
    39     Classes = {}
       
    40     Types = {}
       
    41     GenerateClassesFromXSDstring("""<?xml version="1.0" encoding="ISO-8859-1" ?>
       
    42         <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
       
    43           <xsd:element name="BaseParams">
       
    44             <xsd:complexType>
       
    45               <xsd:attribute name="Enabled" type="xsd:string" use="required" />
       
    46             </xsd:complexType>
       
    47           </xsd:element>
       
    48         </xsd:schema>
       
    49     """)
       
    50     CreateClasses(Classes, Types)
       
    51     
       
    52     PluginsBaseParamsClass = Classes["BaseParams"]
       
    53 
       
    54     Classes = {}
       
    55     Types = {}
       
    56     GenerateClassesFromXSDstring("""<?xml version="1.0" encoding="ISO-8859-1" ?>
       
    57         <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
       
    58           <xsd:element name="BaseParams">
       
    59             <xsd:complexType>
       
    60               <xsd:attribute name="BusId" type="xsd:integer" use="required" />
       
    61               <xsd:attribute name="Name" type="xsd:string" use="required" />
       
    62             </xsd:complexType>
       
    63           </xsd:element>
       
    64         </xsd:schema>
       
    65     """)
       
    66     CreateClasses(Classes, Types)
       
    67     
       
    68     BusBaseParamsClass = Classes["BaseParams"]
       
    69     return PluginsBaseParamsClass, BusBaseParamsClass
       
    70     
       
    71 PluginsBaseParamsClass, BusBaseParamsClass = _do_BaseParamsClasses()
       
    72