Wiki source code of Dynamic Label Sizing

Last modified by Richard Kreissig on 2023/09/14 10:19

Hide last authors
Richard Kreissig 5.1 1 {{info title="Work in Progress"}}
cds 1.1 2 Hey, there! You've arrived at the end of what humanity used to be capable of. That's right, this is the frontier to new and exciting realms of knowledge and expertise. Please bear in mind that since new frontiers are dangerous and fluctuating, everything explained on this page is also very much subject to change. Don't rely on this stuff just yet. You've been warned!
Richard Kreissig 5.1 3 {{/info}}
cds 1.1 4
cds 3.1 5 Labels of nodes, ports, and especially of edges can quickly become wider than we're comfortable with, causing diagram elements to increase in size to the point where the diagram becomes illegible. This page documents approaches we're exploring to tackle this problem.
6
cds 1.1 7
cds 3.1 8 **Contents**
9
10
11
12 {{toc/}}
13
14 = Basic Ideas =
15
16 There's two basic approaches for dynamically adjusting the size of labels:
17
18 1. Wrapping. This strategy splits the label's text into multiple lines, thus decreasing the width, but increasing the height of the label.
19 1. Abbreviating. This strategy shortens the label's text, thus effectively reducing its width and keeping the height constant.
20
21 These strategies can either be integrated with the layout algorithm or not. We will mostly be exploring how such strategies can be integrated into the layout algorithm.
22
23 = Integrating Dynamic Label Sizing With KLay Layered =
24
25 This is the status of support for dynamic label sizes of the different types of labels:
26
27 |=(((
28 Label Type
29 )))|=(((
30 Status
31 )))
32 |(((
33 Node
34 )))|(((
Richard Kreissig 5.1 35 unsupported
cds 3.1 36 )))
37 |(((
38 Port
39 )))|(((
Richard Kreissig 5.1 40 Unsupported
cds 3.1 41 )))
42 |(((
43 Edge (Source)
44 )))|(((
Richard Kreissig 5.1 45 Unsupported
cds 3.1 46 )))
47 |(((
48 Edge (Center)
49 )))|(((
Richard Kreissig 5.1 50 Basic Support
cds 3.1 51 )))
52 |(((
53 Edge (Target)
54 )))|(((
Richard Kreissig 5.1 55 Unsupported
cds 3.1 56 )))
57
58 == Edge Labels (Center) ==
59
60 {{warning title="ToDo"}}
61 Write this section.
62 {{/warning}}