40093367 |
1 | #INTERFACE CAF |
2 | # XLink attributes |
3 | # |
4 | # Testing attribute: TDocStd_XLink |
5 | # |
6 | # Testing command: CopyWithLink |
7 | # |
8 | |
9 | puts "caf004-B2" |
10 | |
11 | # Create two new documents Doc1, Doc2 |
e837410d |
12 | NewDocument Doc1 BinOcaf |
13 | NewDocument Doc2 BinOcaf |
40093367 |
14 | |
15 | # Set UndoLimit for them |
16 | UndoLimit Doc1 100 |
17 | UndoLimit Doc2 100 |
18 | |
19 | # Set a shape in Doc1 to label 'SLabel' |
20 | set aLabel1 0:2 |
21 | Label Doc1 ${aLabel1} |
22 | SetName Doc1 ${aLabel1} SLabel |
23 | |
24 | set aSetX1 10 |
25 | set aSetY1 20 |
26 | set aSetZ1 30 |
27 | set aSetDX1 100 |
28 | set aSetDY1 200 |
29 | set aSetDZ1 300 |
30 | |
31 | box aBox1 ${aSetX1} ${aSetY1} ${aSetZ1} ${aSetDX1} ${aSetDY1} ${aSetDZ1} |
32 | |
33 | set aBoundingBox1 [bounding aBox1] |
34 | set X1_Box1 [lindex ${aBoundingBox1} 0] |
35 | set Y1_Box1 [lindex ${aBoundingBox1} 1] |
36 | set Z1_Box1 [lindex ${aBoundingBox1} 2] |
37 | set X2_Box1 [lindex ${aBoundingBox1} 3] |
38 | set Y2_Box1 [lindex ${aBoundingBox1} 4] |
39 | set Z2_Box1 [lindex ${aBoundingBox1} 5] |
40 | |
41 | SetShape Doc1 ${aLabel1} aBox1 |
42 | |
43 | # Create a new label 'TLabel1' in Doc1 |
44 | set aLabel2 0:3 |
45 | Label Doc1 ${aLabel2} |
46 | SetName Doc1 ${aLabel2} TLabel1 |
47 | |
48 | # Open transaction in Doc1 |
49 | NewCommand Doc1 |
50 | |
51 | # Copy 'SLabel' to the label 'TLabel1' with link |
52 | CopyWithLink Doc1 ${aLabel2} Doc1 ${aLabel1} |
53 | |
54 | # Close/Open transaction |
55 | NewCommand Doc1 |
56 | |
57 | # Set new shape in Doc1 to label 'SLabel' |
58 | set aRadius 60 |
59 | psphere aSphere ${aRadius} |
60 | SetShape Doc1 ${aLabel1} aSphere |
61 | |
62 | # Undo Doc1 |
63 | Undo Doc1 |
64 | |
65 | # Redo Doc1 |
66 | Redo Doc1 |
67 | |
68 | # Get a shape from 'TLabel1' |
69 | GetShape Doc1 ${aLabel2} aBox2 |
70 | |
71 | set aBoundingBox2 [bounding aBox2] |
72 | set X1_Box2 [lindex ${aBoundingBox2} 0] |
73 | set Y1_Box2 [lindex ${aBoundingBox2} 1] |
74 | set Z1_Box2 [lindex ${aBoundingBox2} 2] |
75 | set X2_Box2 [lindex ${aBoundingBox2} 3] |
76 | set Y2_Box2 [lindex ${aBoundingBox2} 4] |
77 | set Z2_Box2 [lindex ${aBoundingBox2} 5] |
78 | |
79 | if { ${X1_Box1} != ${X1_Box2} || |
80 | ${Y1_Box1} != ${Y1_Box2} || |
81 | ${Z1_Box1} != ${Z1_Box2} || |
82 | ${X2_Box1} != ${X2_Box2} || |
83 | ${Y2_Box1} != ${Y2_Box2} || |
84 | ${Z2_Box1} != ${Z2_Box2} } { |
85 | puts "X1_Box1=${X1_Box1} Y1_Box1=${Y1_Box1} Z1_Box1=${Z1_Box1} X2_Box1=${X2_Box1} Y2_Box1=${Y2_Box1} Z2_Box1=${Z2_Box1}" |
86 | puts "X1_Box2=${X1_Box2} Y1_Box2=${Y1_Box2} Z1_Box2=${Z1_Box2} X2_Box2=${X2_Box2} Y2_Box2=${Y2_Box2} Z2_Box2=${Z2_Box2}" |
87 | puts "Set a link between attributes of the same document: Error" |
88 | return |
89 | } |
90 | |
91 | puts "Set a link between attributes of the same document: OK" |