~aleteoryx/muditaos

ref: e35fca8524dfe78c3076073d20bedad897e876a7 muditaos/module-gui/doc/visitor_item_structure.svg -rw-r--r-- 17.8 KiB
e35fca85 — Lefucjusz [MOS-1064] Fix no input language selected for French/Spanish 1 year, 9 months ago
                                                                                
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="415px" preserveAspectRatio="none" style="width:890px;height:415px;background:#F0F0F0;" version="1.1" viewBox="0 0 890 415" width="890px" zoomAndPan="magnify"><defs><filter height="300%" id="fpdobvgwbigqe" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--MD5=[907495ea877607270534e371f40f173f]
class gui::GuiVisitor--><rect fill="#FEFECE" filter="url(#fpdobvgwbigqe)" height="108.0234" id="gui::GuiVisitor" style="stroke: #A80036; stroke-width: 1.5;" width="208" x="128" y="8"/><ellipse cx="185.75" cy="24" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M185.8594,19.3438 L184.7031,24.4219 L187.0313,24.4219 L185.8594,19.3438 Z M184.375,17.1094 L187.3594,17.1094 L190.7188,29.5 L188.2656,29.5 L187.5,26.4375 L184.2188,26.4375 L183.4688,29.5 L181.0313,29.5 L184.375,17.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="84" x="206.25" y="28.1543">gui::GuiVisitor</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="129" x2="335" y1="40" y2="40"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="134" y="54.2104">void visit(gui::Item &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="134" y="67.0151">void visit(gui::Rect &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="134" y="79.8198">void visit(gui::Text &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="134" y="109.4292">void visit(gui::CustomItem2 &amp;item)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="129" x2="184" y1="92.8164" y2="92.8164"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="96" x="184" y="96.1245">. visit overloads .</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="280" x2="335" y1="92.8164" y2="92.8164"/><!--MD5=[a45651c2af25c6ef524400c87b29b85e]
class gui::ConcreteVisitor1--><rect fill="#FEFECE" filter="url(#fpdobvgwbigqe)" height="108.0234" id="gui::ConcreteVisitor1" style="stroke: #A80036; stroke-width: 1.5;" width="208" x="6" y="176"/><ellipse cx="41.25" cy="192" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M44.2188,197.6406 Q43.6406,197.9375 43,198.0781 Q42.3594,198.2344 41.6563,198.2344 Q39.1563,198.2344 37.8281,196.5938 Q36.5156,194.9375 36.5156,191.8125 Q36.5156,188.6875 37.8281,187.0313 Q39.1563,185.375 41.6563,185.375 Q42.3594,185.375 43,185.5313 Q43.6563,185.6875 44.2188,185.9844 L44.2188,188.7031 Q43.5938,188.125 43,187.8594 Q42.4063,187.5781 41.7813,187.5781 Q40.4375,187.5781 39.75,188.6563 Q39.0625,189.7188 39.0625,191.8125 Q39.0625,193.9063 39.75,194.9844 Q40.4375,196.0469 41.7813,196.0469 Q42.4063,196.0469 43,195.7813 Q43.5938,195.5 44.2188,194.9219 L44.2188,197.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="131" x="59.75" y="196.1543">gui::ConcreteVisitor1</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="213" y1="208" y2="208"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="12" y="222.2104">void visit(gui::Item &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="12" y="235.0151">void visit(gui::Rect &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="12" y="247.8198">void visit(gui::Text &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="12" y="277.4292">void visit(gui::CustomItem2 &amp;item)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="62" y1="260.8164" y2="260.8164"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="96" x="62" y="264.1245">. visit overloads .</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="158" x2="213" y1="260.8164" y2="260.8164"/><!--MD5=[dc40434cc3a18b39425969309a25ec51]
class gui::ConcreteVisitor2--><rect fill="#FEFECE" filter="url(#fpdobvgwbigqe)" height="108.0234" id="gui::ConcreteVisitor2" style="stroke: #A80036; stroke-width: 1.5;" width="208" x="249" y="176"/><ellipse cx="284.25" cy="192" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M287.2188,197.6406 Q286.6406,197.9375 286,198.0781 Q285.3594,198.2344 284.6563,198.2344 Q282.1563,198.2344 280.8281,196.5938 Q279.5156,194.9375 279.5156,191.8125 Q279.5156,188.6875 280.8281,187.0313 Q282.1563,185.375 284.6563,185.375 Q285.3594,185.375 286,185.5313 Q286.6563,185.6875 287.2188,185.9844 L287.2188,188.7031 Q286.5938,188.125 286,187.8594 Q285.4063,187.5781 284.7813,187.5781 Q283.4375,187.5781 282.75,188.6563 Q282.0625,189.7188 282.0625,191.8125 Q282.0625,193.9063 282.75,194.9844 Q283.4375,196.0469 284.7813,196.0469 Q285.4063,196.0469 286,195.7813 Q286.5938,195.5 287.2188,194.9219 L287.2188,197.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="131" x="302.75" y="196.1543">gui::ConcreteVisitor2</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="250" x2="456" y1="208" y2="208"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="255" y="222.2104">void visit(gui::Item &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="255" y="235.0151">void visit(gui::Rect &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="255" y="247.8198">void visit(gui::Text &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="255" y="277.4292">void visit(gui::CustomItem2 &amp;item)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="250" x2="305" y1="260.8164" y2="260.8164"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="96" x="305" y="264.1245">. visit overloads .</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="401" x2="456" y1="260.8164" y2="260.8164"/><!--MD5=[6bf221c2a0be1d4b00cffc70c3cc5685]
class gui::Item--><rect fill="#FEFECE" filter="url(#fpdobvgwbigqe)" height="60.8047" id="gui::Item" style="stroke: #A80036; stroke-width: 1.5;" width="211" x="492.5" y="31.5"/><ellipse cx="566.75" cy="47.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M569.7188,53.1406 Q569.1406,53.4375 568.5,53.5781 Q567.8594,53.7344 567.1563,53.7344 Q564.6563,53.7344 563.3281,52.0938 Q562.0156,50.4375 562.0156,47.3125 Q562.0156,44.1875 563.3281,42.5313 Q564.6563,40.875 567.1563,40.875 Q567.8594,40.875 568.5,41.0313 Q569.1563,41.1875 569.7188,41.4844 L569.7188,44.2031 Q569.0938,43.625 568.5,43.3594 Q567.9063,43.0781 567.2813,43.0781 Q565.9375,43.0781 565.25,44.1563 Q564.5625,45.2188 564.5625,47.3125 Q564.5625,49.4063 565.25,50.4844 Q565.9375,51.5469 567.2813,51.5469 Q567.9063,51.5469 568.5,51.2813 Q569.0938,51 569.7188,50.4219 L569.7188,53.1406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="54" x="587.25" y="51.6543">gui::Item</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="493.5" x2="702.5" y1="63.5" y2="63.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="493.5" x2="702.5" y1="71.5" y2="71.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="498.5" y="85.7104">void accept(gui::GuiVisitor &amp;visitor)</text><!--MD5=[e9e8020b497cb332cc1d59a58e3e55ed]
class gui::Rect--><rect fill="#FEFECE" filter="url(#fpdobvgwbigqe)" height="60.8047" id="gui::Rect" style="stroke: #A80036; stroke-width: 1.5;" width="211" x="492.5" y="199.5"/><ellipse cx="566.25" cy="215.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M569.2188,221.1406 Q568.6406,221.4375 568,221.5781 Q567.3594,221.7344 566.6563,221.7344 Q564.1563,221.7344 562.8281,220.0938 Q561.5156,218.4375 561.5156,215.3125 Q561.5156,212.1875 562.8281,210.5313 Q564.1563,208.875 566.6563,208.875 Q567.3594,208.875 568,209.0313 Q568.6563,209.1875 569.2188,209.4844 L569.2188,212.2031 Q568.5938,211.625 568,211.3594 Q567.4063,211.0781 566.7813,211.0781 Q565.4375,211.0781 564.75,212.1563 Q564.0625,213.2188 564.0625,215.3125 Q564.0625,217.4063 564.75,218.4844 Q565.4375,219.5469 566.7813,219.5469 Q567.4063,219.5469 568,219.2813 Q568.5938,219 569.2188,218.4219 L569.2188,221.1406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="55" x="586.75" y="219.6543">gui::Rect</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="493.5" x2="702.5" y1="231.5" y2="231.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="493.5" x2="702.5" y1="239.5" y2="239.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="498.5" y="253.7104">void accept(gui::GuiVisitor &amp;visitor)</text><!--MD5=[7918c9ecc1c5ee873dba591519f7c147]
class gui::Text--><rect fill="#FEFECE" filter="url(#fpdobvgwbigqe)" height="60.8047" id="gui::Text" style="stroke: #A80036; stroke-width: 1.5;" width="211" x="246.5" y="344"/><ellipse cx="321.25" cy="360" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M324.2188,365.6406 Q323.6406,365.9375 323,366.0781 Q322.3594,366.2344 321.6563,366.2344 Q319.1563,366.2344 317.8281,364.5938 Q316.5156,362.9375 316.5156,359.8125 Q316.5156,356.6875 317.8281,355.0313 Q319.1563,353.375 321.6563,353.375 Q322.3594,353.375 323,353.5313 Q323.6563,353.6875 324.2188,353.9844 L324.2188,356.7031 Q323.5938,356.125 323,355.8594 Q322.4063,355.5781 321.7813,355.5781 Q320.4375,355.5781 319.75,356.6563 Q319.0625,357.7188 319.0625,359.8125 Q319.0625,361.9063 319.75,362.9844 Q320.4375,364.0469 321.7813,364.0469 Q322.4063,364.0469 323,363.7813 Q323.5938,363.5 324.2188,362.9219 L324.2188,365.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="53" x="341.75" y="364.1543">gui::Text</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="247.5" x2="456.5" y1="376" y2="376"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="247.5" x2="456.5" y1="384" y2="384"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="252.5" y="398.2104">void accept(gui::GuiVisitor &amp;visitor)</text><!--MD5=[2cc88430fa67116709440bd6c760ea0c]
class gui::CustomItem1--><rect fill="#FEFECE" filter="url(#fpdobvgwbigqe)" height="60.8047" id="gui::CustomItem1" style="stroke: #A80036; stroke-width: 1.5;" width="211" x="492.5" y="344"/><ellipse cx="539.25" cy="360" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M542.2188,365.6406 Q541.6406,365.9375 541,366.0781 Q540.3594,366.2344 539.6563,366.2344 Q537.1563,366.2344 535.8281,364.5938 Q534.5156,362.9375 534.5156,359.8125 Q534.5156,356.6875 535.8281,355.0313 Q537.1563,353.375 539.6563,353.375 Q540.3594,353.375 541,353.5313 Q541.6563,353.6875 542.2188,353.9844 L542.2188,356.7031 Q541.5938,356.125 541,355.8594 Q540.4063,355.5781 539.7813,355.5781 Q538.4375,355.5781 537.75,356.6563 Q537.0625,357.7188 537.0625,359.8125 Q537.0625,361.9063 537.75,362.9844 Q538.4375,364.0469 539.7813,364.0469 Q540.4063,364.0469 541,363.7813 Q541.5938,363.5 542.2188,362.9219 L542.2188,365.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="109" x="559.75" y="364.1543">gui::CustomItem1</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="493.5" x2="702.5" y1="376" y2="376"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="493.5" x2="702.5" y1="384" y2="384"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="498.5" y="398.2104">void accept(gui::GuiVisitor &amp;visitor)</text><!--MD5=[cc71a9cbd9dacc0ed3bbc590e0358412]
class gui::CustomItem2--><rect fill="#FEFECE" filter="url(#fpdobvgwbigqe)" height="48" id="gui::CustomItem2" style="stroke: #A80036; stroke-width: 1.5;" width="141" x="738.5" y="350.5"/><ellipse cx="753.5" cy="366.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M756.4688,372.1406 Q755.8906,372.4375 755.25,372.5781 Q754.6094,372.7344 753.9063,372.7344 Q751.4063,372.7344 750.0781,371.0938 Q748.7656,369.4375 748.7656,366.3125 Q748.7656,363.1875 750.0781,361.5313 Q751.4063,359.875 753.9063,359.875 Q754.6094,359.875 755.25,360.0313 Q755.9063,360.1875 756.4688,360.4844 L756.4688,363.2031 Q755.8438,362.625 755.25,362.3594 Q754.6563,362.0781 754.0313,362.0781 Q752.6875,362.0781 752,363.1563 Q751.3125,364.2188 751.3125,366.3125 Q751.3125,368.4063 752,369.4844 Q752.6875,370.5469 754.0313,370.5469 Q754.6563,370.5469 755.25,370.2813 Q755.8438,370 756.4688,369.4219 L756.4688,372.1406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="109" x="767.5" y="370.6543">gui::CustomItem2</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="739.5" x2="878.5" y1="382.5" y2="382.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="739.5" x2="878.5" y1="390.5" y2="390.5"/><!--MD5=[453665208b69cbea7fa676dba7e63db8]
reverse link gui::GuiVisitor to gui::ConcreteVisitor1--><path d="M180.58,132.97 C170,147.36 159.04,162.28 148.99,175.95 " fill="none" id="gui::GuiVisitor&lt;-gui::ConcreteVisitor1" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="175.24,128.41,192.73,116.44,186.52,136.7,175.24,128.41" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[c0a214ced495d4b83d965825c4f83d9e]
reverse link gui::GuiVisitor to gui::ConcreteVisitor2--><path d="M283,132.97 C293.49,147.36 304.36,162.28 314.33,175.95 " fill="none" id="gui::GuiVisitor&lt;-gui::ConcreteVisitor2" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="277.08,136.72,270.95,116.44,288.39,128.48,277.08,136.72" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[712ef25754a80ee3b6a4e2d6aa0433b2]
reverse link gui::Item to gui::Rect--><path d="M598,112.77 C598,140.97 598,175.29 598,199.3 " fill="none" id="gui::Item&lt;-gui::Rect" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="591,112.68,598,92.68,605,112.68,591,112.68" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e13587f1f7c126fbb652dda1773376d8]
reverse link gui::Rect to gui::Text--><path d="M529.69,270.57 C489.69,293.74 439.99,322.53 403.33,343.77 " fill="none" id="gui::Rect&lt;-gui::Text" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="526.21,264.49,547.03,260.53,533.23,276.61,526.21,264.49" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[4a56414eac0388125cd91db68b30e4b7]
reverse link gui::Rect to gui::CustomItem1--><path d="M598,280.64 C598,301.59 598,325.3 598,343.52 " fill="none" id="gui::Rect&lt;-gui::CustomItem1" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="591,280.53,598,260.53,605,280.53,591,280.53" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[72f7115df8ae9549cc907cdc3122a351]
reverse link gui::Rect to gui::CustomItem2--><path d="M658.3,271.72 C696.04,297.21 743.29,329.12 774.72,350.35 " fill="none" id="gui::Rect&lt;-gui::CustomItem2" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="654.38,277.52,641.72,260.53,662.21,265.92,654.38,277.52" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6508938596972928e474638060561d6b]
@startuml
skinparam BackgroundColor F0F0F0

abstract class gui::GuiVisitor
{
    void visit(gui::Item &item)
    void visit(gui::Rect &item)
    void visit(gui::Text &item)
    ... visit overloads ...
    void visit(gui::CustomItem2 &item)
}

class gui::ConcreteVisitor1
{
    void visit(gui::Item &item)
    void visit(gui::Rect &item)
    void visit(gui::Text &item)
    ... visit overloads ...
    void visit(gui::CustomItem2 &item)
}

class gui::ConcreteVisitor2
{
    void visit(gui::Item &item)
    void visit(gui::Rect &item)
    void visit(gui::Text &item)
    ... visit overloads ...
    void visit(gui::CustomItem2 &item)
}

gui::GuiVisitor <|- - gui::ConcreteVisitor1
gui::GuiVisitor <|- - gui::ConcreteVisitor2

class gui::Item
{
    void accept(gui::GuiVisitor &visitor)
}
class gui::Rect
{
    void accept(gui::GuiVisitor &visitor)
}
class gui::Text
{
    void accept(gui::GuiVisitor &visitor)
}
class gui::CustomItem1
{
    void accept(gui::GuiVisitor &visitor)
}
class gui::CustomItem2
{
}

gui::Item <|- - gui::Rect
gui::Rect <|- - gui::Text
gui::Rect <|- - gui::CustomItem1
gui::Rect <|- - gui::CustomItem2
@enduml

PlantUML version 1.2020.02(Sun Mar 01 05:22:07 EST 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>