From dfff760cc156b55cf9813e9a605b7ac1da73675b Mon Sep 17 00:00:00 2001 From: Joppe Blondel Date: Sun, 2 Aug 2026 12:10:08 +0200 Subject: [PATCH] Started bondgraph library --- lib/bondgraph.beb | Bin 0 -> 1893 bytes lib/icons/Sf.icon.json | 25 ++++++++++++++++++ .../views/models/document_tree_model.py | 2 +- 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 lib/bondgraph.beb create mode 100644 lib/icons/Sf.icon.json diff --git a/lib/bondgraph.beb b/lib/bondgraph.beb new file mode 100644 index 0000000000000000000000000000000000000000..ae4b762f3406eae16cbee70b19ea54d5cba02865 GIT binary patch literal 1893 zcmV-r2b%aoMM3}o0004aoXuECZyd)Jmi|G0!UP!vvVn4HUqU!B;*$>!4C!J(5C*lp z5<8eJ-91`ziWLWr0~oLfi5y?O! z+o0HoVRdzF?|tum?<@X(H;>AJuY1>^tcua_{3k`4c16&}(rAdZHV|nT5O1s`!toT0 z7Mwb|KJ)|F{>5mRu9kkhx?YY(^#{|ggb37TMmR8zQ&k||nM^Wclme3w9DTo?d-u)l zVpv0&eT4Tm#-p;XZcV$H<)m>B61@Q;L2weBVMIu21%w2~>pyHaqkHwuF{}qXz-+nk zb}CAUHCnMz49AoD{$SFti*dh*MSb(D9kjA6ZuF|+H?Vg8{7!-@mc_UkerGd{2EG{L zA+AIDMf8)(_i;{dTtbEth7rD)HA_f6$hp~lG^wXuA5Dr}B$Aj!M=_y^3)~aVKxrkT z=iYvJc-qaXxH|Ox_PiTa?Q1wZ^Cm9%LWjP0&G#oT^Fj%}zxC^hAJ#bQ&iZ6n)OYTU zeTn;^hpYFdU9KYyK3gIk;7K7n;B(F&Ot@07JAA-{1fI+4pwQEx;9;xBCfVA5Yt~tB)TQxLV=+z5UPC?R%}WIkmYA9}ezy51{> z3t0d5+k1X(+BsOKa}fdWRF}Ks-Y>gX(5KkA)Lr>Y+nraAWAyPMFn{_iHy~VQS30kD z#`p)3nO>+SgA3K=V%Aq&L7*^?Iz^`#cGyqbZC+^s{_>!k&$>JP(P%vVaR;Bp`LjI= zGT)_X;67V0OwGcGJ=K(^vh1{zon;EPF9zHwjB#-kPFV9?# zFT~I7`?EAIUu|-F+GWWggaSxTSrQq7BLRyHaV{G#v=KbPJc%#C$w+E$Dd$8p>yZ33 zvOr=A10&^x-yBf>TqIwZpq~%r!(7~WrlLHHXJ%XmnlJ#R#Q+poVyt75xXc8jkx@u= zjwifaJZ~?>3u{|5Tw!G^&j}liL=dd}j`oo5L=bZT> zocq^?a_3zA`aZ?NBE@DVnRMv!=p?E|2q+YzN+c>ws%$;=)XXXNt&`LqIIkl@Miir% z*+wd4ED=c*CWA88NTFT=#eR0E_Syp5YCY~$NSb01NFEv)C5X-V<4lx6ptRy%oeiz$ zV+O+^VM;Y8MY&EaHc1KsKx#}0s^`2>oVhx%q}GE*>*WKjS70zk!2c<`a<|3<(Ucz1i!WnL&k+?)?2UDaHIb7 zcvP)DeY$bINcHO88}FQJpUqV$uCCSx?;CN{AC=obqV1D2#!Wvx*(_?rIexX?xcp#j zyX@UJciSMt)r;06OWupuzWHXkE9u$~o-TJaTJR9~OaoJysFX0a9Bnj|rX(3mG_Q@6 z!JnRo*bxscc~fgWw9LI=!EmMmRXS;6l)~W-rHWTh5^$(Q!3XpfKRv@Q9uJLW?kTO| zIx5bn$ONKmh{7VjiG)+Ua9M;b4X8FWmJ!?w9x_h4oFgMDXWrBsg%S>TND)jHkd&g~ z|9I%@uMb@G?)T&(yaOB$j%98Dt&f(GqYI|nhz>~{zo$l`dn~%4iNO?oLN&vZrEq$| zL5~~0j5?kfzJ!!pFgygNeQMxF%Mo*dbyg#VDDP;{U;@(8=^6gk@vK-zTDFESqwCtN zSVmtgcqlV3EC3_cE79D>6Tv*Qgz?BE6+C$3PBSa=@!(iS@Su-AuL@K%v*NyAd4G4b z@;>q?f389Aa4ZsoF*bT_Ny8dQI1J+smn2+hFEO{k7`Agbq2-b#rhK>^M}zTbh>8Q% z4+Ra`8IrZd36fG0A{Hl5UMLPWM$TLD^JzI5cEbMus~eTs=(u74d*|lQR+`L&%HA8@ zS1?`yBt7;fmPaX^>g8*f3lxH1(KmYITrqK$gy`R4m-u}nGw*R|{a%FXtHj=NZ f{)6_nSC9HodQ@|JKYRGM|J?cVpCA1XWoO-kx<8s7 literal 0 HcmV?d00001 diff --git a/lib/icons/Sf.icon.json b/lib/icons/Sf.icon.json new file mode 100644 index 0000000..e2fe944 --- /dev/null +++ b/lib/icons/Sf.icon.json @@ -0,0 +1,25 @@ +{ + "shapes": { + "f1a38ee1-8a53-454d-a398-12c14032ba79": { + "layer": 0, + "type": "text", + "pos": [ + -48, + -32 + ], + "width": 96.0, + "height": 64.0, + "color": "#000000ff", + "bold": true, + "italic": false, + "size": 64.0, + "text": "Sf" + } + }, + "port_positions": { + "856b4152-e18f-46d7-889d-626cb98474aa": [ + -8, + -8 + ] + } +} diff --git a/src/bedit_gui/views/models/document_tree_model.py b/src/bedit_gui/views/models/document_tree_model.py index 121b2bf..7579585 100644 --- a/src/bedit_gui/views/models/document_tree_model.py +++ b/src/bedit_gui/views/models/document_tree_model.py @@ -159,7 +159,7 @@ class DocumentTreeModel(QAbstractItemModel): root.children.append(document_root) def _list_children(root: DocumentTreeNode, components: dict[ComponentID, Component]) -> None: - for component_id, component in components.items(): + for component_id, component in sorted(components.items(), key=lambda item: (item[1].name.casefold(), item[1].name, str(item[0]))): component_node = DocumentTreeNode(name=component.name, value=component, component_id=component_id, parent=root, children=[]) root.children.append(component_node) self._component_nodes[component_id] = component_node