hugo-site/static/images/posts/example_pyviewer.svg

1 line
17 KiB
XML

<svg id="mermaid-1635688683738" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="621" style="max-width: 638.45703125px;" viewBox="0 0 638.45703125 621"><style>#mermaid-1635688683738 {font-family:monospace;font-size:14px;fill:#000000;}#mermaid-1635688683738 .error-icon{fill:#552222;}#mermaid-1635688683738 .error-text{fill:#552222;stroke:#552222;}#mermaid-1635688683738 .edge-thickness-normal{stroke-width:2px;}#mermaid-1635688683738 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-1635688683738 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-1635688683738 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-1635688683738 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-1635688683738 .marker{fill:white;stroke:white;}#mermaid-1635688683738 .marker.cross{stroke:white;}#mermaid-1635688683738 svg{font-family:monospace;font-size:14px;}#mermaid-1635688683738 g.classGroup text{fill:white;fill:white;stroke:none;font-family:monospace;font-size:10px;}#mermaid-1635688683738 g.classGroup text .title{font-weight:bolder;}#mermaid-1635688683738 .nodeLabel,#mermaid-1635688683738 .edgeLabel{color:white;}#mermaid-1635688683738 .edgeLabel .label rect{fill:none;}#mermaid-1635688683738 .label text{fill:white;}#mermaid-1635688683738 .edgeLabel .label span{background:none;}#mermaid-1635688683738 .classTitle{font-weight:bolder;}#mermaid-1635688683738 .node rect,#mermaid-1635688683738 .node circle,#mermaid-1635688683738 .node ellipse,#mermaid-1635688683738 .node polygon,#mermaid-1635688683738 .node path{fill:none;stroke:white;stroke-width:1px;}#mermaid-1635688683738 .divider{stroke:white;stroke:1;}#mermaid-1635688683738 g.clickable{cursor:pointer;}#mermaid-1635688683738 g.classGroup rect{fill:none;stroke:white;}#mermaid-1635688683738 g.classGroup line{stroke:white;stroke-width:1;}#mermaid-1635688683738 .classLabel .box{stroke:none;stroke-width:0;fill:none;opacity:0.5;}#mermaid-1635688683738 .classLabel .label{fill:white;font-size:10px;}#mermaid-1635688683738 .relation{stroke:white;stroke-width:1;fill:none;}#mermaid-1635688683738 .dashed-line{stroke-dasharray:3;}#mermaid-1635688683738 #compositionStart,#mermaid-1635688683738 .composition{fill:white!important;stroke:white!important;stroke-width:1;}#mermaid-1635688683738 #compositionEnd,#mermaid-1635688683738 .composition{fill:white!important;stroke:white!important;stroke-width:1;}#mermaid-1635688683738 #dependencyStart,#mermaid-1635688683738 .dependency{fill:white!important;stroke:white!important;stroke-width:1;}#mermaid-1635688683738 #dependencyStart,#mermaid-1635688683738 .dependency{fill:white!important;stroke:white!important;stroke-width:1;}#mermaid-1635688683738 #extensionStart,#mermaid-1635688683738 .extension{fill:white!important;stroke:white!important;stroke-width:1;}#mermaid-1635688683738 #extensionEnd,#mermaid-1635688683738 .extension{fill:white!important;stroke:white!important;stroke-width:1;}#mermaid-1635688683738 #aggregationStart,#mermaid-1635688683738 .aggregation{fill:none!important;stroke:white!important;stroke-width:1;}#mermaid-1635688683738 #aggregationEnd,#mermaid-1635688683738 .aggregation{fill:none!important;stroke:white!important;stroke-width:1;}#mermaid-1635688683738 .edgeTerminals{font-size:11px;}#mermaid-1635688683738 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g transform="translate(0, 0)"><defs><marker id="classDiagram-aggregationStart" class="marker aggregation classDiagram" refX="0" refY="7" markerWidth="190" markerHeight="240" orient="auto"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id="classDiagram-aggregationEnd" class="marker aggregation classDiagram" refX="19" refY="7" markerWidth="20" markerHeight="28" orient="auto"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id="classDiagram-extensionStart" class="marker extension classDiagram" refX="0" refY="7" markerWidth="190" markerHeight="240" orient="auto"><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id="classDiagram-extensionEnd" class="marker extension classDiagram" refX="19" refY="7" markerWidth="20" markerHeight="28" orient="auto"><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id="classDiagram-compositionStart" class="marker composition classDiagram" refX="0" refY="7" markerWidth="190" markerHeight="240" orient="auto"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id="classDiagram-compositionEnd" class="marker composition classDiagram" refX="19" refY="7" markerWidth="20" markerHeight="28" orient="auto"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id="classDiagram-dependencyStart" class="marker dependency classDiagram" refX="0" refY="7" markerWidth="190" markerHeight="240" orient="auto"><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id="classDiagram-dependencyEnd" class="marker dependency classDiagram" refX="19" refY="7" markerWidth="20" markerHeight="28" orient="auto"><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><g class="root"><g class="clusters"></g><g class="edgePaths"><path d="M225.11961570945945,318L214.56517454954954,323.8333333333333C204.01073338963965,329.6666666666667,182.90185106981983,341.3333333333333,172.34740990990994,351.3333333333333C161.79296875,361.3333333333333,161.79296875,369.6666666666667,161.79296875,373.8333333333333L161.79296875,378" id="id1" class=" edge-pattern-solid relation" style="fill:none" marker-start="url(#classDiagram-extensionStart)"></path><path d="M433.1928842905405,318L443.74732545045043,323.8333333333333C454.30176661036035,329.6666666666667,475.4106489301801,341.3333333333333,485.9650900900901,361.3333333333333C496.51953125,381.3333333333333,496.51953125,409.6666666666667,496.51953125,423.8333333333333L496.51953125,438" id="id2" class=" edge-pattern-solid relation" style="fill:none" marker-start="url(#classDiagram-extensionStart)"></path><path d="M297.0215371621622,143L302.37732263513516,147.16666666666666C307.7331081081081,151.33333333333334,318.44467905405406,159.66666666666666,323.80046452702703,169.66666666666666C329.15625,179.66666666666666,329.15625,191.33333333333334,329.15625,197.16666666666666L329.15625,203" id="id3" class=" edge-pattern-solid relation" style="fill:none" marker-start="url(#classDiagram-dependencyStart)"></path><path d="M123.49408783783784,143L118.13830236486486,147.16666666666666C112.78251689189189,151.33333333333334,102.07094594594594,159.66666666666666,96.71516047297297,168C91.359375,176.33333333333334,91.359375,184.66666666666666,91.359375,188.83333333333334L91.359375,193" id="id4" class=" edge-pattern-solid relation" style="fill:none" marker-start="url(#classDiagram-dependencyStart)"></path></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default" id="classid-ApplicationWindow-0" transform="translate(91.359375, 260.5)"><rect class="outer title-state" x="-83.359375" y="-67.5" width="166.71875" height="135"></rect><line class="divider" x1="-83.359375" x2="83.359375" y1="-39.5" y2="-39.5"></line><line class="divider" x1="-83.359375" x2="83.359375" y1="16.5" y2="16.5"></line><g class="label"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel"></span></div></foreignObject><foreignObject class="classTitle" width="143.296875" height="16" transform="translate( -71.6484375, -60)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">ApplicationWindow</span></div></foreignObject><foreignObject width="109.578125" height="16" transform="translate( -75.859375, -28)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">int[2] layout</span></div></foreignObject><foreignObject width="109.578125" height="16" transform="translate( -75.859375, -8)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">int max_count</span></div></foreignObject><foreignObject width="151.71875" height="16" transform="translate( -75.859375, 24)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">navigate(keyPress)</span></div></foreignObject><foreignObject width="67.4375" height="16" transform="translate( -75.859375, 44)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">update()</span></div></foreignObject></g></g><g class="node default" id="classid-PyViewer-1" transform="translate(210.2578125, 75.5)"><rect class="outer title-state" x="-125.5078125" y="-67.5" width="251.015625" height="135"></rect><line class="divider" x1="-125.5078125" x2="125.5078125" y1="-39.5" y2="-39.5"></line><line class="divider" x1="-125.5078125" x2="125.5078125" y1="-3.5" y2="-3.5"></line><g class="label"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel"></span></div></foreignObject><foreignObject class="classTitle" width="67.4375" height="16" transform="translate( -33.71875, -60)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">PyViewer</span></div></foreignObject><foreignObject width="168.578125" height="16" transform="translate( -118.0078125, -28)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">signal image_changed</span></div></foreignObject><foreignObject width="193.875" height="16" transform="translate( -118.0078125, 4)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">load_file_map(str path)</span></div></foreignObject><foreignObject width="193.875" height="16" transform="translate( -118.0078125, 24)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">load_archive(int index)</span></div></foreignObject><foreignObject width="236.015625" height="16" transform="translate( -118.0078125, 44)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">set_max_count(int max_count)</span></div></foreignObject></g></g><g class="node default" id="classid-ArchiveLoader-2" transform="translate(329.15625, 260.5)"><rect class="outer title-state" x="-104.4375" y="-57.5" width="208.875" height="115"></rect><line class="divider" x1="-104.4375" x2="104.4375" y1="-29.5" y2="-29.5"></line><line class="divider" x1="-104.4375" x2="104.4375" y1="-13.5" y2="-13.5"></line><g class="label"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel"></span></div></foreignObject><foreignObject class="classTitle" width="109.578125" height="16" transform="translate( -54.7890625, -50)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">ArchiveLoader</span></div></foreignObject><foreignObject width="185.4375" height="16" transform="translate( -96.9375, -6)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">generate_map(str path)</span></div></foreignObject><foreignObject width="193.875" height="16" transform="translate( -96.9375, 14)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">extract_current_index()</span></div></foreignObject><foreignObject width="109.578125" height="16" transform="translate( -96.9375, 34)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">check_media()</span></div></foreignObject></g></g><g class="node default" id="classid-ArchiveManager-3" transform="translate(496.51953125, 495.5)"><rect class="outer title-state" x="-133.9375" y="-57.5" width="267.875" height="115"></rect><line class="divider" x1="-133.9375" x2="133.9375" y1="-29.5" y2="-29.5"></line><line class="divider" x1="-133.9375" x2="133.9375" y1="26.5" y2="26.5"></line><g class="label"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel"></span></div></foreignObject><foreignObject class="classTitle" width="118.015625" height="16" transform="translate( -59.0078125, -50)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">ArchiveManager</span></div></foreignObject><foreignObject width="109.578125" height="16" transform="translate( -126.4375, -18)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">int max_count</span></div></foreignObject><foreignObject width="118.015625" height="16" transform="translate( -126.4375, 2)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">Qbyte[] images</span></div></foreignObject><foreignObject width="252.875" height="16" transform="translate( -126.4375, 34)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">load_archive(str archive_path)</span></div></foreignObject></g></g><g class="node default" id="classid-TagManager-4" transform="translate(161.79296875, 495.5)"><rect class="outer title-state" x="-150.7890625" y="-117.5" width="301.578125" height="235"></rect><line class="divider" x1="-150.7890625" x2="150.7890625" y1="-89.5" y2="-89.5"></line><line class="divider" x1="-150.7890625" x2="150.7890625" y1="6.5" y2="6.5"></line><g class="label"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel"></span></div></foreignObject><foreignObject class="classTitle" width="84.296875" height="16" transform="translate( -42.1484375, -110)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">TagManager</span></div></foreignObject><foreignObject width="75.859375" height="16" transform="translate( -143.2890625, -78)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">int index</span></div></foreignObject><foreignObject width="118.015625" height="16" transform="translate( -143.2890625, -58)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">dict media_map</span></div></foreignObject><foreignObject width="126.4375" height="16" transform="translate( -143.2890625, -38)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">dict tag_filter</span></div></foreignObject><foreignObject width="134.859375" height="16" transform="translate( -143.2890625, -18)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">list tag_history</span></div></foreignObject><foreignObject width="286.578125" height="16" transform="translate( -143.2890625, 14)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">update_filter(str tag, bool state)</span></div></foreignObject><foreignObject width="151.71875" height="16" transform="translate( -143.2890625, 34)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">undo_last_filter()</span></div></foreignObject><foreignObject width="202.296875" height="16" transform="translate( -143.2890625, 54)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">adjust_index(int change)</span></div></foreignObject><foreignObject width="143.296875" height="16" transform="translate( -143.2890625, 74)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">tag_at(int index)</span></div></foreignObject><foreignObject width="193.875" height="16" transform="translate( -143.2890625, 94)"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="nodeLabel">set_index(str tag_name)</span></div></foreignObject></g></g></g></g></g></svg>