LocationSolver: decide not to implement match based on context (#1130)
This looks like YAGNI, and it would be non trivial to implement. But since the feature looks important for slick UI behaviour, I've made a new ticket and leave it for now
This commit is contained in:
parent
f3791297d6
commit
6665fb68d6
3 changed files with 160 additions and 33 deletions
|
|
@ -373,9 +373,8 @@ namespace test {
|
|||
LocationRule location{UICoord().persp("edit").panel("viewer")};
|
||||
location.append (UICoord::currentWindow().panel("viewer"));
|
||||
location.append (UICoord().panel("viewer"));
|
||||
location.append (UICoord().tab("type(Asset)"));
|
||||
// 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().view("asset").tab("type(Asset)").create());
|
||||
location.append (UICoord::currentWindow().panel("viewer").create());
|
||||
location.append (UICoord::window("meta").persp("config").panel("infobox").view("inspect").create());
|
||||
|
||||
|
|
@ -431,16 +430,32 @@ namespace test {
|
|||
));
|
||||
CHECK ("UI:woe[asset]-panel.asset" == string{solver.solve (location, UIC_VIEW, "video")}); //Note: the 4th Rule matches on existing view "asset",
|
||||
// in spite of our query demanding a view "video"
|
||||
|
||||
/* === wildcard match on panel and view appended === */
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////TODO not yet possible. How to match on type(Asset)???
|
||||
/* === wildcard match based on the type of entity to be displaced === */
|
||||
#if false ///////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1130 : not yet possible. Match based on placeholder substitutet from context
|
||||
// uiTree = MakeRec()
|
||||
// .set("win"
|
||||
// , MakeRec()
|
||||
// .type("shady")
|
||||
// .set ("special"
|
||||
// , MakeRec()
|
||||
// .set ("asset",
|
||||
// MakeRec()
|
||||
// .set ("specialAsset", MakeRec())
|
||||
// )
|
||||
// ))
|
||||
// .set("woe"
|
||||
// , MakeRec()
|
||||
// .type("asset")
|
||||
// .set ("panel"
|
||||
// , MakeRec()
|
||||
// .set ("asset", MakeRec())
|
||||
// ));
|
||||
// CHECK ("UI:win[shady]-special.asset.specialAsset" == string{solver.solve (location, UIC_TAB, "specialAsset")});
|
||||
// //Note: the next rule would match on the general asset panel
|
||||
// // but this special rule allows to re-use a tab dedicated to specialAsset
|
||||
#endif ///////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1130 : not yet possible. Match based on placeholder substitutet from context
|
||||
|
||||
|
||||
/* === successful create clause with wildcard === */
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////TODO not yet possible. How to match on type(Asset)???
|
||||
|
||||
/* === unsatisfied create clause with wildcard === */
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////TODO not yet possible. How to match on type(Asset)???
|
||||
|
||||
/* === match on create clause with generic window spec and panel === */
|
||||
uiTree = MakeRec()
|
||||
|
|
|
|||
|
|
@ -2838,7 +2838,7 @@ Command instances are like prototypes -- thus each additional level of different
|
|||
see the description in → CommandSetup
|
||||
</pre>
|
||||
</div>
|
||||
<div title="GuiComponentView" creator="Ichthyostega" modifier="Ichthyostega" created="201709021521" modified="201802080022" tags="def GuiPattern design" changecount="46">
|
||||
<div title="GuiComponentView" creator="Ichthyostega" modifier="Ichthyostega" created="201709021521" modified="201802160224" tags="def GuiPattern design" changecount="50">
|
||||
<pre>//A view within the UI, featuring some component of relevance to »the model«.//
|
||||
While any UI is comprised of numerous widgets acting as //view of something,// only some of those views play the prominent role to act as //building block component// of the user interface.
|
||||
Such UI component views exhibit some substantial traits
|
||||
|
|
@ -2945,7 +2945,7 @@ locate = currentWindow().panel(infobox)
|
|||
: currentWindow
|
||||
: perspective(id)
|
||||
: panel(id)
|
||||
: assetType() {{red{WIP 9/17 not clear if possible}}}
|
||||
: assetType() {{red{WIP 2/18 not clear if necessary}}}
|
||||
: create()
|
||||
;alloc
|
||||
: unlimited
|
||||
|
|
@ -2959,6 +2959,14 @@ The coordinate specs as written within the DSL are slightly abridged, as the fin
|
|||
|
||||
However, the semantics of UI coordinate resolution and matching are applied against the coordinate specs //as given in the DSL.// Since, by default, what is given is required to exist, it makes quite a difference as to what kind of element is used as terminal element of a given spec. Since our UI coordinate system establishes a distinct depth for each kind of element, we can and even must reject any spec which does not yield a definite location for at least the parent element; we do not interpolate or even invent arbitrary elements, we only ever match against existing ones. Thus any DSL definition must encompass a sane default, a final alternative clause which always succeeds -- and the DSL is considered broken if it doesn't.
|
||||
|
||||
!!!!The problem with {{{assetType()}}}
|
||||
There is a very special use case, where we'd might want to express some fine points regarding placement of a new sub-tab within the view requested. This need arises when the system requires to show some sub-element through a dedicated view. Such might be the case for a special kind of asset, or when a virtual clip or media is to be opened from a context //other than editing the timeline.// In such a situation, a preferable action would be to use or re-use an existing tab of a view of similar kind. Only if this fails, we'd want a new view to be created at a generic location (e.g. a window dedicated to asset management), and only as fall-back we'd want a completely new asset section to show up within the current window.
|
||||
|
||||
Unfortunately such surpasses the ability of the solution mechanism backing this location DSL, which basically relies on pattern matching without further expression evaluation or unification. To express the aforementioned special treatment, we'd need a placeholder within the rules, indicated above as {{{assetType()}}}, which has to be replaced by the actual typeID used in the concrete location query. Since our system does not support unification, either the matching mechanism has to be manipulated based on the context, or the specific rule must be preprocessed for token replacement.
|
||||
It is not clear yet {{red{as of 2/2018}}}, if those additional complexities are justified...
|
||||
&rarr; Ticket #1130
|
||||
|
||||
|
||||
!!!Semantics of allocation
|
||||
While the process of probing and matching the location specification finally yields an explicit UICoord path to the desired element, it is up to the allocation step actually to decide on the action to be taken. Some allocation operations impose some kind of limit, and are thus free to ignore the given spec and rather return an existing element in place. In the end, the purpose of this whole matching and allocation process is to get hold of a suitable UI component without knowing its precise coordinates in the UI topology. And this is the very property to enable flexible mapping of the strictly hierarchical session structures onto the UI in a fluid way.
|
||||
</pre>
|
||||
|
|
|
|||
|
|
@ -3796,8 +3796,8 @@
|
|||
<node CREATED="1504463020913" ID="ID_808284638" MODIFIED="1518487921063" TEXT="[optional] Gruppe"/>
|
||||
<node CREATED="1504463028384" ID="ID_1928250888" MODIFIED="1518487921063" TEXT="View-ID"/>
|
||||
</node>
|
||||
<node CREATED="1504479185405" HGAP="50" ID="ID_50865654" MODIFIED="1518659475358" TEXT="abgeleitet aus Fokus-Koordinaten" VSHIFT="15">
|
||||
<arrowlink COLOR="#a9a5cd" DESTINATION="ID_150523428" ENDARROW="Default" ENDINCLINATION="1440;-3055;" ID="Arrow_ID_1485937133" STARTARROW="None" STARTINCLINATION="1135;-33;"/>
|
||||
<node CREATED="1504479185405" HGAP="50" ID="ID_50865654" MODIFIED="1518742955375" TEXT="abgeleitet aus Fokus-Koordinaten" VSHIFT="15">
|
||||
<arrowlink COLOR="#a9a5cd" DESTINATION="ID_150523428" ENDARROW="Default" ENDINCLINATION="1440;-3055;" ID="Arrow_ID_1485937133" STARTARROW="None" STARTINCLINATION="1109;-37;"/>
|
||||
<icon BUILTIN="info"/>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -8402,7 +8402,7 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1510941748388" FOLDED="true" HGAP="38" ID="ID_209463158" MODIFIED="1518487921065" TEXT="Zustands-Layer" VSHIFT="1">
|
||||
<node COLOR="#338800" CREATED="1510941748388" HGAP="38" ID="ID_209463158" MODIFIED="1518743357648" TEXT="Zustands-Layer" VSHIFT="1">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#338800" CREATED="1514333524247" ID="ID_1136271037" MODIFIED="1514908803527" TEXT="Zustand umfaßt...">
|
||||
<icon BUILTIN="info"/>
|
||||
|
|
@ -9784,7 +9784,7 @@
|
|||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node CREATED="1518659028202" ID="ID_1880101392" MODIFIED="1518659037749" TEXT="betrifft eigentlich auch currentWindow()"/>
|
||||
<node CREATED="1518659526767" ID="ID_839916178" MODIFIED="1518659610753" TEXT="⟹ ist Variablen-Bindung und Funktionsauswertung">
|
||||
<node CREATED="1518659526767" ID="ID_839916178" MODIFIED="1518742936572" TEXT="⟹ ist Variablen-Bindung und Funktionsauswertung">
|
||||
<arrowlink COLOR="#8e6e9e" DESTINATION="ID_1208480183" ENDARROW="Default" ENDINCLINATION="-458;-16;" ID="Arrow_ID_504124124" STARTARROW="None" STARTINCLINATION="-600;49;"/>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -9931,7 +9931,7 @@
|
|||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1518658696759" ID="ID_68856104" MODIFIED="1518658712847">
|
||||
<node COLOR="#990000" CREATED="1518658696759" ID="ID_68856104" MODIFIED="1518743116362">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
|
|
@ -9946,24 +9946,94 @@
|
|||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<linktarget COLOR="#e46465" DESTINATION="ID_68856104" ENDARROW="Default" ENDINCLINATION="74;449;" ID="Arrow_ID_110301671" SOURCE="ID_1208480183" STARTARROW="None" STARTINCLINATION="-232;7;"/>
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
<node CREATED="1518658759567" ID="ID_1257805922" MODIFIED="1518658772007" TEXT="wie?">
|
||||
<node CREATED="1517014036148" ID="ID_1650726696" MODIFIED="1518487921069" TEXT="on the fly">
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1517014040147" ID="ID_144379993" MODIFIED="1518487921069" TEXT="beim Erzeugen des Resolvers">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
<node CREATED="1517014040147" ID="ID_144379993" MODIFIED="1518743268543" TEXT="beim Erzeugen des Resolvers"/>
|
||||
</node>
|
||||
<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 "elided"">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node CREATED="1518743292259" ID="ID_1943028471" MODIFIED="1518743301047" TEXT="das machen wir trotzdem">
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1518658412982" ID="ID_1860407174" MODIFIED="1518658433427" TEXT="Lösung für "asset Tab"">
|
||||
<node CREATED="1518743303177" ID="ID_1758602660" MODIFIED="1518743321547" TEXT="...und zwar direkt im LocationSolver"/>
|
||||
</node>
|
||||
<node CREATED="1518658412982" ID="ID_1860407174" MODIFIED="1518745767401" TEXT="Lösung für "asset Tab"">
|
||||
<icon BUILTIN="hourglass"/>
|
||||
<node CREATED="1518745809189" ID="ID_334346990" MODIFIED="1518746202442" TEXT="hier geht es um einen subtilen Punkt im Gebrauch des UI-Raumes">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
Man möchte, daß für spezielle Sub-Elemente,
|
||||
</p>
|
||||
<p>
|
||||
die aus einem fremden Kontext heraus geöffnet werden,
|
||||
</p>
|
||||
<p>
|
||||
zunächst versucht wird, einen irgendwo im UI schon bestehenden TAB
|
||||
</p>
|
||||
<p>
|
||||
für speziell diesen Element-Typ wiederzuverwenden; das erlaubt dem User,
|
||||
</p>
|
||||
<p>
|
||||
sich einen Platz für sehr spezielle Sachen beiseite zu setzen.
|
||||
</p>
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<p>
|
||||
z.B. sehr spezielle Assets oder ein virtueller Clip.
|
||||
</p>
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<p>
|
||||
Erst wenn so ein Ort nicht gefunden wird, möchte man auf einen
|
||||
</p>
|
||||
<p>
|
||||
generischen Ort zurückfallen, und erst als letzte default-Lösung
|
||||
</p>
|
||||
<p>
|
||||
im aktuellen Fenster einen völlig neuen UI-Elementkontext schaffen.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<linktarget COLOR="#2c4580" DESTINATION="ID_334346990" ENDARROW="Default" ENDINCLINATION="242;0;" ID="Arrow_ID_1968525556" SOURCE="ID_1219364679" STARTARROW="None" STARTINCLINATION="78;0;"/>
|
||||
</node>
|
||||
<node CREATED="1518745834329" ID="ID_877601312" MODIFIED="1518745855890" TEXT="nicht klar, ob es gerechtfertigt ist, hierfür solche Komplexitäten zu schaffen"/>
|
||||
<node CREATED="1518745857950" ID="ID_1572087161" MODIFIED="1518745944379" TEXT="wenn sollte man es besser explizit als Spezialfall hart-coden">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...statt die gesamte Matching-Engine mit einer Art
|
||||
</p>
|
||||
<p>
|
||||
halbgaren Unifikation aufzubrezln
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1518745906400" ID="ID_958966084" MODIFIED="1518745914960" TEXT="wildMatch() in ui-coord-resolver.cpp">
|
||||
<icon BUILTIN="forward"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1518746009058" ID="ID_43313184" MODIFIED="1518746024360" TEXT="#1130 allow view location by similar kind">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1518660243382" ID="ID_1951597669" MODIFIED="1518660249616" TEXT="technischer Ansatz">
|
||||
</node>
|
||||
<node CREATED="1518660243382" HGAP="32" ID="ID_1951597669" MODIFIED="1518743133223" TEXT="technischer Ansatz" VSHIFT="-2">
|
||||
<node CREATED="1518660484501" ID="ID_1142230788" MODIFIED="1518660490688" TEXT="Pattern umschreiben">
|
||||
<node CREATED="1518660561314" ID="ID_719818438" MODIFIED="1518660568165" TEXT="sehr leicht zu implementieren"/>
|
||||
<node CREATED="1518660569273" ID="ID_357095507" MODIFIED="1518660615103" TEXT="verwirrend/magisch/manipulativ"/>
|
||||
|
|
@ -9983,6 +10053,35 @@
|
|||
<node CREATED="1518660851035" ID="ID_1271437627" MODIFIED="1518660856798" TEXT="Einrichtungs-Aufwand"/>
|
||||
<node CREATED="1518660857434" ID="ID_1501111250" MODIFIED="1518660906191" TEXT="komplex für Test einzurichten"/>
|
||||
</node>
|
||||
<node CREATED="1518742996348" ID="ID_328356111" MODIFIED="1518743006606" TEXT="von der Ebene der Sprache her schwer zu verstehen"/>
|
||||
<node CREATED="1518743012337" ID="ID_1220573120" MODIFIED="1518743054926">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
bleibt dem Charakter nach <i>imperativ</i>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<icon BUILTIN="broken-line"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1518743065930" HGAP="79" ID="ID_1989234578" MODIFIED="1518745957053" TEXT="vorerst abgelehnt" VSHIFT="21">
|
||||
<icon BUILTIN="stop-sign"/>
|
||||
<node CREATED="1518743153214" ID="ID_513041431" MODIFIED="1518743159705" TEXT="keine der Lösungen wirklich attraktiv"/>
|
||||
<node CREATED="1518743167708" ID="ID_1748977650" MODIFIED="1518743186813" TEXT="sprengt gewissermaßen den Ansatz eines reinen Matchers"/>
|
||||
<node CREATED="1518743192305" ID="ID_1134364758" MODIFIED="1518743222705" TEXT="wenn man wirkliche Unifikation will ⟹ Resolution-Engine nehmen"/>
|
||||
<node CREATED="1518743226772" ID="ID_1108128377" MODIFIED="1518743247533" TEXT="DSL-Entwurf nochmal angeschaut....">
|
||||
<node CREATED="1518743248497" ID="ID_1219364679" MODIFIED="1518745996865" TEXT="Feature kann weitgehend umgangen werden">
|
||||
<arrowlink COLOR="#2c4580" DESTINATION="ID_334346990" ENDARROW="Default" ENDINCLINATION="242;0;" ID="Arrow_ID_1968525556" STARTARROW="None" STARTINCLINATION="78;0;"/>
|
||||
</node>
|
||||
<node CREATED="1518743254401" ID="ID_1218065629" MODIFIED="1518743258377" TEXT="YAGNI">
|
||||
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -10057,10 +10156,11 @@
|
|||
<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="1518742608702" TEXT="Kontext-Bindung">
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1518658805744" ID="ID_1208480183" MODIFIED="1518742966038" 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;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<icon BUILTIN="stop-sign"/>
|
||||
<node CREATED="1518659629689" ID="ID_666680369" MODIFIED="1518659660281" TEXT="Löse-Funktion bekommt Kontext"/>
|
||||
<node CREATED="1518660033466" ID="ID_1879301424" MODIFIED="1518660044053" TEXT="jede Klausel wird vorbehandelt"/>
|
||||
<node CREATED="1518660206867" ID="ID_1357657997" MODIFIED="1518660237412">
|
||||
|
|
@ -10090,6 +10190,10 @@
|
|||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1518742862470" ID="ID_588911138" MODIFIED="1518742880332" TEXT="YAGNI">
|
||||
<font BOLD="true" NAME="SansSerif" SIZE="13"/>
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1517507036433" ID="ID_921121750" MODIFIED="1518487921069" TEXT="zieht die Antwort bei ersem Erfolg">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
|
|
@ -10534,14 +10638,14 @@
|
|||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1515634054990" HGAP="44" ID="ID_146987308" MODIFIED="1518487921071" TEXT="Struktur-Lösung" VSHIFT="19">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1515634166656" ID="ID_760459550" MODIFIED="1518487921071" TEXT="UI-Coord-Builder">
|
||||
<icon BUILTIN="hourglass"/>
|
||||
<node COLOR="#338800" CREATED="1515634166656" ID="ID_760459550" MODIFIED="1518743424687" TEXT="UI-Coord-Builder">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#338800" CREATED="1515634180942" ID="ID_1485314989" MODIFIED="1518487921071" TEXT="praktisch schon da">
|
||||
<icon BUILTIN="ksmiletris"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1515634197876" ID="ID_731095389" MODIFIED="1518659372127" TEXT="Problem Asset-Tab...">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#990000" CREATED="1515634197876" ID="ID_731095389" MODIFIED="1518743462219" TEXT="Problem Asset-Tab...">
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
<node CREATED="1515634208379" ID="ID_1341895683" MODIFIED="1518487921071" TEXT="Vermutung: auf backing service angewiesen"/>
|
||||
<node CREATED="1518659373972" ID="ID_1782316588" MODIFIED="1518659386753" TEXT="ist eine Kontext-Auswertung/Bindung">
|
||||
<icon BUILTIN="idea"/>
|
||||
|
|
@ -11105,9 +11209,9 @@
|
|||
<node COLOR="#338800" CREATED="1518223039229" ID="ID_427870686" MODIFIED="1518739358673" TEXT="panel alone">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1518223101637" ID="ID_481219776" MODIFIED="1518742608702" TEXT="wildcard view + specific tab">
|
||||
<node COLOR="#990000" CREATED="1518223101637" ID="ID_481219776" MODIFIED="1518742835910" TEXT="wildcard view + specific tab">
|
||||
<arrowlink COLOR="#b78791" DESTINATION="ID_1208480183" ENDARROW="Default" ENDINCLINATION="-1240;134;" ID="Arrow_ID_831550289" STARTARROW="None" STARTINCLINATION="1654;0;"/>
|
||||
<icon BUILTIN="hourglass"/>
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1518223107508" ID="ID_254700276" MODIFIED="1518742616988" TEXT="wildcard panel + view appended">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
|
|
@ -20329,8 +20433,8 @@
|
|||
<node CREATED="1487273377603" ID="ID_1842094630" MODIFIED="1518487921088" TEXT="SpotLocator"/>
|
||||
</node>
|
||||
<node CREATED="1487272813119" ID="ID_1794274698" MODIFIED="1518487921088" TEXT="Bezug">
|
||||
<node CREATED="1504460091831" ID="ID_150523428" MODIFIED="1518659475358" TEXT="Koordinatensystem">
|
||||
<linktarget COLOR="#a9a5cd" DESTINATION="ID_150523428" ENDARROW="Default" ENDINCLINATION="1440;-3055;" ID="Arrow_ID_1485937133" SOURCE="ID_50865654" STARTARROW="None" STARTINCLINATION="1135;-33;"/>
|
||||
<node CREATED="1504460091831" ID="ID_150523428" MODIFIED="1518742955375" TEXT="Koordinatensystem">
|
||||
<linktarget COLOR="#a9a5cd" DESTINATION="ID_150523428" ENDARROW="Default" ENDINCLINATION="1440;-3055;" ID="Arrow_ID_1485937133" SOURCE="ID_50865654" STARTARROW="None" STARTINCLINATION="1109;-37;"/>
|
||||
<node CREATED="1504462869149" ID="ID_248419130" MODIFIED="1518487921088" TEXT="beschreibt Zugangsweg">
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
|
|
|
|||
Loading…
Reference in a new issue