summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_package.mp
blob: 6d4f97ea9f8b71403e9257213995d50a2fb555a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
input metauml;
input metauml_package;
input metauml_package_relations;

beginfig(1);
    Package.emptyPackage("")();

    Package.nameOnlyPackage("java.sun.com")();

    Class.oneClass("A class")()();
    Package.oneClassPackage("One class package")(oneClass);

    Instance.oneInstance("An instance")();
    State.oneState("A state")();
    Activity.oneActivity("An activity");
    Package.multiPackage("Multipackage")(oneInstance, oneState, oneActivity);

    Package.allPackage("This package contains them all")(emptyPackage, nameOnlyPackage,
                        oneClassPackage, multiPackage);

    nameOnlyPackage.nw = emptyPackage.ne + (30, 0);
    oneClassPackage.ne = emptyPackage.s - (0, 50);

    multiPackage.top  = oneClassPackage.top;
    multiPackage.left = oneClassPackage.right + 20;

    centered_align_top(oneState, oneActivity)(10, below(oneInstance.s, 20));

    drawObjects(allPackage);
endfig;

beginfig(2);
    Package.nameOnlyOnTopPackage("Name on top")();
    nameOnlyOnTopPackage.info.forceEmptyContent := 1;
    Package.nameOnlyInMiddlePackage("By default, the name", "is in the middle")();

    Class.cl("A class")("Attribute")("Method");
    Package.notEmptyPackage("Contains class")(cl);

    nameOnlyInMiddlePackage.n = nameOnlyOnTopPackage.s - (0, 40);
    notEmptyPackage.w = nameOnlyInMiddlePackage.e + (80, 0);
    drawObjects(nameOnlyOnTopPackage, nameOnlyInMiddlePackage, notEmptyPackage);

    %link(import)(pathStepX(notEmptyPackage.w, nameOnlyOnTopPackage.e, -30));
    %link(import)(pathVertical(nameOnlyInMiddlePackage.ne - (10, 0), nameOnlyOnTopPackage.bottom));
    %link(import)(notEmptyPackage.sw -- nameOnlyInMiddlePackage.ne);
endfig;

beginfig(3);
    link(nest)((10,10)--(30,30));
endfig;


end