ExportRun measures Java's print panel (GUIContainer.prepareExportPanel) and image on four projects and an empty one: 10 to spare around, a light grey footer 20 below the lowest element, 20 below it, a transparent background, the documentation painted as in the design. The sidebar gains Java's "Exportieren": the surface painted with Canvas 2D (an SVG with a foreignObject taints the canvas in WebKit) and saved under the project's name; Java's message when saving fails. Not adopted: Java's empty image of an empty project (its footer overflows). The editor takes a projectName; the capture export shares the download helper. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
804 lines
13 KiB
JSON
804 lines
13 KiB
JSON
{
|
|
"projects": {
|
|
"nat_with_mapped_port.fls": {
|
|
"nodes": [
|
|
{
|
|
"name": "Switch",
|
|
"bounds": [
|
|
300,
|
|
131,
|
|
91,
|
|
72
|
|
]
|
|
},
|
|
{
|
|
"name": "Switch",
|
|
"bounds": [
|
|
676,
|
|
161,
|
|
91,
|
|
72
|
|
]
|
|
},
|
|
{
|
|
"name": "Vermittlungsrechner",
|
|
"bounds": [
|
|
551,
|
|
90,
|
|
167,
|
|
78
|
|
]
|
|
},
|
|
{
|
|
"name": "Vermittlungsrechner",
|
|
"bounds": [
|
|
559,
|
|
263,
|
|
167,
|
|
78
|
|
]
|
|
},
|
|
{
|
|
"name": "Vermittlungsrechner",
|
|
"bounds": [
|
|
562,
|
|
426,
|
|
167,
|
|
78
|
|
]
|
|
},
|
|
{
|
|
"name": "DNS-Server",
|
|
"bounds": [
|
|
837,
|
|
119,
|
|
101,
|
|
114
|
|
]
|
|
},
|
|
{
|
|
"name": "192.168.0.100",
|
|
"bounds": [
|
|
152,
|
|
54,
|
|
116,
|
|
100
|
|
]
|
|
},
|
|
{
|
|
"name": "192.168.0.101",
|
|
"bounds": [
|
|
157,
|
|
202,
|
|
116,
|
|
100
|
|
]
|
|
},
|
|
{
|
|
"name": "Webserver www.jupiter.de",
|
|
"bounds": [
|
|
804,
|
|
307,
|
|
213,
|
|
114
|
|
]
|
|
},
|
|
{
|
|
"name": "Webserver - 192.168.0.10",
|
|
"bounds": [
|
|
99,
|
|
363,
|
|
198,
|
|
114
|
|
]
|
|
},
|
|
{
|
|
"name": "Switch",
|
|
"bounds": [
|
|
313,
|
|
444,
|
|
91,
|
|
72
|
|
]
|
|
},
|
|
{
|
|
"name": "192.168.0.100",
|
|
"bounds": [
|
|
260,
|
|
538,
|
|
116,
|
|
100
|
|
]
|
|
},
|
|
{
|
|
"name": "Heimrouter Vincent",
|
|
"bounds": [
|
|
384,
|
|
438,
|
|
158,
|
|
78
|
|
]
|
|
},
|
|
{
|
|
"name": "Heimrouter Paul",
|
|
"bounds": [
|
|
375,
|
|
122,
|
|
136,
|
|
78
|
|
]
|
|
},
|
|
{
|
|
"name": "Switch",
|
|
"bounds": [
|
|
694,
|
|
342,
|
|
91,
|
|
72
|
|
]
|
|
}
|
|
],
|
|
"cables": [
|
|
[
|
|
208,
|
|
102,
|
|
139,
|
|
67
|
|
],
|
|
[
|
|
213,
|
|
165,
|
|
134,
|
|
89
|
|
],
|
|
[
|
|
632,
|
|
127,
|
|
91,
|
|
72
|
|
],
|
|
[
|
|
719,
|
|
174,
|
|
170,
|
|
25
|
|
],
|
|
[
|
|
640,
|
|
195,
|
|
83,
|
|
109
|
|
],
|
|
[
|
|
196,
|
|
418,
|
|
164,
|
|
64
|
|
],
|
|
[
|
|
316,
|
|
478,
|
|
44,
|
|
112
|
|
],
|
|
[
|
|
343,
|
|
159,
|
|
102,
|
|
10
|
|
],
|
|
[
|
|
441,
|
|
127,
|
|
195,
|
|
36
|
|
],
|
|
[
|
|
356,
|
|
475,
|
|
109,
|
|
7
|
|
],
|
|
[
|
|
461,
|
|
463,
|
|
186,
|
|
16
|
|
],
|
|
[
|
|
640,
|
|
300,
|
|
101,
|
|
80
|
|
],
|
|
[
|
|
643,
|
|
376,
|
|
98,
|
|
91
|
|
],
|
|
[
|
|
737,
|
|
362,
|
|
175,
|
|
18
|
|
]
|
|
],
|
|
"docs": [
|
|
{
|
|
"type": 1,
|
|
"bounds": [
|
|
94,
|
|
34,
|
|
428,
|
|
292
|
|
],
|
|
"color": "204,204,204,255"
|
|
},
|
|
{
|
|
"type": 2,
|
|
"bounds": [
|
|
316,
|
|
42,
|
|
142,
|
|
26
|
|
],
|
|
"color": "0,0,0,255"
|
|
},
|
|
{
|
|
"type": 1,
|
|
"bounds": [
|
|
95,
|
|
349,
|
|
428,
|
|
296
|
|
],
|
|
"color": "204,204,204,255"
|
|
},
|
|
{
|
|
"type": 2,
|
|
"bounds": [
|
|
322,
|
|
358,
|
|
169,
|
|
27
|
|
],
|
|
"color": "0,0,0,255"
|
|
},
|
|
{
|
|
"type": 2,
|
|
"bounds": [
|
|
388,
|
|
523,
|
|
129,
|
|
73
|
|
],
|
|
"color": "0,0,0,255"
|
|
},
|
|
{
|
|
"type": 2,
|
|
"bounds": [
|
|
113,
|
|
483,
|
|
167,
|
|
108
|
|
],
|
|
"color": "0,0,0,255"
|
|
},
|
|
{
|
|
"type": 1,
|
|
"bounds": [
|
|
792,
|
|
52,
|
|
224,
|
|
489
|
|
],
|
|
"color": "204,204,204,255"
|
|
},
|
|
{
|
|
"type": 2,
|
|
"bounds": [
|
|
828,
|
|
430,
|
|
148,
|
|
50
|
|
],
|
|
"color": "0,0,0,255"
|
|
},
|
|
{
|
|
"type": 2,
|
|
"bounds": [
|
|
802,
|
|
57,
|
|
187,
|
|
50
|
|
],
|
|
"color": "0,0,0,255"
|
|
}
|
|
],
|
|
"path": "nat_with_mapped_port.fls",
|
|
"panelSize": [
|
|
2020,
|
|
1620
|
|
],
|
|
"network": {
|
|
"minX": 99.0,
|
|
"maxX": 1017.0,
|
|
"minY": 54.0,
|
|
"maxY": 638.0
|
|
},
|
|
"documentation": {
|
|
"minX": 94.0,
|
|
"maxX": 1016.0,
|
|
"minY": 34.0,
|
|
"maxY": 645.0
|
|
},
|
|
"footerArea": {
|
|
"minX": 104.0,
|
|
"maxX": 814.0,
|
|
"minY": 675.0,
|
|
"maxY": 690.0
|
|
},
|
|
"footer": {
|
|
"text": "<path>",
|
|
"bounds": [
|
|
104,
|
|
675,
|
|
710,
|
|
15
|
|
],
|
|
"stringWidth": 690,
|
|
"fontHeight": 15,
|
|
"foreground": "192,192,192,255"
|
|
},
|
|
"clip": [
|
|
94,
|
|
34,
|
|
943,
|
|
676
|
|
],
|
|
"imageSize": [
|
|
943,
|
|
676
|
|
],
|
|
"cornerPixel": "0,0,0,0",
|
|
"footerColours": [
|
|
[
|
|
"0,0,0,0",
|
|
8267
|
|
],
|
|
[
|
|
"192,192,192,255",
|
|
2383
|
|
]
|
|
],
|
|
"rectangleCentre": [
|
|
[
|
|
"215,215,215,255",
|
|
1
|
|
]
|
|
],
|
|
"rectangleCentreColor": "204,204,204,255"
|
|
},
|
|
"zwei_rechnernetze_komplett.fls": {
|
|
"nodes": [
|
|
{
|
|
"name": "Switch 1",
|
|
"bounds": [
|
|
164,
|
|
178,
|
|
91,
|
|
72
|
|
]
|
|
},
|
|
{
|
|
"name": "Switch 2",
|
|
"bounds": [
|
|
612,
|
|
104,
|
|
91,
|
|
72
|
|
]
|
|
},
|
|
{
|
|
"name": "DNS-Server 2.10",
|
|
"bounds": [
|
|
694,
|
|
19,
|
|
134,
|
|
114
|
|
]
|
|
},
|
|
{
|
|
"name": "Notebook 1.10",
|
|
"bounds": [
|
|
53,
|
|
100,
|
|
123,
|
|
100
|
|
]
|
|
},
|
|
{
|
|
"name": "Notebook 1.11",
|
|
"bounds": [
|
|
70,
|
|
235,
|
|
123,
|
|
100
|
|
]
|
|
},
|
|
{
|
|
"name": "Vermittlungsrechner",
|
|
"bounds": [
|
|
373,
|
|
106,
|
|
167,
|
|
78
|
|
]
|
|
}
|
|
],
|
|
"cables": [
|
|
[
|
|
112,
|
|
148,
|
|
99,
|
|
68
|
|
],
|
|
[
|
|
129,
|
|
212,
|
|
82,
|
|
75
|
|
],
|
|
[
|
|
655,
|
|
74,
|
|
108,
|
|
68
|
|
],
|
|
[
|
|
207,
|
|
143,
|
|
251,
|
|
73
|
|
],
|
|
[
|
|
454,
|
|
138,
|
|
205,
|
|
9
|
|
]
|
|
],
|
|
"docs": [],
|
|
"path": "zwei_rechnernetze_komplett.fls",
|
|
"panelSize": [
|
|
2020,
|
|
1620
|
|
],
|
|
"network": {
|
|
"minX": 53.0,
|
|
"maxX": 828.0,
|
|
"minY": 19.0,
|
|
"maxY": 335.0
|
|
},
|
|
"documentation": {
|
|
"minX": 2.147483647E9,
|
|
"maxX": 0.0,
|
|
"minY": 2.147483647E9,
|
|
"maxY": 0.0
|
|
},
|
|
"footerArea": {
|
|
"minX": 63.0,
|
|
"maxX": 817.0,
|
|
"minY": 365.0,
|
|
"maxY": 380.0
|
|
},
|
|
"footer": {
|
|
"text": "<path>",
|
|
"bounds": [
|
|
63,
|
|
365,
|
|
754,
|
|
15
|
|
],
|
|
"stringWidth": 734,
|
|
"fontHeight": 15,
|
|
"foreground": "192,192,192,255"
|
|
},
|
|
"clip": [
|
|
53,
|
|
19,
|
|
795,
|
|
381
|
|
],
|
|
"imageSize": [
|
|
795,
|
|
381
|
|
],
|
|
"cornerPixel": "0,0,0,0",
|
|
"footerColours": [
|
|
[
|
|
"0,0,0,0",
|
|
8805
|
|
],
|
|
[
|
|
"192,192,192,255",
|
|
2505
|
|
]
|
|
]
|
|
},
|
|
"documentation.fls": {
|
|
"nodes": [],
|
|
"cables": [],
|
|
"docs": [
|
|
{
|
|
"type": 2,
|
|
"bounds": [
|
|
40,
|
|
40,
|
|
160,
|
|
60
|
|
],
|
|
"color": "79,130,189,255"
|
|
},
|
|
{
|
|
"type": 2,
|
|
"bounds": [
|
|
40,
|
|
140,
|
|
120,
|
|
50
|
|
],
|
|
"color": "0,0,0,255"
|
|
},
|
|
{
|
|
"type": 1,
|
|
"bounds": [
|
|
20,
|
|
20,
|
|
300,
|
|
200
|
|
],
|
|
"color": "255,201,201,255"
|
|
},
|
|
{
|
|
"type": 1,
|
|
"bounds": [
|
|
400,
|
|
20,
|
|
100,
|
|
50
|
|
],
|
|
"color": "204,204,204,255"
|
|
}
|
|
],
|
|
"path": "documentation.fls",
|
|
"panelSize": [
|
|
2020,
|
|
1620
|
|
],
|
|
"network": {
|
|
"minX": 2.147483647E9,
|
|
"maxX": 0.0,
|
|
"minY": 2.147483647E9,
|
|
"maxY": 0.0
|
|
},
|
|
"documentation": {
|
|
"minX": 20.0,
|
|
"maxX": 500.0,
|
|
"minY": 20.0,
|
|
"maxY": 220.0
|
|
},
|
|
"footerArea": {
|
|
"minX": 30.0,
|
|
"maxX": 399.0,
|
|
"minY": 250.0,
|
|
"maxY": 265.0
|
|
},
|
|
"footer": {
|
|
"text": "<path>",
|
|
"bounds": [
|
|
30,
|
|
250,
|
|
369,
|
|
15
|
|
],
|
|
"stringWidth": 349,
|
|
"fontHeight": 15,
|
|
"foreground": "192,192,192,255"
|
|
},
|
|
"clip": [
|
|
20,
|
|
20,
|
|
500,
|
|
265
|
|
],
|
|
"imageSize": [
|
|
500,
|
|
265
|
|
],
|
|
"cornerPixel": "0,0,0,0",
|
|
"footerColours": [
|
|
[
|
|
"0,0,0,0",
|
|
4393
|
|
],
|
|
[
|
|
"192,192,192,255",
|
|
1142
|
|
]
|
|
],
|
|
"rectangleCentre": [
|
|
[
|
|
"255,212,212,255",
|
|
1
|
|
]
|
|
],
|
|
"rectangleCentreColor": "255,201,201,255"
|
|
},
|
|
"modem_beispiel.fls": {
|
|
"nodes": [
|
|
{
|
|
"name": "Rechner 0.11",
|
|
"bounds": [
|
|
586,
|
|
46,
|
|
112,
|
|
114
|
|
]
|
|
},
|
|
{
|
|
"name": "Notebook 0.10",
|
|
"bounds": [
|
|
42,
|
|
182,
|
|
123,
|
|
100
|
|
]
|
|
},
|
|
{
|
|
"name": "Modem (Zugreifend)",
|
|
"bounds": [
|
|
237,
|
|
212,
|
|
165,
|
|
76
|
|
]
|
|
},
|
|
{
|
|
"name": "Modem (Zugangspunkt)",
|
|
"bounds": [
|
|
396,
|
|
79,
|
|
190,
|
|
76
|
|
]
|
|
}
|
|
],
|
|
"cables": [
|
|
[
|
|
101,
|
|
230,
|
|
220,
|
|
22
|
|
],
|
|
[
|
|
489,
|
|
101,
|
|
155,
|
|
18
|
|
]
|
|
],
|
|
"docs": [],
|
|
"path": "modem_beispiel.fls",
|
|
"panelSize": [
|
|
2020,
|
|
1620
|
|
],
|
|
"network": {
|
|
"minX": 42.0,
|
|
"maxX": 698.0,
|
|
"minY": 46.0,
|
|
"maxY": 288.0
|
|
},
|
|
"documentation": {
|
|
"minX": 2.147483647E9,
|
|
"maxX": 0.0,
|
|
"minY": 2.147483647E9,
|
|
"maxY": 0.0
|
|
},
|
|
"footerArea": {
|
|
"minX": 52.0,
|
|
"maxX": 715.0,
|
|
"minY": 318.0,
|
|
"maxY": 333.0
|
|
},
|
|
"footer": {
|
|
"text": "<path>",
|
|
"bounds": [
|
|
52,
|
|
318,
|
|
663,
|
|
15
|
|
],
|
|
"stringWidth": 643,
|
|
"fontHeight": 15,
|
|
"foreground": "192,192,192,255"
|
|
},
|
|
"clip": [
|
|
42,
|
|
46,
|
|
693,
|
|
307
|
|
],
|
|
"imageSize": [
|
|
693,
|
|
307
|
|
],
|
|
"cornerPixel": "0,0,0,0",
|
|
"footerColours": [
|
|
[
|
|
"0,0,0,0",
|
|
7708
|
|
],
|
|
[
|
|
"192,192,192,255",
|
|
2237
|
|
]
|
|
]
|
|
}
|
|
},
|
|
"empty": {
|
|
"nodes": [],
|
|
"cables": [],
|
|
"docs": [],
|
|
"path": null,
|
|
"panelSize": [
|
|
2020,
|
|
1620
|
|
],
|
|
"network": {
|
|
"minX": 2.147483647E9,
|
|
"maxX": 0.0,
|
|
"minY": 2.147483647E9,
|
|
"maxY": 0.0
|
|
},
|
|
"documentation": {
|
|
"minX": 2.147483647E9,
|
|
"maxX": 0.0,
|
|
"minY": 2.147483647E9,
|
|
"maxY": 0.0
|
|
},
|
|
"footerArea": {
|
|
"minX": 0.0,
|
|
"maxX": 0.0,
|
|
"minY": 30.0,
|
|
"maxY": 45.0
|
|
},
|
|
"footer": {
|
|
"text": "Filius",
|
|
"bounds": [
|
|
-2147483639,
|
|
30,
|
|
57,
|
|
15
|
|
],
|
|
"stringWidth": 37,
|
|
"fontHeight": 15,
|
|
"foreground": "192,192,192,255"
|
|
},
|
|
"clip": [
|
|
0,
|
|
30,
|
|
20,
|
|
35
|
|
],
|
|
"imageSize": [
|
|
20,
|
|
35
|
|
],
|
|
"cornerPixel": "0,0,0,0",
|
|
"footerColours": []
|
|
}
|
|
}
|