ViewSpec: integrate the simple View access case (Unit test PASS)

This finishes the first round of design drafts in this area.
Right now it seems difficult to get any further, since most of
the actual view creation and management in the UI is not yet coded.
This commit is contained in:
Fischlurch 2018-06-15 18:02:08 +02:00
parent 800fc5915a
commit 8097485dbf
7 changed files with 84 additions and 58 deletions

View file

@ -71,8 +71,7 @@ namespace gui {
AllocSpec<uint> limitAllocation =[](UICoord target, uint limit)
{
lib::Depend<model::ElementAccess> rawElementAccessor;
return target;
return rawElementAccessor().locate_or_create (target, limit);
};
}

View file

@ -46,7 +46,15 @@
** API, and this abstraction allows to keep all the intricacies of navigating concrete UI widgets confined within the
** implementation of the Navigator service.
**
** @todo WIP 9/2017 early draft ////////////////////////////////////////////////////////////TICKET #1104
** @todo WIP 6/2018 half finished draft ////////////////////////////////////////////////////////////TICKET #1104
**
** @remark the *performance* of such an view location and access step is not considered a priority.
** As it's implemented right now, the access several times repeats the same drill-down into the
** UI widget structure. This was deemed acceptable, since we assume views will be located only
** occasionally, while further UI interactions will use either direct wiring or messages via
** the UI-Bus. On the other hand, the flexibility in the configuration seems important and
** the complexities generated thereby can be a maintenance burden. Which means, a clear
** typed interface within the DSL is more important than burning some more CPU cycles.
**
** @see interaction-director.hpp
** @see panel-locator.hpp

View file

@ -60,10 +60,6 @@
#include "lib/meta/typelist-manip.hpp"
#include "lib/access-casted.hpp"
#include "gui/interact/ui-coord.hpp"
//#include "lib/format-string.hpp"
//#include "lib/symbol.hpp"
//#include "lib/util.hpp"
#include "lib/test/test-helper.hpp" ////////TOD-o
#include <string>
@ -77,7 +73,6 @@ namespace model {
using interact::UICoord;
using lib::meta::Types;
// using util::isnil;
using std::string;
class Tangible;
@ -185,6 +180,8 @@ namespace model {
/** Navigate to the designated component, possibly create the element and parents
* @param limitCreation limit on the number of similar UI elements that can be created
* within a scope. A value of zero prohibits creating of new elements.
* @return location of the actual element to use, as UI-coordinates.
* @note when access was not possible because the element could not been created,
* the indicated location returned is an _empty coordinate spec._

View file

@ -7,7 +7,7 @@ return: 0
END
PLANNED "configuration DSL for view access" ViewSpecDSL_test <<END
TEST "configuration DSL for view access" ViewSpecDSL_test <<END
return: 0
END

View file

@ -36,7 +36,7 @@
#include "lib/format-cout.hpp" ////////////////TODO only while this test is under development
//#include "lib/idi/entry-id.hpp"
//#include "lib/diff/gen-node.hpp"
//#include "lib/util.hpp"
#include "lib/util.hpp"
//#include <string>
//#include <vector>
@ -49,6 +49,7 @@ using lib::diff::Rec;
//using lib::diff::GenNode;
//using util::isSameObject;
//using util::isnil;
using util::contains;
namespace gui {
@ -217,12 +218,10 @@ namespace test {
DummyView& view1 = viewLocator.get<DummyView>();
cout << "created view:" << view1.getID() << endl;
CHECK (fakeAccessor->response); // a new "widget" was created
CHECK (contains (view1.getID(), "DummyView")); // using the type name as ID prefix
/////////////////////////////////////////////TICKET 1129 : some way to verify the last allocated path. Should be a child of "parentLocation"
// TimelineView timeline = viewLocator.get<TimelineView>();
/////////////////////////////////////////////////////////////////////////////////////////TICKET 1129 : use an EventLog to verify the forwarded invocations??
}
};

View file

@ -118,7 +118,7 @@ namespace test {
/** the next query will fail unless it presents this Path */
UICoord existingPath;
/** ...and if acceptable, the next query will answer with this object */
/** ...and if acceptable, we record the last answer here */
std::unique_ptr<model::Tangible> response;

View file

@ -990,7 +990,7 @@
<node CREATED="1502454601603" ID="ID_384770680" MODIFIED="1518487921050" TEXT="nein: MutationMessage wird &#xfc;berfl&#xfc;ssig">
<icon BUILTIN="button_ok"/>
</node>
<node CREATED="1502401987033" ID="ID_1584846573" MODIFIED="1518487921050" TEXT="erfordert Festlegung der Natur der Diff Message">
<node CREATED="1502401987033" ID="ID_1584846573" MODIFIED="1529076989537" TEXT="erfordert Festlegung der Natur der Diff Message">
<arrowlink COLOR="#bdbad3" DESTINATION="ID_89098030" ENDARROW="Default" ENDINCLINATION="821;-1406;" ID="Arrow_ID_554743885" STARTARROW="None" STARTINCLINATION="1459;870;"/>
<icon BUILTIN="messagebox_warning"/>
<node CREATED="1502402004383" ID="ID_1491065212" MODIFIED="1518487921050" TEXT="generisch bleiben?">
@ -2484,7 +2484,7 @@
<node CREATED="1483921070115" ID="ID_398046799" MODIFIED="1518487921058" TEXT="Prototyp-Service"/>
<node CREATED="1483921132114" ID="ID_1652398711" MODIFIED="1518487921058" TEXT="liefert dekorierte Command-ID"/>
<node CREATED="1483921149368" ID="ID_1028150245" MODIFIED="1518487921058" TEXT="im GUI nur noch Command-IDs"/>
<node CREATED="1483924872930" ID="ID_242219866" MODIFIED="1519355250156">
<node CREATED="1483924872930" ID="ID_242219866" MODIFIED="1529077146541">
<richcontent TYPE="NODE"><html>
<head>
@ -2495,7 +2495,7 @@
</p>
</body>
</html></richcontent>
<linktarget COLOR="#e9ba2d" DESTINATION="ID_242219866" ENDARROW="Default" ENDINCLINATION="-940;1675;" ID="Arrow_ID_1617518648" SOURCE="ID_1479669922" STARTARROW="None" STARTINCLINATION="3436;-1136;"/>
<linktarget COLOR="#e9ba2d" DESTINATION="ID_242219866" ENDARROW="Default" ENDINCLINATION="-1125;1565;" ID="Arrow_ID_1617518648" SOURCE="ID_1479669922" STARTARROW="None" STARTINCLINATION="3436;-1136;"/>
</node>
<node CREATED="1483927472385" HGAP="30" ID="ID_774425061" MODIFIED="1518487921058" VSHIFT="13">
<richcontent TYPE="NODE"><html>
@ -4181,7 +4181,7 @@
</node>
</node>
</node>
<node COLOR="#338800" CREATED="1506181068556" ID="ID_749871444" MODIFIED="1525124214752" TEXT="UICoord">
<node COLOR="#338800" CREATED="1506181068556" FOLDED="true" ID="ID_749871444" MODIFIED="1529076379337" TEXT="UICoord">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1506181721910" ID="ID_1680105436" MODIFIED="1515555740881" TEXT="Folge von Symbolen">
<icon BUILTIN="button_ok"/>
@ -4323,7 +4323,7 @@
<icon BUILTIN="button_ok"/>
</node>
</node>
<node COLOR="#338800" CREATED="1508537003861" ID="ID_846599209" MODIFIED="1525124214761" TEXT="Semantik">
<node COLOR="#338800" CREATED="1508537003861" FOLDED="true" ID="ID_846599209" MODIFIED="1529076302037" TEXT="Semantik">
<icon BUILTIN="button_ok"/>
<node CREATED="1508537010868" ID="ID_484491629" MODIFIED="1508537050161">
<richcontent TYPE="NODE"><html>
@ -4354,7 +4354,7 @@
<icon BUILTIN="button_ok"/>
</node>
</node>
<node CREATED="1509323422183" ID="ID_1262448971" MODIFIED="1509323429562" TEXT="feine Punkte...">
<node CREATED="1509323422183" FOLDED="true" ID="ID_1262448971" MODIFIED="1529076296397" TEXT="feine Punkte...">
<icon BUILTIN="yes"/>
<node CREATED="1509323432989" ID="ID_1373680102" MODIFIED="1509323467821" TEXT="per default nur bei expliziten Pfaden">
<node CREATED="1509323478248" ID="ID_101102957" MODIFIED="1509323487630" TEXT="vollst&#xe4;ndig (f&#xe4;ngt mit Window an)"/>
@ -4362,7 +4362,8 @@
<node CREATED="1509323560821" ID="ID_294426477" MODIFIED="1509323871911" TEXT="in dem Fall ist anchern und covern &#xe4;quivalent">
<icon BUILTIN="idea"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1509323573047" ID="ID_263907664" MODIFIED="1515209542011" TEXT="covern: meint total">
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1509323573047" ID="ID_263907664" MODIFIED="1529076269308" TEXT="covern: meint total">
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
<icon BUILTIN="yes"/>
</node>
</node>
@ -4601,7 +4602,7 @@
<icon BUILTIN="yes"/>
</node>
</node>
<node COLOR="#338800" CREATED="1508539143849" ID="ID_1632791283" MODIFIED="1525124214762" TEXT="path-resolution">
<node COLOR="#338800" CREATED="1508539143849" FOLDED="true" ID="ID_1632791283" MODIFIED="1529076312635" TEXT="path-resolution">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1508539152568" ID="ID_153711822" MODIFIED="1515120963483" TEXT="Beschreibung">
<icon BUILTIN="button_ok"/>
@ -4686,7 +4687,7 @@
<icon BUILTIN="button_ok"/>
</node>
</node>
<node COLOR="#338800" CREATED="1508539191283" ID="ID_1571889765" MODIFIED="1525124214763" TEXT="anchor">
<node COLOR="#338800" CREATED="1508539191283" FOLDED="true" ID="ID_1571889765" MODIFIED="1529076314938" TEXT="anchor">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1508540643163" ID="ID_600567923" MODIFIED="1515287569776" TEXT="trivial: Anker-Literal setzen">
<icon BUILTIN="button_ok"/>
@ -4709,7 +4710,7 @@
</node>
<node COLOR="#338800" CREATED="1508539195258" ID="ID_1044429952" MODIFIED="1525124214766" TEXT="cover">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1508540823475" ID="ID_793410656" MODIFIED="1518487921065" TEXT="path-resolution ausf&#xfc;hren">
<node COLOR="#338800" CREATED="1508540823475" FOLDED="true" ID="ID_793410656" MODIFIED="1529076322731" TEXT="path-resolution ausf&#xfc;hren">
<icon BUILTIN="button_ok"/>
<node CREATED="1509475490890" ID="ID_1616720086" MODIFIED="1518487921065" TEXT="rekursiv"/>
<node CREATED="1509475495057" ID="ID_27489504" MODIFIED="1518487921065" TEXT="Aufruf mit ResolutionState"/>
@ -9111,7 +9112,7 @@
</node>
</node>
</node>
<node COLOR="#338800" CREATED="1518052051947" ID="ID_1272905286" MODIFIED="1525124214890" TEXT="coverPartially">
<node COLOR="#338800" CREATED="1518052051947" FOLDED="true" ID="ID_1272905286" MODIFIED="1529076332967" TEXT="coverPartially">
<linktarget COLOR="#50546a" DESTINATION="ID_1272905286" ENDARROW="Default" ENDINCLINATION="394;1164;" ID="Arrow_ID_396720500" SOURCE="ID_1447232325" STARTARROW="None" STARTINCLINATION="1558;-33;"/>
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1518052100828" ID="ID_1400256094" MODIFIED="1518143014344" TEXT="funktioniert analog zu cover()">
@ -9125,7 +9126,7 @@
<icon BUILTIN="button_ok"/>
</node>
</node>
<node COLOR="#338800" CREATED="1515451105808" ID="ID_1323377531" MODIFIED="1525124214891" TEXT="extend">
<node COLOR="#338800" CREATED="1515451105808" FOLDED="true" ID="ID_1323377531" MODIFIED="1529076350525" TEXT="extend">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1515451117055" ID="ID_602743049" MODIFIED="1515451126326" TEXT="durch explizit gegebenes Suffix">
<icon BUILTIN="button_ok"/>
@ -9146,7 +9147,7 @@
</node>
</node>
</node>
<node COLOR="#338800" CREATED="1508538883715" ID="ID_506584428" MODIFIED="1525124214893" TEXT="Basis: LocationQuery">
<node COLOR="#338800" CREATED="1508538883715" FOLDED="true" ID="ID_506584428" MODIFIED="1529076363156" TEXT="Basis: LocationQuery">
<icon BUILTIN="button_ok"/>
<node CREATED="1508538979935" ID="ID_1139910958" MODIFIED="1511572072944" TEXT="immer explizit">
<richcontent TYPE="NOTE"><html>
@ -9335,7 +9336,7 @@
</body>
</html></richcontent>
</node>
<node COLOR="#435e98" CREATED="1523117792890" ID="ID_1972679538" MODIFIED="1523117991412" TEXT="Effizienz m&#xe4;&#xdf;ig/unkritisch">
<node COLOR="#435e98" CREATED="1523117792890" ID="ID_1972679538" MODIFIED="1529076688969" TEXT="Effizienz m&#xe4;&#xdf;ig/unkritisch">
<richcontent TYPE="NOTE"><html>
<head>
@ -9360,19 +9361,19 @@
</p>
</body>
</html></richcontent>
<arrowlink COLOR="#abc5e4" DESTINATION="ID_1210359211" ENDARROW="Default" ENDINCLINATION="-250;-498;" ID="Arrow_ID_1226100946" STARTARROW="None" STARTINCLINATION="105;519;"/>
<arrowlink COLOR="#abc5e4" DESTINATION="ID_1210359211" ENDARROW="Default" ENDINCLINATION="-217;-87;" ID="Arrow_ID_1226100946" STARTARROW="None" STARTINCLINATION="-187;427;"/>
<icon BUILTIN="yes"/>
</node>
</node>
<node COLOR="#338800" CREATED="1506181855132" ID="ID_787628963" MODIFIED="1522939107508" TEXT="ViewSpec">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1506181868898" ID="ID_1852393086" MODIFIED="1522938890983" TEXT="Resolver">
<node COLOR="#338800" CREATED="1506181868898" FOLDED="true" ID="ID_1852393086" MODIFIED="1529076689880" TEXT="Resolver">
<icon BUILTIN="button_ok"/>
<node CREATED="1515634532968" ID="ID_1968327718" MODIFIED="1518487921066" TEXT="Abrufen der UI-Coord triggert Resolver">
<icon BUILTIN="idea"/>
</node>
<node COLOR="#2b46b7" CREATED="1515631590595" ID="ID_1454085887" MODIFIED="1522809177944" TEXT="wie mit ViewLocator-Service verdrahten?">
<arrowlink COLOR="#614483" DESTINATION="ID_1252372720" ENDARROW="Default" ENDINCLINATION="-106;0;" ID="Arrow_ID_1759099248" STARTARROW="Default" STARTINCLINATION="-276;-13;"/>
<node COLOR="#2b46b7" CREATED="1515631590595" ID="ID_1454085887" MODIFIED="1529076581800" TEXT="wie mit ViewLocator-Service verdrahten?">
<arrowlink COLOR="#614483" DESTINATION="ID_1252372720" ENDARROW="Default" ENDINCLINATION="-203;-10;" ID="Arrow_ID_1759099248" STARTARROW="Default" STARTINCLINATION="-373;-23;"/>
<icon BUILTIN="help"/>
<node CREATED="1522809043561" ID="ID_1735397574" MODIFIED="1522809050105" TEXT="gar nicht direkt">
<font ITALIC="true" NAME="SansSerif" SIZE="12"/>
@ -9413,12 +9414,12 @@
<node COLOR="#338800" CREATED="1515631646108" ID="ID_1553855476" MODIFIED="1518840394020" TEXT="UICoordResolver erzeugen">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1515979648475" HGAP="38" ID="ID_350272872" MODIFIED="1525124214900" TEXT="Funktionsweise der &quot;Resolution&quot; kl&#xe4;ren" VSHIFT="1">
<node COLOR="#338800" CREATED="1515979648475" HGAP="38" ID="ID_350272872" MODIFIED="1529076566052" TEXT="Funktionsweise der &quot;Resolution&quot; kl&#xe4;ren" VSHIFT="1">
<icon BUILTIN="button_ok"/>
<node COLOR="#435e98" CREATED="1515980158112" ID="ID_1744041635" MODIFIED="1522939070606" TEXT="der Reihe nach pr&#xfc;fen">
<icon BUILTIN="info"/>
</node>
<node COLOR="#338800" CREATED="1515979664353" ID="ID_1353761382" MODIFIED="1518487921067" TEXT="was hei&#xdf;t &quot;existing&quot;?">
<node COLOR="#338800" CREATED="1515979664353" FOLDED="true" ID="ID_1353761382" MODIFIED="1529076611810" TEXT="was hei&#xdf;t &quot;existing&quot;?">
<icon BUILTIN="help"/>
<node CREATED="1515979750382" ID="ID_598253186" MODIFIED="1518487921067" TEXT="darf nicht neu erzeugt werden">
<icon BUILTIN="idea"/>
@ -9431,13 +9432,13 @@
</node>
</node>
<node CREATED="1515980170359" ID="ID_1820091983" MODIFIED="1518487921067" TEXT="L&#xf6;sung erfordert wenigstens partielle coverage"/>
<node CREATED="1515982274106" ID="ID_1283888757" MODIFIED="1525124214901" TEXT="Problem: Match erm&#xf6;glichen">
<node CREATED="1515982274106" FOLDED="true" ID="ID_1283888757" MODIFIED="1529076610074" TEXT="Problem: Match erm&#xf6;glichen">
<icon BUILTIN="messagebox_warning"/>
<node CREATED="1515982295663" ID="ID_208797931" MODIFIED="1518487921067" TEXT="der View-Name fehlt noch"/>
<node CREATED="1515982302678" ID="ID_1579006450" MODIFIED="1518487921067" TEXT="nicht existierende Parents"/>
<node CREATED="1515982330139" ID="ID_176314830" MODIFIED="1518487921067" TEXT="Perspective == egal"/>
</node>
<node COLOR="#990000" CREATED="1515982375397" ID="ID_773035469" MODIFIED="1525124214902" STYLE="fork" TEXT="Fallback &quot;wenn alles scheitert&quot;?">
<node COLOR="#990000" CREATED="1515982375397" FOLDED="true" ID="ID_773035469" MODIFIED="1529076608586" STYLE="fork" TEXT="Fallback &quot;wenn alles scheitert&quot;?">
<font ITALIC="true" NAME="SansSerif" SIZE="12"/>
<icon BUILTIN="messagebox_warning"/>
<node CREATED="1516910666253" ID="ID_1056732886" MODIFIED="1518487921067" TEXT="Misconfig"/>
@ -9463,7 +9464,7 @@
</node>
</node>
</node>
<node COLOR="#435e98" CREATED="1516147992493" HGAP="24" ID="ID_4925227" MODIFIED="1522938984866" TEXT="wie wird das Zielobjekt selber bestimmt?" VSHIFT="-1">
<node COLOR="#435e98" CREATED="1516147992493" FOLDED="true" HGAP="24" ID="ID_4925227" MODIFIED="1529076607115" TEXT="wie wird das Zielobjekt selber bestimmt?" VSHIFT="-1">
<icon BUILTIN="help"/>
<node CREATED="1516148029148" FOLDED="true" ID="ID_1974346974" MODIFIED="1525124216342" TEXT="M&#xf6;glichkeiten">
<node CREATED="1516148034899" ID="ID_1675414085" MODIFIED="1518487921067" TEXT="explizit anschreiben"/>
@ -9562,7 +9563,7 @@
</node>
</node>
</node>
<node COLOR="#48639d" CREATED="1516916096887" HGAP="32" ID="ID_319974456" MODIFIED="1522938908764" TEXT="zu kl&#xe4;ren...." VSHIFT="8">
<node COLOR="#48639d" CREATED="1516916096887" FOLDED="true" HGAP="32" ID="ID_319974456" MODIFIED="1529076599886" TEXT="zu kl&#xe4;ren...." VSHIFT="8">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1516916105462" FOLDED="true" ID="ID_1576570507" MODIFIED="1525124216342" TEXT="ist die Semantik of canCover() ausreichend?">
<icon BUILTIN="button_ok"/>
@ -9805,7 +9806,7 @@
<icon BUILTIN="yes"/>
</node>
</node>
<node COLOR="#338800" CREATED="1516916210656" FOLDED="true" ID="ID_1339759450" MODIFIED="1525124216342" TEXT="wie ermitteln wir das zu erzeugende Suffix des Pfades?">
<node COLOR="#338800" CREATED="1516916210656" FOLDED="true" ID="ID_1339759450" MODIFIED="1529076223071" 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"/>
@ -10116,7 +10117,7 @@
</node>
</node>
</node>
<node COLOR="#338800" CREATED="1517013926947" HGAP="247" ID="ID_1823688859" MODIFIED="1522939013686" TEXT="fehlende Implementierung..." VSHIFT="26">
<node COLOR="#338800" CREATED="1517013926947" HGAP="247" ID="ID_1823688859" MODIFIED="1529076591824" TEXT="fehlende Implementierung..." VSHIFT="26">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1517013976676" ID="ID_614348470" MODIFIED="1518762196448" TEXT="&quot;elided&quot; als Wildcard behandeln">
<icon BUILTIN="button_ok"/>
@ -11120,8 +11121,8 @@
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1506181842670" ID="ID_229712638" MODIFIED="1518487921070" TEXT="Allocator">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1515631726569" ID="ID_1252372720" MODIFIED="1522809207740" TEXT="wie mit ViewLocator-Service verdrahten?">
<linktarget COLOR="#614483" DESTINATION="ID_1252372720" ENDARROW="Default" ENDINCLINATION="-106;0;" ID="Arrow_ID_1759099248" SOURCE="ID_1454085887" STARTARROW="Default" STARTINCLINATION="-276;-13;"/>
<node COLOR="#338800" CREATED="1515631726569" ID="ID_1252372720" MODIFIED="1529076581800" TEXT="wie mit ViewLocator-Service verdrahten?">
<linktarget COLOR="#614483" DESTINATION="ID_1252372720" ENDARROW="Default" ENDINCLINATION="-203;-10;" ID="Arrow_ID_1759099248" SOURCE="ID_1454085887" STARTARROW="Default" STARTINCLINATION="-373;-23;"/>
<icon BUILTIN="help"/>
<node CREATED="1515803834302" ID="ID_1965813896" MODIFIED="1518487921070" TEXT="&#xfc;berhaupt nicht auf DSL-Ebene"/>
<node CREATED="1515803844276" ID="ID_512581752" MODIFIED="1518487921070">
@ -11139,14 +11140,21 @@
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1515631909081" ID="ID_1875881401" MODIFIED="1518487921071" TEXT="Aufrufe auf ViewLocator-API &#xfc;bersetzen">
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1523118005620" ID="ID_1743128010" MODIFIED="1523118384712" TEXT="TODO: kl&#xe4;ren auf welches API nun wirklich">
<linktarget COLOR="#d87477" DESTINATION="ID_1743128010" ENDARROW="Default" ENDINCLINATION="205;0;" ID="Arrow_ID_1437087367" SOURCE="ID_539031017" STARTARROW="None" STARTINCLINATION="205;0;"/>
<node COLOR="#338800" CREATED="1523118005620" ID="ID_1743128010" MODIFIED="1529076770399" TEXT="kl&#xe4;ren: auf welches API nun wirklich">
<linktarget COLOR="#74d8d6" DESTINATION="ID_1743128010" ENDARROW="Default" ENDINCLINATION="205;0;" ID="Arrow_ID_1437087367" SOURCE="ID_539031017" STARTARROW="None" STARTINCLINATION="205;0;"/>
<linktarget COLOR="#ef9f88" DESTINATION="ID_1743128010" ENDARROW="Default" ENDINCLINATION="-2099;1258;" ID="Arrow_ID_175864704" SOURCE="ID_1335551290" STARTARROW="Default" STARTINCLINATION="-20;-1838;"/>
<icon BUILTIN="button_ok"/>
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1529076725873" HGAP="102" ID="ID_995038834" MODIFIED="1529076865273" TEXT="Es ist das ElementAccess-API" VSHIFT="-7">
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
<icon BUILTIN="yes"/>
</node>
<node CREATED="1529076845081" HGAP="113" ID="ID_1049440738" MODIFIED="1529076871065" TEXT="&quot;irgendwo&quot; gibts dazu das ElemAccessDir" VSHIFT="-30">
<icon BUILTIN="idea"/>
</node>
<node COLOR="#435e98" CREATED="1523117208251" HGAP="27" ID="ID_1210359211" MODIFIED="1525124215003" TEXT="ist das nicht furchbar verschwenderisch...?" VSHIFT="4">
<linktarget COLOR="#abc5e4" DESTINATION="ID_1210359211" ENDARROW="Default" ENDINCLINATION="-250;-498;" ID="Arrow_ID_1226100946" SOURCE="ID_1972679538" STARTARROW="None" STARTINCLINATION="105;519;"/>
</node>
</node>
<node COLOR="#435e98" CREATED="1523117208251" FOLDED="true" HGAP="27" ID="ID_1210359211" MODIFIED="1529076688969" TEXT="ist das nicht furchbar verschwenderisch...?" VSHIFT="4">
<linktarget COLOR="#abc5e4" DESTINATION="ID_1210359211" ENDARROW="Default" ENDINCLINATION="-217;-87;" ID="Arrow_ID_1226100946" SOURCE="ID_1972679538" STARTARROW="None" STARTINCLINATION="-187;427;"/>
<icon BUILTIN="help"/>
<node CREATED="1523117293583" ID="ID_1129944871" MODIFIED="1523117297666" TEXT="schrittweise...">
<node CREATED="1523117228552" ID="ID_11867965" MODIFIED="1523117242297" TEXT="wir verwenden erst einen Resolver"/>
@ -11201,7 +11209,7 @@
<icon BUILTIN="flag-yellow"/>
<node CREATED="1519354355113" ID="ID_1466028228" MODIFIED="1519354361395" TEXT="die Aloc-Specs delegieren"/>
<node CREATED="1519354365423" ID="ID_1473090391" MODIFIED="1519354379881" TEXT="jede Aloc-Speck entspricht einem Service"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1519354380677" ID="ID_1029266700" MODIFIED="1519354394096" TEXT="wer bietet diesen Service?">
<node COLOR="#435e98" CREATED="1519354380677" ID="ID_1029266700" MODIFIED="1529076963809" TEXT="wer bietet diesen Service?">
<icon BUILTIN="help"/>
<node CREATED="1519355147108" ID="ID_1615393259" MODIFIED="1519355344012" TEXT="in Frage kommen">
<icon BUILTIN="info"/>
@ -11213,7 +11221,7 @@
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
<icon BUILTIN="idea"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1519355201077" HGAP="31" ID="ID_539031017" MODIFIED="1523118403786" VSHIFT="13">
<node COLOR="#990000" CREATED="1519355201077" HGAP="31" ID="ID_539031017" MODIFIED="1529076927655" VSHIFT="13">
<richcontent TYPE="NODE"><html>
<head>
@ -11227,9 +11235,16 @@
</p>
</body>
</html></richcontent>
<arrowlink COLOR="#d87477" DESTINATION="ID_1743128010" ENDARROW="Default" ENDINCLINATION="205;0;" ID="Arrow_ID_1437087367" STARTARROW="None" STARTINCLINATION="205;0;"/>
<arrowlink COLOR="#74d8d6" DESTINATION="ID_1743128010" ENDARROW="Default" ENDINCLINATION="205;0;" ID="Arrow_ID_1437087367" STARTARROW="None" STARTINCLINATION="205;0;"/>
<font ITALIC="true" NAME="SansSerif" SIZE="12"/>
<icon BUILTIN="help"/>
</node>
<node CREATED="1529076931278" ID="ID_1289639668" MODIFIED="1529076943950" TEXT="ElemAccessDir">
<icon BUILTIN="forward"/>
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1529076946755" ID="ID_104892802" MODIFIED="1529076957961" TEXT="derzeit noch nicht implementierbar">
<icon BUILTIN="hourglass"/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1519354420343" ID="ID_17801598" MODIFIED="1519354425479" TEXT="Varianten">
<icon BUILTIN="flag-yellow"/>
@ -11241,8 +11256,9 @@
<node CREATED="1519354813458" ID="ID_168710453" MODIFIED="1519354818789" TEXT="beiseite schieben"/>
<node CREATED="1519354819473" ID="ID_996615547" MODIFIED="1519354824572" TEXT="Tab innerhalb erzeugen"/>
</node>
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1519354769960" FOLDED="true" ID="ID_778018274" MODIFIED="1525124216344" TEXT="Festlegung: was sind die Namen?">
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1519354769960" ID="ID_778018274" MODIFIED="1529077174975" TEXT="Festlegung: was sind die Namen?">
<linktarget COLOR="#2b4283" DESTINATION="ID_778018274" ENDARROW="Default" ENDINCLINATION="-1752;0;" ID="Arrow_ID_1022345699" SOURCE="ID_377787861" STARTARROW="None" STARTINCLINATION="795;544;"/>
<linktarget COLOR="#5260a0" DESTINATION="ID_778018274" ENDARROW="Default" ENDINCLINATION="-1217;51;" ID="Arrow_ID_597388409" SOURCE="ID_266745032" STARTARROW="None" STARTINCLINATION="686;0;"/>
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
<icon BUILTIN="yes"/>
<node CREATED="1519357238119" ID="ID_490731063" MODIFIED="1519357248970" TEXT="Namen sind Platzhalter-Symbole"/>
@ -11261,7 +11277,9 @@
</node>
<node CREATED="1519357262332" ID="ID_1067286247" MODIFIED="1519357267471" TEXT="sie sind generisch"/>
<node CREATED="1519357271642" ID="ID_693336166" MODIFIED="1519357284653" TEXT="werden lokal verstanden"/>
<node CREATED="1519357285265" ID="ID_1314676655" MODIFIED="1519357291428" TEXT="Schl&#xfc;ssel-Schlo&#xdf;-Prinzip"/>
<node CREATED="1519357285265" ID="ID_1314676655" MODIFIED="1529077188628" TEXT="Schl&#xfc;ssel-Schlo&#xdf;-Prinzip">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1519354459978" ID="ID_1281610608" MODIFIED="1519354465459" TEXT="create or retrieve">
@ -11674,8 +11692,13 @@
</node>
<node COLOR="#338800" CREATED="1522940118628" ID="ID_356408235" MODIFIED="1523752865657" TEXT="auf Typ getemplated">
<icon BUILTIN="button_ok"/>
<node CREATED="1523750592900" ID="ID_266745032" MODIFIED="1523750611005" TEXT="&quot;viewID&quot; ist erst mal eine Typ-ID"/>
<node CREATED="1523750621640" ID="ID_776549392" MODIFIED="1523750635474" TEXT="wird aber ggfs noch dekoriert (wg. Multiplizit&#xe4;t)"/>
<node CREATED="1523750592900" ID="ID_266745032" MODIFIED="1529077174975" TEXT="&quot;viewID&quot; ist erst mal eine Typ-ID">
<arrowlink COLOR="#5260a0" DESTINATION="ID_778018274" ENDARROW="Default" ENDINCLINATION="-1217;51;" ID="Arrow_ID_597388409" STARTARROW="None" STARTINCLINATION="686;0;"/>
<icon BUILTIN="yes"/>
</node>
<node CREATED="1523750621640" ID="ID_776549392" MODIFIED="1529076554000" TEXT="wird aber ggfs noch dekoriert (wg. Multiplizit&#xe4;t)">
<icon BUILTIN="idea"/>
</node>
</node>
<node COLOR="#338800" CREATED="1522940124932" ID="ID_636475854" MODIFIED="1525564213845" TEXT="Aufruf-Mechanismus">
<icon BUILTIN="button_ok"/>
@ -13225,7 +13248,7 @@
</node>
<node COLOR="#338800" CREATED="1523222380124" ID="ID_1101595897" MODIFIED="1523587710088" TEXT="mu&#xdf; pr&#xfc;fen, ob der Cast m&#xf6;glich ist">
<icon BUILTIN="button_ok"/>
<node CREATED="1523229139923" ID="ID_636796034" MODIFIED="1523229481422" TEXT="Variant?">
<node CREATED="1523229139923" FOLDED="true" ID="ID_636796034" MODIFIED="1529077077596" TEXT="Variant?">
<icon BUILTIN="forward"/>
<node COLOR="#338800" CREATED="1523229483619" ID="ID_1116388815" MODIFIED="1523587648174" TEXT="wohl einzige L&#xf6;sung?">
<icon BUILTIN="button_ok"/>
@ -21523,7 +21546,7 @@
</node>
</node>
</node>
<node CREATED="1502453753155" ID="ID_89098030" MODIFIED="1514342136914" TEXT="Schritt-2">
<node CREATED="1502453753155" ID="ID_89098030" MODIFIED="1529076989537" TEXT="Schritt-2">
<linktarget COLOR="#bdbad3" DESTINATION="ID_89098030" ENDARROW="Default" ENDINCLINATION="821;-1406;" ID="Arrow_ID_554743885" SOURCE="ID_1584846573" STARTARROW="None" STARTINCLINATION="1459;870;"/>
<icon BUILTIN="button_ok"/>
<node CREATED="1502453814499" ID="ID_727706359" MODIFIED="1502453827917" TEXT="Puffer-Ansatz...">
@ -22694,8 +22717,8 @@
<node CREATED="1492205732389" ID="ID_1080697951" MODIFIED="1518487921090" TEXT="wir k&#xf6;nnen stets gleich triggern"/>
</node>
<node CREATED="1492205741483" ID="ID_1132272888" MODIFIED="1518487921090" TEXT="Command wird sofort nach dem Binden getriggert"/>
<node COLOR="#338800" CREATED="1483925280108" HGAP="30" ID="ID_1479669922" MODIFIED="1519355250156" TEXT="Protokoll-Erweiterung" VSHIFT="8">
<arrowlink COLOR="#e9ba2d" DESTINATION="ID_242219866" ENDARROW="Default" ENDINCLINATION="-940;1675;" ID="Arrow_ID_1617518648" STARTARROW="None" STARTINCLINATION="3436;-1136;"/>
<node COLOR="#338800" CREATED="1483925280108" HGAP="30" ID="ID_1479669922" MODIFIED="1529077146541" TEXT="Protokoll-Erweiterung" VSHIFT="8">
<arrowlink COLOR="#e9ba2d" DESTINATION="ID_242219866" ENDARROW="Default" ENDINCLINATION="-1125;1565;" ID="Arrow_ID_1617518648" STARTARROW="None" STARTINCLINATION="3436;-1136;"/>
<icon BUILTIN="button_ok"/>
<node CREATED="1483925298713" ID="ID_347702585" MODIFIED="1518487921090" TEXT="Command-Prototyp forken"/>
<node CREATED="1483925307385" ID="ID_509982277" MODIFIED="1518487921090" TEXT="ID durch Kontext-ID dekorieren"/>