Add bgcolor attribute to connectors and cables
This solves the #210 suggestion to render the title row of the graph nodes with this bgcolor.
This commit is contained in:
parent
a3eefe6659
commit
dbccb77b08
@ -121,6 +121,7 @@ tweak: # optional tweaking of .gv output
|
|||||||
# no color marks will be added to remaining pins
|
# no color marks will be added to remaining pins
|
||||||
|
|
||||||
# rendering information (all optional)
|
# rendering information (all optional)
|
||||||
|
bgcolor: <color> # Background color of diagram connector box
|
||||||
style: <style> # may be set to simple for single pin connectors
|
style: <style> # may be set to simple for single pin connectors
|
||||||
show_name: <bool> # defaults to true for regular connectors,
|
show_name: <bool> # defaults to true for regular connectors,
|
||||||
# false for simple connectors
|
# false for simple connectors
|
||||||
@ -198,6 +199,7 @@ Since the auto-incremented and auto-assigned designator is not known to the user
|
|||||||
wirelabels: <List> # optional; one label for each wire
|
wirelabels: <List> # optional; one label for each wire
|
||||||
|
|
||||||
# rendering information (all optional)
|
# rendering information (all optional)
|
||||||
|
bgcolor: <color> # Background color of diagram cable box
|
||||||
show_name: <bool> # defaults to true
|
show_name: <bool> # defaults to true
|
||||||
show_wirecount: <bool> # defaults to true
|
show_wirecount: <bool> # defaults to true
|
||||||
show_wirenumbers: <bool> # defaults to true for cables; false for bundles
|
show_wirenumbers: <bool> # defaults to true for cables; false for bundles
|
||||||
|
|||||||
@ -122,6 +122,7 @@ class AdditionalComponent:
|
|||||||
@dataclass
|
@dataclass
|
||||||
class Connector:
|
class Connector:
|
||||||
name: Designator
|
name: Designator
|
||||||
|
bgcolor: Optional[Color] = None
|
||||||
manufacturer: Optional[MultilineHypertext] = None
|
manufacturer: Optional[MultilineHypertext] = None
|
||||||
mpn: Optional[MultilineHypertext] = None
|
mpn: Optional[MultilineHypertext] = None
|
||||||
supplier: Optional[MultilineHypertext] = None
|
supplier: Optional[MultilineHypertext] = None
|
||||||
@ -206,6 +207,7 @@ class Connector:
|
|||||||
@dataclass
|
@dataclass
|
||||||
class Cable:
|
class Cable:
|
||||||
name: Designator
|
name: Designator
|
||||||
|
bgcolor: Optional[Color] = None
|
||||||
manufacturer: Union[MultilineHypertext, List[MultilineHypertext], None] = None
|
manufacturer: Union[MultilineHypertext, List[MultilineHypertext], None] = None
|
||||||
mpn: Union[MultilineHypertext, List[MultilineHypertext], None] = None
|
mpn: Union[MultilineHypertext, List[MultilineHypertext], None] = None
|
||||||
supplier: Union[MultilineHypertext, List[MultilineHypertext], None] = None
|
supplier: Union[MultilineHypertext, List[MultilineHypertext], None] = None
|
||||||
|
|||||||
@ -12,8 +12,8 @@ import re
|
|||||||
from wireviz import wv_colors, __version__, APP_NAME, APP_URL
|
from wireviz import wv_colors, __version__, APP_NAME, APP_URL
|
||||||
from wireviz.DataClasses import Metadata, Options, Tweak, Connector, Cable
|
from wireviz.DataClasses import Metadata, Options, Tweak, Connector, Cable
|
||||||
from wireviz.wv_colors import get_color_hex, translate_color
|
from wireviz.wv_colors import get_color_hex, translate_color
|
||||||
from wireviz.wv_gv_html import nested_html_table, html_colorbar, html_image, \
|
from wireviz.wv_gv_html import nested_html_table, html_bgcolor, html_colorbar, \
|
||||||
html_caption, remove_links, html_line_breaks
|
html_image, html_caption, remove_links, html_line_breaks
|
||||||
from wireviz.wv_bom import pn_info_string, component_table_entry, \
|
from wireviz.wv_bom import pn_info_string, component_table_entry, \
|
||||||
get_additional_component_table, bom_list, generate_bom, \
|
get_additional_component_table, bom_list, generate_bom, \
|
||||||
HEADER_PN, HEADER_MPN, HEADER_SPN
|
HEADER_PN, HEADER_MPN, HEADER_SPN
|
||||||
@ -125,7 +125,7 @@ class Harness:
|
|||||||
|
|
||||||
html = []
|
html = []
|
||||||
|
|
||||||
rows = [[remove_links(connector.name) if connector.show_name else None],
|
rows = [[f'{html_bgcolor(connector.bgcolor)}{remove_links(connector.name)}' if connector.show_name else None],
|
||||||
[pn_info_string(HEADER_PN, None, remove_links(connector.pn)),
|
[pn_info_string(HEADER_PN, None, remove_links(connector.pn)),
|
||||||
html_line_breaks(pn_info_string(HEADER_MPN, connector.manufacturer, connector.mpn)),
|
html_line_breaks(pn_info_string(HEADER_MPN, connector.manufacturer, connector.mpn)),
|
||||||
html_line_breaks(pn_info_string(HEADER_SPN, connector.supplier, connector.spn))],
|
html_line_breaks(pn_info_string(HEADER_SPN, connector.supplier, connector.spn))],
|
||||||
@ -209,7 +209,7 @@ class Harness:
|
|||||||
elif cable.gauge_unit.upper() == 'AWG':
|
elif cable.gauge_unit.upper() == 'AWG':
|
||||||
awg_fmt = f' ({mm2_equiv(cable.gauge)} mm\u00B2)'
|
awg_fmt = f' ({mm2_equiv(cable.gauge)} mm\u00B2)'
|
||||||
|
|
||||||
rows = [[remove_links(cable.name) if cable.show_name else None],
|
rows = [[f'{html_bgcolor(cable.bgcolor)}{remove_links(cable.name)}' if cable.show_name else None],
|
||||||
[pn_info_string(HEADER_PN, None,
|
[pn_info_string(HEADER_PN, None,
|
||||||
remove_links(cable.pn)) if not isinstance(cable.pn, list) else None,
|
remove_links(cable.pn)) if not isinstance(cable.pn, list) else None,
|
||||||
html_line_breaks(pn_info_string(HEADER_MPN,
|
html_line_breaks(pn_info_string(HEADER_MPN,
|
||||||
|
|||||||
@ -4,6 +4,7 @@
|
|||||||
from typing import List, Union
|
from typing import List, Union
|
||||||
import re
|
import re
|
||||||
|
|
||||||
|
from wireviz.DataClasses import Color
|
||||||
from wireviz.wv_colors import translate_color
|
from wireviz.wv_colors import translate_color
|
||||||
from wireviz.wv_helper import remove_links
|
from wireviz.wv_helper import remove_links
|
||||||
|
|
||||||
@ -32,8 +33,13 @@ def nested_html_table(rows):
|
|||||||
html.append('</table>')
|
html.append('</table>')
|
||||||
return html
|
return html
|
||||||
|
|
||||||
def html_colorbar(color):
|
def html_bgcolor(color: Color, _extra_attr: str = '') -> str:
|
||||||
return f'<tdX bgcolor="{translate_color(color, "HEX")}" width="4">' if color else None
|
"""Return <td> attributes prefix for bgcolor or '' if no color."""
|
||||||
|
return f'<tdX bgcolor="{translate_color(color, "HEX")}"{_extra_attr}>' if color else ''
|
||||||
|
|
||||||
|
def html_colorbar(color: Color) -> str:
|
||||||
|
"""Return <tdX> attributes prefix for bgcolor and minimum width or None if no color."""
|
||||||
|
return html_bgcolor(color, ' width="4"') if color else None
|
||||||
|
|
||||||
def html_image(image):
|
def html_image(image):
|
||||||
from wireviz.DataClasses import Image
|
from wireviz.DataClasses import Image
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user