diff --git a/src/wireviz/DataClasses.py b/src/wireviz/DataClasses.py index a9ce303..30c589c 100644 --- a/src/wireviz/DataClasses.py +++ b/src/wireviz/DataClasses.py @@ -96,6 +96,7 @@ class Connector: notes: Optional[MultilineHypertext] = None pinlabels: List[Pin] = field(default_factory=list) pins: List[Pin] = field(default_factory=list) + pincolors: List[Color] = field(default_factory=list) color: Optional[Color] = None show_name: Optional[bool] = None show_pincount: Optional[bool] = None @@ -140,6 +141,9 @@ class Connector: if len(self.pins) != len(set(self.pins)): raise Exception('Pins are not unique') + if self.pincolors: + self.pincolors.extend([None] * (len(self.pins) - len(self.pincolors))) # autofill missing pincolors as 'no color' + if self.show_name is None: self.show_name = not self.autogenerate # hide auto-generated designators by default diff --git a/src/wireviz/Harness.py b/src/wireviz/Harness.py index 835ed65..b167a15 100644 --- a/src/wireviz/Harness.py +++ b/src/wireviz/Harness.py @@ -110,7 +110,9 @@ class Harness: pinhtml = [] pinhtml.append('
| {pin} | ') if pinlabel: pinhtml.append(f'{pinlabel} | ') + if connector.pincolors: + if pincolor in wv_colors._color_hex.keys(): + pinhtml.append(f'{pincolor} | ') + pinhtml.append(f'') + pinhtml.append(f' | ') + if connector.ports_right: pinhtml.append(f' | {pin} | ') pinhtml.append('