LocationSolver: use the "elided" marker for realistic create rules

...actually just more test coverage,
the feature is already implemented.

What *could* be done though is to inject that UIC_ELIDED marker
on missing perspective specs in create clauses automatically...
This commit is contained in:
Fischlurch 2018-02-16 07:34:48 +01:00
parent e1dd88970c
commit da8fd6a031
2 changed files with 133 additions and 103 deletions

View file

@ -30,22 +30,15 @@
#include "gui/interact/ui-coord.hpp"
#include "gui/interact/ui-location-solver.hpp"
#include "gui/interact/gen-node-location-query.hpp"
#include "lib/format-cout.hpp" ////////////TODO
//#include "lib/idi/entry-id.hpp"
//#include "lib/diff/gen-node.hpp"
//#include "lib/util.hpp"
#include "lib/format-cout.hpp"
//#include <string>
#include <string>
using std::string;
using lib::diff::MakeRec;
using lib::diff::Rec;
//using lib::Symbol;
//using util::join;
//using lib::idi::EntryID;
//using lib::diff::GenNode;
//using util::isSameObject;
using util::isnil;
@ -53,12 +46,6 @@ namespace gui {
namespace interact {
namespace test {
// using lumiera::error::LUMIERA_ERROR_WRONG_TYPE;
// using lib::test::showSizeof;
namespace { //Test fixture...
}//(End)Test fixture
/******************************************************************************//**
@ -137,7 +124,7 @@ namespace test {
/** @test cover theoretical corner cases regarding the process of location solving.
* Point in question are the requirements and limits when querying against one or several
* Point in question are the requirements and limits when querying against one or several
* location specification clauses. The actual matching of a location pattern against a UI topology
* is beyond scope and covered [elsewhere](\ref UICoordResolver_test::verify_mutateCoverage)
* - empty clauses act as neutral element
@ -232,8 +219,8 @@ namespace test {
/* === query on elided perspective === */
LocationRule r42{UICoord().persp(UIC_ELIDED)};
// CHECK ("UI:win[A]" == string{solver.solve (r42, UIC_PERSP, "x")}); //////////////////////////////TICKET #1128 : support existential quantification
// CHECK ("UI:win[A]-x" == string{solver.solve (r42, UIC_PANEL, "x")});
CHECK ("UI:win[A]" == string{solver.solve (r42, UIC_PERSP, "x")});
CHECK ("UI:win[A]-x" == string{solver.solve (r42, UIC_PANEL, "x")});
/* === query on non existing perspective === */
LocationRule r43{UICoord::firstWindow().persp("Ω")};
@ -375,7 +362,8 @@ namespace test {
location.append (UICoord().panel("viewer"));
// location.append (UICoord().tab("assetType()")); //////////////////////TICKET #1130 : do we want to support match based on invocation context (here: the type of the asset to be displayed)
location.append (UICoord().persp("asset").view("asset"));
location.append (UICoord::currentWindow().panel("viewer").create());
location.append (UICoord().panel("asset").view("asset").create());
location.append (UICoord::currentWindow().persp(UIC_ELIDED).panel("viewer").create());
location.append (UICoord::window("meta").persp("config").panel("infobox").view("inspect").create());
cout << location << endl;
@ -457,22 +445,19 @@ namespace test {
/* === match on create clause with generic window spec and panel === */
/* === create clause to build on a specific anchor point === */
uiTree = MakeRec()
.set("win"
, MakeRec()
.type("shady")
.set("timeline", MakeRec()))
.set("woe"
, MakeRec()
.type("shoddy")
.set ("viewer", MakeRec())); ///////////////////////////////TODO do this without the panel, and rely on UIC_ELIDED (not yet implemented)
auto solution = solver.solve (location, UIC_VIEW, "video");
CHECK ("UI:woe[shoddy]-viewer.video" == string{solution});
CHECK ( 3 == UICoordResolver(solution, *query)
.set ("asset", MakeRec())
);
auto solution = solver.solve (location, UIC_TAB, "video"); //Note: here the first "create"-rule is triggered: UI:?-asset.asset
CHECK ("UI:win[shady]-asset.asset.video" == string{solution}); // It requires a panel("asset") to exist, but creates the rest;
CHECK ( 3 == UICoordResolver(solution, *query) // indeed only the part up to the panel is detected as covered.
.coverDepth());
/* === completely uncovered create-from-scratch === */
//Note: the following test cases can not trigger this rule, since it
/* === match on create clause with generic window spec and panel === */ // contains leading wildcards and thus requires panel("asset")
uiTree = MakeRec()
.set("win"
, MakeRec()
@ -481,9 +466,15 @@ namespace test {
.set("woe"
, MakeRec()
.type("shoddy"));
solution = solver.solve (location, UIC_TAB, "engine");
CHECK ("UI:meta[config]-infobox.inspect.engine" == string{solution}); //Note: thus the last catch-all rule was triggered;
CHECK ( 0 == UICoordResolver(solution, *query) //Note: result indeed entirely uncovered (-> create from scratch)
solution = solver.solve (location, UIC_VIEW, "video");
CHECK ("UI:woe[shoddy]-viewer.video" == string{solution});
CHECK ( 2 == UICoordResolver(solution, *query) //Note: only window and perspective are covered, the rest is to be created
.coverDepth());
/* === completely uncovered create-from-scratch === */
solution = solver.solve (location, UIC_TAB, "engine"); //Note: same UI-tree, but this time we ask for a tab, so the previous rule
CHECK ("UI:meta[config]-infobox.inspect.engine" == string{solution}); // is too short and thus the last catch-all rule gets triggered;
CHECK ( 0 == UICoordResolver(solution, *query) //Note: result is indeed entirely uncovered (-> create from scratch)
.coverDepth());
}
};

View file

@ -4602,7 +4602,7 @@
</node>
</node>
</node>
<node COLOR="#338800" CREATED="1508539195258" ID="ID_1044429952" MODIFIED="1518487921065" TEXT="cover">
<node COLOR="#338800" CREATED="1508539195258" FOLDED="true" ID="ID_1044429952" MODIFIED="1518761923307" TEXT="cover">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1508540823475" ID="ID_793410656" MODIFIED="1518487921065" TEXT="path-resolution ausf&#xfc;hren">
<icon BUILTIN="button_ok"/>
@ -8402,7 +8402,7 @@
</node>
</node>
</node>
<node COLOR="#338800" CREATED="1510941748388" HGAP="38" ID="ID_209463158" MODIFIED="1518743357648" TEXT="Zustands-Layer" VSHIFT="1">
<node COLOR="#338800" CREATED="1510941748388" FOLDED="true" HGAP="38" ID="ID_209463158" MODIFIED="1518761882602" TEXT="Zustands-Layer" VSHIFT="1">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1514333524247" ID="ID_1136271037" MODIFIED="1514908803527" TEXT="Zustand umfa&#xdf;t...">
<icon BUILTIN="info"/>
@ -8459,7 +8459,7 @@
<font ITALIC="true" NAME="SansSerif" SIZE="12"/>
</node>
</node>
<node COLOR="#338800" CREATED="1514828322209" HGAP="447" ID="ID_868482472" MODIFIED="1515037575610" TEXT="Implementierung" VSHIFT="24">
<node COLOR="#338800" CREATED="1514828322209" FOLDED="true" HGAP="447" ID="ID_868482472" MODIFIED="1518761875258" TEXT="Implementierung" VSHIFT="24">
<icon BUILTIN="button_ok"/>
<node CREATED="1514828365236" ID="ID_596741108" MODIFIED="1514828377582" TEXT="per Seiteneffekt auf den privaten Resolver-state"/>
<node CREATED="1514828408694" ID="ID_360791024" MODIFIED="1514828619139">
@ -8793,7 +8793,7 @@
</node>
</node>
</node>
<node COLOR="#338800" CREATED="1510941766817" HGAP="13" ID="ID_1117346518" MODIFIED="1518487921065" TEXT="Testf&#xe4;lle" VSHIFT="29">
<node COLOR="#338800" CREATED="1510941766817" FOLDED="true" HGAP="13" ID="ID_1117346518" MODIFIED="1518761908904" TEXT="Testf&#xe4;lle" VSHIFT="29">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1513477873206" ID="ID_939423021" MODIFIED="1518487921065" TEXT="definieren was abzudecken ist...">
<font ITALIC="true" NAME="SansSerif" SIZE="12"/>
@ -9407,7 +9407,7 @@
</node>
<node CREATED="1517011530017" ID="ID_1904091651" MODIFIED="1518487921067" TEXT="Sonderbehandlung Perspektive notwendig"/>
</node>
<node COLOR="#338800" CREATED="1516916140785" ID="ID_1667593991" MODIFIED="1518487921067" TEXT="wie umschiffen wir konkret das Problem mit der Perspektive?">
<node COLOR="#338800" CREATED="1516916140785" FOLDED="true" ID="ID_1667593991" MODIFIED="1518762143615" TEXT="wie umschiffen wir konkret das Problem mit der Perspektive?">
<icon BUILTIN="button_ok"/>
<node CREATED="1517011709672" ID="ID_755188751" MODIFIED="1518487921067" TEXT="Problem ist...">
<icon BUILTIN="info"/>
@ -9651,7 +9651,7 @@
<icon BUILTIN="yes"/>
</node>
</node>
<node COLOR="#338800" CREATED="1516916210656" ID="ID_1339759450" MODIFIED="1518487921068" TEXT="wie ermitteln wir das zu erzeugende Suffix des Pfades?">
<node COLOR="#338800" CREATED="1516916210656" FOLDED="true" ID="ID_1339759450" MODIFIED="1518762134400" TEXT="wie ermitteln wir das zu erzeugende Suffix des Pfades?">
<icon BUILTIN="button_ok"/>
<node CREATED="1517016683468" ID="ID_174913733" MODIFIED="1518487921068" TEXT="&quot;create()&quot;-Fall &#x27f9; partiallyCovered()">
<icon BUILTIN="idea"/>
@ -9758,9 +9758,9 @@
<icon BUILTIN="forward"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1518658487899" ID="ID_1831478029" MODIFIED="1518659504863" TEXT="wie k&#xf6;nnen Regeln auf den Anwendungs-Kontext Bezug nehmen?">
<node COLOR="#338800" CREATED="1518658487899" FOLDED="true" ID="ID_1831478029" MODIFIED="1518762127977" TEXT="wie k&#xf6;nnen Regeln auf den Anwendungs-Kontext Bezug nehmen?">
<linktarget COLOR="#967ea6" DESTINATION="ID_1831478029" ENDARROW="Default" ENDINCLINATION="-800;514;" ID="Arrow_ID_162294902" SOURCE="ID_986224819" STARTARROW="None" STARTINCLINATION="693;-50;"/>
<icon BUILTIN="flag-yellow"/>
<icon BUILTIN="button_ok"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1518658506857" ID="ID_589229909" MODIFIED="1518658523711" TEXT="das Problem &quot;asset Tab&quot;">
<icon BUILTIN="messagebox_warning"/>
</node>
@ -9787,6 +9787,16 @@
</html>
</richcontent>
<icon BUILTIN="idea"/>
<node CREATED="1518762048186" ID="ID_1857576258" MODIFIED="1518762055013" TEXT="m&#xf6;chte ich eigentlich nicht einf&#xfc;hren"/>
<node CREATED="1518762055881" ID="ID_1976334061" MODIFIED="1518762100381" TEXT="vorerst nicht weiter verfolgt">
<icon BUILTIN="yes"/>
<node CREATED="1518762071967" ID="ID_1501187790" MODIFIED="1518762110266" TEXT="ggfs partielle L&#xf6;sung?">
<icon BUILTIN="hourglass"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1518746009058" ID="ID_1800549154" MODIFIED="1518746024360" TEXT="#1130 allow view location by similar kind">
<icon BUILTIN="flag-yellow"/>
</node>
</node>
</node>
<node CREATED="1518659028202" ID="ID_1880101392" MODIFIED="1518659037749" TEXT="betrifft eigentlich auch currentWindow()"/>
<node CREATED="1518659526767" ID="ID_839916178" MODIFIED="1518742936572" TEXT="&#x27f9; ist Variablen-Bindung und Funktionsauswertung">
@ -9923,17 +9933,17 @@
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1517013926947" HGAP="247" ID="ID_1823688859" MODIFIED="1518487921069" TEXT="fehlende Implementierung..." VSHIFT="26">
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1517013976676" ID="ID_614348470" MODIFIED="1518487921069" TEXT="&quot;elided&quot; als Wildcard behandeln">
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1517013994137" ID="ID_140988955" MODIFIED="1518487921069" TEXT="einbauen (EInzeiler)">
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1517013926947" HGAP="247" ID="ID_1823688859" MODIFIED="1518762207002" TEXT="fehlende Implementierung..." VSHIFT="26">
<icon BUILTIN="pencil"/>
<node COLOR="#338800" CREATED="1517013976676" ID="ID_614348470" MODIFIED="1518762196448" TEXT="&quot;elided&quot; als Wildcard behandeln">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1517013994137" ID="ID_140988955" MODIFIED="1518762169701" TEXT="einbauen (EInzeiler)">
<arrowlink COLOR="#91a7b5" DESTINATION="ID_974516393" ENDARROW="Default" ENDINCLINATION="-759;53;" ID="Arrow_ID_862004765" STARTARROW="None" STARTINCLINATION="1590;41;"/>
<icon BUILTIN="flag-yellow"/>
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1517014001792" ID="ID_1542036736" MODIFIED="1518487921069" TEXT="Testf&#xe4;lle nachtragen">
<node COLOR="#338800" CREATED="1517014001792" ID="ID_1542036736" MODIFIED="1518762171655" TEXT="Testf&#xe4;lle nachtragen">
<arrowlink COLOR="#4b5cab" DESTINATION="ID_796216711" ENDARROW="Default" ENDINCLINATION="-145;942;" ID="Arrow_ID_570641462" STARTARROW="None" STARTINCLINATION="383;78;"/>
<icon BUILTIN="flag-yellow"/>
<icon BUILTIN="button_ok"/>
</node>
</node>
<node COLOR="#990000" CREATED="1518658696759" ID="ID_68856104" MODIFIED="1518743116362">
@ -9962,8 +9972,10 @@
<node CREATED="1518658744024" ID="ID_1009975119" MODIFIED="1518658745685" TEXT="Zweck">
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1517014013207" ID="ID_1843964714" MODIFIED="1518487921069" TEXT="automatisches Injizieren von &quot;elided&quot;">
<icon BUILTIN="flag-yellow"/>
<node CREATED="1518743292259" ID="ID_1943028471" MODIFIED="1518743301047" TEXT="das machen wir trotzdem">
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1518743292259" ID="ID_1943028471" MODIFIED="1518762623661" TEXT="das machen wir trotzdem">
<arrowlink COLOR="#595f8d" DESTINATION="ID_1516856737" ENDARROW="Default" ENDINCLINATION="302;0;" ID="Arrow_ID_241747952" STARTARROW="None" STARTINCLINATION="697;-153;"/>
<icon BUILTIN="yes"/>
<icon BUILTIN="flag-yellow"/>
</node>
<node CREATED="1518743303177" ID="ID_1758602660" MODIFIED="1518743321547" TEXT="...und zwar direkt im LocationSolver"/>
</node>
@ -10161,7 +10173,7 @@
<node COLOR="#338800" CREATED="1517506994783" ID="ID_1943710017" MODIFIED="1518487921069" TEXT="baut jeweils UICorrdResolver">
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1518658805744" ID="ID_1208480183" MODIFIED="1518742966038" TEXT="Kontext-Bindung">
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1518658805744" FOLDED="true" ID="ID_1208480183" MODIFIED="1518762230442" TEXT="Kontext-Bindung">
<arrowlink COLOR="#e46465" DESTINATION="ID_68856104" ENDARROW="Default" ENDINCLINATION="74;449;" ID="Arrow_ID_110301671" STARTARROW="None" STARTINCLINATION="-232;7;"/>
<linktarget COLOR="#8e6e9e" DESTINATION="ID_1208480183" ENDARROW="Default" ENDINCLINATION="-458;-16;" ID="Arrow_ID_504124124" SOURCE="ID_839916178" STARTARROW="None" STARTINCLINATION="-600;49;"/>
<linktarget COLOR="#b78791" DESTINATION="ID_1208480183" ENDARROW="Default" ENDINCLINATION="-1240;134;" ID="Arrow_ID_831550289" SOURCE="ID_481219776" STARTARROW="None" STARTINCLINATION="1654;0;"/>
@ -10200,6 +10212,29 @@
<icon BUILTIN="messagebox_warning"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1518762499749" ID="ID_214794727" MODIFIED="1518762708094">
<richcontent TYPE="NODE"><html>
<head>
</head>
<body>
<p>
Perspective <i>elided</i>
</p>
</body>
</html>
</richcontent>
<linktarget COLOR="#8eacb9" DESTINATION="ID_214794727" ENDARROW="Default" ENDINCLINATION="-653;0;" ID="Arrow_ID_1678351989" SOURCE="ID_606433871" STARTARROW="None" STARTINCLINATION="1400;0;"/>
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1518762520034" ID="ID_1516856737" MODIFIED="1518762623661" TEXT="hier automatisch injizieren">
<linktarget COLOR="#595f8d" DESTINATION="ID_1516856737" ENDARROW="Default" ENDINCLINATION="302;0;" ID="Arrow_ID_241747952" SOURCE="ID_1943028471" STARTARROW="None" STARTINCLINATION="697;-153;"/>
<icon BUILTIN="flag-yellow"/>
</node>
<node CREATED="1518762547918" ID="ID_1868672591" MODIFIED="1518762557041" TEXT="nur f&#xfc;r create()-Klauseln"/>
<node CREATED="1518762532376" ID="ID_720810877" MODIFIED="1518762565908" TEXT="pragmatische L&#xf6;sung, statt voller Unifikation">
<icon BUILTIN="yes"/>
</node>
</node>
<node COLOR="#338800" CREATED="1517507036433" ID="ID_921121750" MODIFIED="1518487921069" TEXT="zieht die Antwort bei ersem Erfolg">
<icon BUILTIN="button_ok"/>
</node>
@ -11045,143 +11080,143 @@
<node COLOR="#338800" CREATED="1517506256691" ID="ID_360871736" MODIFIED="1518487921071" TEXT="einfaches Anwendungs-Beispiel">
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1517506268969" ID="ID_1285475519" MODIFIED="1518573750907" STYLE="fork" TEXT="theoretische Grenzf&#xe4;lle">
<icon BUILTIN="hourglass"/>
<node COLOR="#338800" CREATED="1518220727527" ID="ID_935687591" MODIFIED="1518573738447" TEXT="leere Regel">
<node COLOR="#338800" CREATED="1517506268969" ID="ID_1285475519" MODIFIED="1518762392678" TEXT="theoretische Grenzf&#xe4;lle">
<icon BUILTIN="button_ok"/>
<node CREATED="1518220764202" ID="ID_1551836374" MODIFIED="1518573738447" TEXT="geht nicht">
<node COLOR="#338800" CREATED="1518220727527" ID="ID_935687591" MODIFIED="1518762392404" TEXT="leere Regel">
<icon BUILTIN="button_ok"/>
<node CREATED="1518220764202" ID="ID_1551836374" MODIFIED="1518762392404" TEXT="geht nicht">
<icon BUILTIN="broken-line"/>
</node>
<node COLOR="#338800" CREATED="1518220767426" ID="ID_1678897927" MODIFIED="1518573738447" TEXT="aber eine leere Klausel geht">
<node COLOR="#338800" CREATED="1518220767426" ID="ID_1678897927" MODIFIED="1518762392404" TEXT="aber eine leere Klausel geht">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221630349" ID="ID_748354557" MODIFIED="1518573738447" TEXT="leere Klausel plus andere">
<node COLOR="#338800" CREATED="1518221630349" ID="ID_748354557" MODIFIED="1518762392404" TEXT="leere Klausel plus andere">
<icon BUILTIN="button_ok"/>
</node>
</node>
<node COLOR="#338800" CREATED="1518220806629" ID="ID_1877537399" MODIFIED="1518573738447" TEXT="zu kurze Regel">
<node COLOR="#338800" CREATED="1518220806629" ID="ID_1877537399" MODIFIED="1518762392404" TEXT="zu kurze Regel">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518220812132" ID="ID_1855700910" MODIFIED="1518573738447" TEXT="zu lange Regel">
<node COLOR="#338800" CREATED="1518220812132" ID="ID_1855700910" MODIFIED="1518762392404" TEXT="zu lange Regel">
<icon BUILTIN="button_ok"/>
</node>
<node CREATED="1518221033294" ID="ID_379081230" MODIFIED="1518573738447" TEXT="Anfrage auf Window">
<node CREATED="1518221033294" ID="ID_379081230" MODIFIED="1518762392404" TEXT="Anfrage auf Window">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1518221041493" ID="ID_1938682325" MODIFIED="1518573738447" TEXT="existierend">
<node COLOR="#338800" CREATED="1518221041493" ID="ID_1938682325" MODIFIED="1518762392404" TEXT="existierend">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221057362" ID="ID_1276841328" MODIFIED="1518573738447" TEXT="generisch">
<node COLOR="#338800" CREATED="1518221057362" ID="ID_1276841328" MODIFIED="1518762392404" TEXT="generisch">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221047172" ID="ID_899404932" MODIFIED="1518573738447" TEXT="nicht existierend">
<node COLOR="#338800" CREATED="1518221047172" ID="ID_899404932" MODIFIED="1518762392404" TEXT="nicht existierend">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221069089" ID="ID_834357218" MODIFIED="1518573738447" TEXT="nicht existierend / create">
<node COLOR="#338800" CREATED="1518221069089" ID="ID_834357218" MODIFIED="1518762392404" TEXT="nicht existierend / create">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221069089" ID="ID_1759153588" MODIFIED="1518573738447" TEXT=" existierend / create">
<node COLOR="#338800" CREATED="1518221069089" ID="ID_1759153588" MODIFIED="1518762392404" TEXT=" existierend / create">
<icon BUILTIN="button_ok"/>
</node>
</node>
<node CREATED="1518221096237" ID="ID_1538354349" MODIFIED="1518573738447" TEXT="Anfrage auf Perspektive">
<icon BUILTIN="hourglass"/>
<node COLOR="#338800" CREATED="1518221103372" ID="ID_4661652" MODIFIED="1518573738447" TEXT="existierend">
<node CREATED="1518221096237" ID="ID_1538354349" MODIFIED="1518762392404" TEXT="Anfrage auf Perspektive">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1518221103372" ID="ID_4661652" MODIFIED="1518762392404" TEXT="existierend">
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1518221109227" ID="ID_357379201" MODIFIED="1518573738447" TEXT="elided">
<icon BUILTIN="flag-pink"/>
</node>
<node COLOR="#338800" CREATED="1518221115123" ID="ID_444249560" MODIFIED="1518573738447" TEXT="nicht exisitierend">
<node COLOR="#338800" CREATED="1518221109227" ID="ID_357379201" MODIFIED="1518762392404" TEXT="elided">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221121450" ID="ID_1105449946" MODIFIED="1518573738447" TEXT="nichte existierend / create">
<node COLOR="#338800" CREATED="1518221115123" ID="ID_444249560" MODIFIED="1518762392404" TEXT="nicht exisitierend">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221121450" ID="ID_1105449946" MODIFIED="1518762392404" TEXT="nichte existierend / create">
<icon BUILTIN="button_ok"/>
</node>
</node>
<node CREATED="1518221188121" ID="ID_541455871" MODIFIED="1518573738447" TEXT="Anfrage auf (tiefen) Pfad">
<node CREATED="1518221188121" ID="ID_541455871" MODIFIED="1518762392404" TEXT="Anfrage auf (tiefen) Pfad">
<icon BUILTIN="button_ok"/>
<node CREATED="1518221206998" ID="ID_1900776687" MODIFIED="1518573738447" TEXT="komplett explizit">
<node CREATED="1518221206998" ID="ID_1900776687" MODIFIED="1518762392404" TEXT="komplett explizit">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1518221213277" ID="ID_1744618018" MODIFIED="1518573738447" TEXT="covered">
<node COLOR="#338800" CREATED="1518221213277" ID="ID_1744618018" MODIFIED="1518762392404" TEXT="covered">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221239058" ID="ID_1778260898" MODIFIED="1518573738447" TEXT="covered / create">
<node COLOR="#338800" CREATED="1518221239058" ID="ID_1778260898" MODIFIED="1518762392404" TEXT="covered / create">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221217997" ID="ID_1478390273" MODIFIED="1518573738447" TEXT="partially covered">
<node COLOR="#338800" CREATED="1518221217997" ID="ID_1478390273" MODIFIED="1518762392404" TEXT="partially covered">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221217997" ID="ID_789039729" MODIFIED="1518573738447" TEXT="partially covered / create">
<node COLOR="#338800" CREATED="1518221217997" ID="ID_789039729" MODIFIED="1518762392404" TEXT="partially covered / create">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221264143" ID="ID_676167818" MODIFIED="1518573738447" TEXT="uncovered">
<node COLOR="#338800" CREATED="1518221264143" ID="ID_676167818" MODIFIED="1518762392404" TEXT="uncovered">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221267862" ID="ID_637617629" MODIFIED="1518573738448" TEXT="uncovered / create">
<node COLOR="#338800" CREATED="1518221267862" ID="ID_637617629" MODIFIED="1518762392404" TEXT="uncovered / create">
<icon BUILTIN="button_ok"/>
</node>
</node>
<node CREATED="1518221321054" ID="ID_1884750439" MODIFIED="1518573738448" TEXT="Wildcard">
<node CREATED="1518221321054" ID="ID_1884750439" MODIFIED="1518762392404" TEXT="Wildcard">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1518221328398" ID="ID_771962346" MODIFIED="1518573738448" TEXT="covered">
<node COLOR="#338800" CREATED="1518221328398" ID="ID_771962346" MODIFIED="1518762392404" TEXT="covered">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221342140" ID="ID_1533800638" MODIFIED="1518573738448" TEXT="covered ohne Endelement">
<node COLOR="#338800" CREATED="1518221342140" ID="ID_1533800638" MODIFIED="1518762392404" TEXT="covered ohne Endelement">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221353130" ID="ID_786771733" MODIFIED="1518573738448" TEXT="create aber komplett existierend">
<node COLOR="#338800" CREATED="1518221353130" ID="ID_786771733" MODIFIED="1518762392404" TEXT="create aber komplett existierend">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221365785" ID="ID_812801272" MODIFIED="1518573738448" TEXT="create ohne Endelement">
<node COLOR="#338800" CREATED="1518221365785" ID="ID_812801272" MODIFIED="1518762392404" TEXT="create ohne Endelement">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221374663" ID="ID_1846464761" MODIFIED="1518573738448" TEXT="partially covered">
<node COLOR="#338800" CREATED="1518221374663" ID="ID_1846464761" MODIFIED="1518762392404" TEXT="partially covered">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221380231" ID="ID_378548083" MODIFIED="1518573738448" TEXT="partially covered / create">
<node COLOR="#338800" CREATED="1518221380231" ID="ID_378548083" MODIFIED="1518762392404" TEXT="partially covered / create">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221386438" ID="ID_864741660" MODIFIED="1518573738448" TEXT="uncovered">
<node COLOR="#338800" CREATED="1518221386438" ID="ID_864741660" MODIFIED="1518762392404" TEXT="uncovered">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221398668" ID="ID_1119602753" MODIFIED="1518573738448" TEXT="uncovered / create">
<node COLOR="#338800" CREATED="1518221398668" ID="ID_1119602753" MODIFIED="1518762392404" TEXT="uncovered / create">
<icon BUILTIN="button_ok"/>
</node>
</node>
</node>
<node CREATED="1518221447093" ID="ID_1048302687" MODIFIED="1518573738448" TEXT="zwei Klauseln">
<node CREATED="1518221447093" ID="ID_1048302687" MODIFIED="1518762392404" TEXT="zwei Klauseln">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1518221466779" ID="ID_1934359283" MODIFIED="1518573738448" TEXT="beide erf&#xfc;llbar">
<node COLOR="#338800" CREATED="1518221466779" ID="ID_1934359283" MODIFIED="1518762392404" TEXT="beide erf&#xfc;llbar">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221482345" ID="ID_867150257" MODIFIED="1518573738448" TEXT="erste unerf&#xfc;llbar">
<node COLOR="#338800" CREATED="1518221482345" ID="ID_867150257" MODIFIED="1518762392404" TEXT="erste unerf&#xfc;llbar">
<icon BUILTIN="button_ok"/>
</node>
<node CREATED="1518221509805" ID="ID_1191463024" MODIFIED="1518573738448" TEXT="erste create">
<node CREATED="1518221509805" ID="ID_1191463024" MODIFIED="1518762392404" TEXT="erste create">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1518221525891" ID="ID_395077893" MODIFIED="1518573738448" TEXT="erf&#xfc;llbar">
<node COLOR="#338800" CREATED="1518221525891" ID="ID_395077893" MODIFIED="1518762392404" TEXT="erf&#xfc;llbar">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221539089" ID="ID_1046962094" MODIFIED="1518573738448" TEXT="nicht erf&#xfc;llbar">
<node COLOR="#338800" CREATED="1518221539089" ID="ID_1046962094" MODIFIED="1518762392404" TEXT="nicht erf&#xfc;llbar">
<icon BUILTIN="button_ok"/>
</node>
</node>
<node CREATED="1518221571021" ID="ID_1917057944" MODIFIED="1518573738448" TEXT="zweite create">
<node CREATED="1518221571021" ID="ID_1917057944" MODIFIED="1518762392404" TEXT="zweite create">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1518221582347" ID="ID_1796461457" MODIFIED="1518573738448" TEXT="erste erf&#xfc;llbar">
<node COLOR="#338800" CREATED="1518221582347" ID="ID_1796461457" MODIFIED="1518762392404" TEXT="erste erf&#xfc;llbar">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221587275" ID="ID_1141416112" MODIFIED="1518573738448" TEXT="zweite erf&#xfc;llbar">
<node COLOR="#338800" CREATED="1518221587275" ID="ID_1141416112" MODIFIED="1518762392404" TEXT="zweite erf&#xfc;llbar">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518221593034" ID="ID_1276221189" MODIFIED="1518573738448" TEXT="auch zweite unerf&#xfc;llbar">
<node COLOR="#338800" CREATED="1518221593034" ID="ID_1276221189" MODIFIED="1518762392404" TEXT="auch zweite unerf&#xfc;llbar">
<icon BUILTIN="button_ok"/>
</node>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1517506289222" ID="ID_1250541940" MODIFIED="1518573725304" TEXT="praktische Standard-F&#xe4;lle">
<icon BUILTIN="pencil"/>
<node COLOR="#338800" CREATED="1517506289222" ID="ID_1250541940" MODIFIED="1518762396012" TEXT="praktische Standard-F&#xe4;lle">
<icon BUILTIN="button_ok"/>
<node CREATED="1518575724831" ID="ID_712009155" MODIFIED="1518579539092" TEXT="Idee">
<icon BUILTIN="idea"/>
<node CREATED="1518575730894" ID="ID_24825251" MODIFIED="1518575750656">
@ -11235,6 +11270,10 @@
</node>
<node COLOR="#338800" CREATED="1518223044301" ID="ID_1476637837" MODIFIED="1518742655379" TEXT="generic window + panel create">
<icon BUILTIN="button_ok"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1518762440997" ID="ID_606433871" MODIFIED="1518762708094" TEXT="ggfs auto-elided?">
<arrowlink COLOR="#8eacb9" DESTINATION="ID_214794727" ENDARROW="Default" ENDINCLINATION="-653;0;" ID="Arrow_ID_1678351989" STARTARROW="None" STARTINCLINATION="1400;0;"/>
<icon BUILTIN="flag-yellow"/>
</node>
</node>
<node COLOR="#338800" CREATED="1518223201375" ID="ID_1794858276" MODIFIED="1518742656811" TEXT="complete create">
<icon BUILTIN="button_ok"/>