diff --git a/autodoc/doc_state.py b/autodoc/doc_state.py index 31a5b21..e42d082 100644 --- a/autodoc/doc_state.py +++ b/autodoc/doc_state.py @@ -159,13 +159,14 @@ def __doc_iogam__(id, obj, edges, thread): ) ) orows.append(orow) - fill = "#fff" + fill = "#eee" + fcolor = "#000" total = max(len(orows), len(irows)) if bold or total > 1: - fill = "#333" + fill = "#eee" bold = True else: - fill = "#666" + fill = "#eee" inode = f"{id}_{counter} [shape=plaintext," inode += f'tooltip=" IOGAM::{id} ", label=<' @@ -180,7 +181,7 @@ def __doc_iogam__(id, obj, edges, thread): if len(orows) > len(irows): inode += f' rowspan="{len(orows)}"' inode += ">" - inode += '' + inode += f'' inode += irows[i] inode += "" if i < len(orows): @@ -188,7 +189,7 @@ def __doc_iogam__(id, obj, edges, thread): if len(orows) < len(irows): inode += f' rowspan="{len(irows)}"' inode += ">" - inode += '' + inode += f'' inode += orows[i] inode += "" inode += "" @@ -252,7 +253,7 @@ def __doc_message_gam__(id, obj, edges, thread): inputs += " | " inputs += f" {l}" if inputs: - node += inputs + '"];' + node += inputs + '", style=filled, fillcolor=lightyellow];' else: node = "" @@ -264,6 +265,7 @@ def __doc_message_gam__(id, obj, edges, thread): def __doc_events__(id, obj, edges, thread): nodes = "" + bgcolor = "lightyellow" for event_id, event in obj["+Events"].items(): if event_id[0] == "+": event_id = event_id[1:] @@ -272,22 +274,20 @@ def __doc_events__(id, obj, edges, thread): for msg_id in message_ids: nodes += f" {id}_{event_id}_{msg_id} [shape=plaintext, label=<" nodes += '' - nodes += ( - "" + nodes += f"" msg = event[f"+{msg_id}"] fn = msg["Function"] nodes += f"" - nodes += "
When" - ) + nodes += f"When" for i, (sig, val) in enumerate(trigger.items()): if i > 0: nodes += "
" nodes += f"{sig} == {val}" - nodes += "
Destination
Destination{msg['Destination']}
Function" + nodes += f"
Message" if fn == "SetOutput": params = msg["+Parameters"] - nodes += f"{params['SignalName']} = {params['SignalValue']}" + nodes += f"set {params['SignalName']} to {params['SignalValue']}" else: nodes += f"{fn} " nodes += "
>];\n" @@ -388,10 +388,17 @@ def __process_gamds__(name, cls, signals, edges): node += " | " sig_type = signals[sig_name] node += ( - f"<{doc.format_name(sig_name)}> {sig_name} ({doc.type_to_string(sig_type)})" + f'' + f"{sig_name} ({doc.type_to_string(sig_type)})" + "" ) if node: - node = f'{name} [label="{name}\n{cls} | {node}", color=blue, style=filled, fillcolor=lightyellow];\n' + label = f""" + + {node} +
{name}
{cls}
+ """ + node = f'{name} [shape=plaintext, label=<{label}>, color="#0af"];\n' return node, edges @@ -430,9 +437,7 @@ def __process_ds__(name, obj, edges): if sig not in order: lost.append(sig) node = f"{name} [shape=plaintext; label=<" - node += ( - '\n' - ) + node += '
\n' node += f"\n" for i, sig_name in enumerate(order): node += f'\n" - node += "
{name}
{cls}
' @@ -445,7 +450,7 @@ def __process_ds__(name, obj, edges): sig_type = sigs[sig_name] node += f"{sig_name} ({doc.type_to_string(sig_type)})" node += "
>, color=blue];\n" + node += '>, color="#0af"];\n' if not multi_thread and node: node = f"subgraph cluster_{thread}" + "{\n" + node + "};\n" return node, edges @@ -532,18 +537,18 @@ def __state_full_graph__(label, state, app): def __simple_gam__(label, obj): cls = obj["Class"] id = f"fn{doc.format_name(label)}" - style = "" + style = "style=rounded" if cls == "IOGAM": - style = ", style=filled, fillcolor=lightgray" + style = 'style="rounded,filled", fillcolor="#eee"' elif cls == "MessageGAM": - style = ", style=filled, fillcolor=yellow" + style = 'style="rounded,filled", fillcolor=lightyellow' if "InputSignals" in obj: for _, signal in obj["InputSignals"].items(): ds = f'ds{doc.format_name(signal["DataSource"])}' if "OutputSignals" in obj: for _, signal in obj["OutputSignals"].items(): ds = f'ds{doc.format_name(signal["DataSource"])}' - return f"{id}[label=<{label}
{cls}> {style}]\n" + return f"{id}[label=<{label}
{cls}>, {style}]\n" def __simple_ds__(label, obj, edges): @@ -564,7 +569,14 @@ def __simple_ds__(label, obj, edges): thread = edge[-1] elif thread != edge[-1]: multi_thread = True - node = f"{id}[label=<{label}
{cls}>, fillcolor=lightblue]\n" + + fillcolor = "lightblue" + bordercolor = "#0af" + style = "penwidth=2" + if cls == "GAMDataSource": + fillcolor = "#eee" + node = f"{id}[label=<{label}
{cls}>, " + node += f'{style}, fillcolor="{fillcolor}", color="{bordercolor}"]\n' if thread and not multi_thread: node = f"subgraph cluster_{thread}" + "{\n " + node + "}" return node