Clip: review ClipDelegate creation
implement the special convention for Time::NEVER to hide such clips
This commit is contained in:
parent
c4634837a3
commit
5570850377
3 changed files with 113 additions and 83 deletions
|
|
@ -335,7 +335,7 @@ namespace timeline {
|
|||
}
|
||||
|
||||
/** state switch ctor */
|
||||
ClipWidget(ClipData&& existing, WidgetHook* newView)
|
||||
ClipWidget(ClipData&& existing, WidgetHook* newView =nullptr)
|
||||
: HookedWidget{existing.establishHookPoint(newView), existing.getClipName()}
|
||||
, ClipData{std::move (existing)}
|
||||
{
|
||||
|
|
@ -345,21 +345,28 @@ namespace timeline {
|
|||
|
||||
|
||||
inline ClipDelegate*
|
||||
buildDelegateFor (Mode newMode, ClipDelegate& existingDelegate, WidgetHook* newView =0)
|
||||
{
|
||||
REQUIRE (INSTANCEOF (ClipData, &existingDelegate));
|
||||
ClipData& clipData = static_cast<ClipData&> (existingDelegate);
|
||||
|
||||
switch (newMode)
|
||||
{
|
||||
case HIDDEN:
|
||||
return new DormantClip (std::move (clipData));
|
||||
case INDIVIDUAL:
|
||||
return new ClipWidget (std::move (clipData), newView);
|
||||
case SUMMARY:
|
||||
UNIMPLEMENTED ("Summary/Overview presentation style");
|
||||
}
|
||||
}
|
||||
buildDelegateFor (Mode newMode, ClipDelegate& existingDelegate, WidgetHook* newView =nullptr)
|
||||
{
|
||||
REQUIRE (INSTANCEOF (ClipData, &existingDelegate));
|
||||
ClipData& clipData = static_cast<ClipData&> (existingDelegate);
|
||||
|
||||
switch (newMode)
|
||||
{
|
||||
case HIDDEN:
|
||||
return new DormantClip (std::move (clipData));
|
||||
case INDIVIDUAL:
|
||||
return new ClipWidget (std::move (clipData), newView);
|
||||
case SUMMARY:
|
||||
UNIMPLEMENTED ("Summary/Overview presentation style");
|
||||
}
|
||||
}
|
||||
|
||||
/** special convention to suppress a clip with start time == Time::NEVER */
|
||||
inline bool
|
||||
canShow (Time start)
|
||||
{
|
||||
return start != Time::NEVER;
|
||||
}
|
||||
|
||||
}//(End)clip appearance details.
|
||||
|
||||
|
|
@ -367,27 +374,10 @@ namespace timeline {
|
|||
|
||||
/* === Appearance Style state transitions === */
|
||||
|
||||
ClipDelegate::Appearance
|
||||
ClipDelegate::switchAppearance (PDelegate& manager, Appearance desired, WidgetHook* newView)
|
||||
{
|
||||
REQUIRE (manager, "pre-existing clip delegate required");
|
||||
Mode curMode = classify (manager->currentAppearance());
|
||||
Mode newMode = classify (desired);
|
||||
if (newMode != curMode or newView)
|
||||
{ // need to switch the clip delegate
|
||||
PDelegate newState (buildDelegateFor (newMode, *manager, newView));
|
||||
swap (manager, newState);
|
||||
return manager->changeAppearance (desired);
|
||||
}
|
||||
else
|
||||
return manager->changeAppearance (desired);
|
||||
}
|
||||
|
||||
|
||||
ClipDelegate::Appearance
|
||||
ClipDelegate::buildDelegate (PDelegate& manager, WidgetHook& view, optional<TimeSpan> const& timing)
|
||||
{
|
||||
if (timing)
|
||||
if (timing and canShow (timing->start()))
|
||||
manager.reset (new ClipWidget{view.hookedAt(*timing, defaultOffsetY), *timing, defaultName});
|
||||
else
|
||||
manager.reset (new DormantClip{view});
|
||||
|
|
@ -397,6 +387,25 @@ namespace timeline {
|
|||
}
|
||||
|
||||
|
||||
ClipDelegate::Appearance
|
||||
ClipDelegate::switchAppearance (PDelegate& existing, Appearance desired, WidgetHook* newView)
|
||||
{
|
||||
REQUIRE (existing, "pre-existing clip delegate required");
|
||||
if (not canShow(existing->getStartTime()))
|
||||
desired = Appearance::PENDING;
|
||||
Mode curMode = classify (existing->currentAppearance());
|
||||
Mode newMode = classify (desired);
|
||||
if (newMode != curMode or newView)
|
||||
{ // need to switch the clip delegate
|
||||
PDelegate newState (buildDelegateFor (newMode, *existing, newView));
|
||||
swap (existing, newState);
|
||||
return existing->changeAppearance (desired);
|
||||
}
|
||||
else
|
||||
return existing->changeAppearance (desired);
|
||||
}
|
||||
|
||||
|
||||
WidgetHook::Pos
|
||||
ClipDelegate::establishHookPoint (WidgetHook* newView)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -200,7 +200,7 @@ namespace timeline {
|
|||
|
||||
|
||||
/** request to change the clip delegate's appearance style, if possible.
|
||||
* @param manager entity to hold and maintain this specific appearance state.
|
||||
* @param existing entity to hold and maintain this specific appearance state.
|
||||
* @param desired the intended style or mode to acquire
|
||||
* @param newView (optionally) a different view to hook up the delegate.
|
||||
* @return the actual mode the presentation was switched to
|
||||
|
|
@ -220,7 +220,7 @@ namespace timeline {
|
|||
* The base ctor #ClipData(WidgetHook&) ensures there is
|
||||
* always a display_ (WidgetHook) to refer to.
|
||||
*/
|
||||
static Appearance switchAppearance (PDelegate& manager,
|
||||
static Appearance switchAppearance (PDelegate& existing,
|
||||
Appearance desired =PENDING,
|
||||
WidgetHook* newView =nullptr);
|
||||
|
||||
|
|
|
|||
|
|
@ -6907,7 +6907,7 @@
|
|||
<node CREATED="1519356901933" ID="ID_596521684" MODIFIED="1519356913407" TEXT="Verhältnis ID / Ort">
|
||||
<node CREATED="1519356920083" ID="ID_723456910" MODIFIED="1519356926342" TEXT="sind orthogonale Schemata">
|
||||
<node CREATED="1519357047993" ID="ID_1706134856" MODIFIED="1541547248389" TEXT="ID = globale Identität">
|
||||
<arrowlink COLOR="#6b83a8" DESTINATION="ID_1585676322" ENDARROW="Default" ENDINCLINATION="738;0;" ID="Arrow_ID_174361092" STARTARROW="None" STARTINCLINATION="1067;-74;"/>
|
||||
<arrowlink COLOR="#6b83a8" DESTINATION="ID_1585676322" ENDARROW="Default" ENDINCLINATION="604;0;" ID="Arrow_ID_174361092" STARTARROW="None" STARTINCLINATION="1067;-74;"/>
|
||||
</node>
|
||||
<node CREATED="1519357060599" ID="ID_975802429" MODIFIED="1519357070810" TEXT="Ort = Topologie + Typ">
|
||||
<node CREATED="1519357081868" ID="ID_1484266304" MODIFIED="1519357090975" TEXT="Ortsnamen sind generisch"/>
|
||||
|
|
@ -21891,9 +21891,9 @@
|
|||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1583010246034" ID="ID_113344286" MODIFIED="1611533767877" TEXT="Resultat mit Wert vom Header abgleichen">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1611527674130" ID="ID_1530876056" MODIFIED="1611533938726" TEXT="Ergebnis ≙ lokales Maximum → TrackBody::contentHeight_">
|
||||
<linktarget COLOR="#43447b" DESTINATION="ID_1530876056" ENDARROW="Default" ENDINCLINATION="802;689;" ID="Arrow_ID_471691943" SOURCE="ID_1232626344" STARTARROW="None" STARTINCLINATION="655;24;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1611527674130" ID="ID_1530876056" MODIFIED="1612030681158" TEXT="Ergebnis ≙ lokales Maximum → TrackBody::contentHeight_">
|
||||
<linktarget COLOR="#3b4b73" DESTINATION="ID_1530876056" ENDARROW="Default" ENDINCLINATION="802;689;" ID="Arrow_ID_471691943" SOURCE="ID_1232626344" STARTARROW="None" STARTINCLINATION="691;24;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1611533783838" ID="ID_504265049" MODIFIED="1611533798915" TEXT="Vorsicht: es sind zwei Belange">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node CREATED="1611533829992" ID="ID_1527761356" MODIFIED="1611533848566" TEXT="der Content muß in den Content-Bereich im Track passen"/>
|
||||
|
|
@ -22030,7 +22030,7 @@
|
|||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1611787674741" ID="ID_1709866969" MODIFIED="1611788022804" TEXT="Canvas-Koordinaten nachführen">
|
||||
<linktarget COLOR="#dd4f7b" DESTINATION="ID_1709866969" ENDARROW="Default" ENDINCLINATION="684;566;" ID="Arrow_ID_541728210" SOURCE="ID_791476178" STARTARROW="None" STARTINCLINATION="-1876;104;"/>
|
||||
<linktarget COLOR="#675b85" DESTINATION="ID_1709866969" ENDARROW="Default" ENDINCLINATION="684;566;" ID="Arrow_ID_541728210" SOURCE="ID_791476178" STARTARROW="None" STARTINCLINATION="-1876;104;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node CREATED="1611915466838" ID="ID_355225110" MODIFIED="1611915483757" TEXT="Problem: Storage der Koordinaten">
|
||||
<node CREATED="1611915485454" ID="ID_1653031142" MODIFIED="1611915494045" TEXT="welche Form?">
|
||||
|
|
@ -22090,15 +22090,15 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1611915390832" ID="ID_1488484275" MODIFIED="1611916022512" TEXT="Clips müssen partizipieren">
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1611915390832" ID="ID_1488484275" MODIFIED="1612031224261" TEXT="Clips müssen partizipieren">
|
||||
<linktarget COLOR="#e33b64" DESTINATION="ID_1488484275" ENDARROW="Default" ENDINCLINATION="-14;-84;" ID="Arrow_ID_1820616086" SOURCE="ID_1829463115" STARTARROW="None" STARTINCLINATION="-70;14;"/>
|
||||
<linktarget COLOR="#884baa" DESTINATION="ID_1488484275" ENDARROW="Default" ENDINCLINATION="-838;79;" ID="Arrow_ID_1236233773" SOURCE="ID_1248959265" STARTARROW="None" STARTINCLINATION="459;7;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<linktarget COLOR="#5c849c" DESTINATION="ID_1488484275" ENDARROW="Default" ENDINCLINATION="-838;79;" ID="Arrow_ID_1236233773" SOURCE="ID_1248959265" STARTARROW="None" STARTINCLINATION="612;56;"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node CREATED="1611916037617" ID="ID_1961599171" MODIFIED="1611916053240" TEXT="weil die Layout-Koordinaten erneut aufgebaut werden müssen"/>
|
||||
<node CREATED="1611916054695" ID="ID_178492743" MODIFIED="1611916077488" TEXT="und nur die logischen Koordinaten gespeichert sein sollten, und zwar im Clip"/>
|
||||
<node CREATED="1611921176093" ID="ID_1185756571" MODIFIED="1611921186371" TEXT="Entscheidung: Art der Einbindung">
|
||||
<node CREATED="1611921187479" ID="ID_60740036" MODIFIED="1611921190890" TEXT="Alternativen">
|
||||
<node CREATED="1611921192310" ID="ID_1840435951" MODIFIED="1611921604756" TEXT="Callback-Mechanismus vom CanvasHook">
|
||||
<node CREATED="1611921192310" FOLDED="true" ID="ID_1840435951" MODIFIED="1611921604756" TEXT="Callback-Mechanismus vom CanvasHook">
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
<node CREATED="1611921251215" ID="ID_897674349" MODIFIED="1611921285018" TEXT="das wäre dann ein generischer Mechanismus">
|
||||
<icon BUILTIN="up"/>
|
||||
|
|
@ -22157,7 +22157,7 @@
|
|||
<node CREATED="1611921687575" ID="ID_1008400960" MODIFIED="1611921701733" TEXT="(kann dann aber auch den Header-Ausgleich mit erledigen)"/>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1611925014039" ID="ID_1261732954" MODIFIED="1611959573577" TEXT="relink() der Clips implementieren">
|
||||
<node COLOR="#338800" CREATED="1611925014039" FOLDED="true" ID="ID_1261732954" MODIFIED="1611959573577" TEXT="relink() der Clips implementieren">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1611925026550" ID="ID_1629005155" MODIFIED="1611925046136" TEXT="Lösung: einfach mit den aktuellen logischen Koordinaten">
|
||||
<icon BUILTIN="idea"/>
|
||||
|
|
@ -22175,7 +22175,7 @@
|
|||
<arrowlink COLOR="#70365f" DESTINATION="ID_814561596" ENDARROW="Default" ENDINCLINATION="-427;-565;" ID="Arrow_ID_1226103397" STARTARROW="None" STARTINCLINATION="805;58;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1611959606145" ID="ID_877670109" MODIFIED="1611959627010" TEXT="Problem: Clip (noch) nicht am rechten Fleck">
|
||||
<node COLOR="#435e98" CREATED="1611959606145" ID="ID_877670109" MODIFIED="1612030761702" TEXT="Problem: Clip (noch) nicht am rechten Fleck">
|
||||
<icon BUILTIN="broken-line"/>
|
||||
<node CREATED="1611959630868" ID="ID_268739743" MODIFIED="1611959702682" TEXT="Clip erscheint am oberen Rand des Track">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
|
|
@ -22190,9 +22190,10 @@
|
|||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1611959645562" ID="ID_4339474" MODIFIED="1611959664916" TEXT="aber explizit injizierte Buttons erscheinen an der richtigen Stelle"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1611959706282" ID="ID_568799045" MODIFIED="1612022028099" TEXT="Debugging...">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node CREATED="1612000363951" ID="ID_1611539170" MODIFIED="1612022026662" TEXT="Beobachtungen">
|
||||
<node COLOR="#338800" CREATED="1611959706282" FOLDED="true" ID="ID_568799045" MODIFIED="1612031128784" TEXT="Debugging...">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1612000363951" ID="ID_1611539170" MODIFIED="1612031120974" TEXT="Beobachtungen">
|
||||
<icon BUILTIN="idea"/>
|
||||
<node CREATED="1612000371364" ID="ID_36603158" MODIFIED="1612000392460">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
|
@ -22330,8 +22331,7 @@
|
|||
Aber der Punkt ist, nach der reinen Lehre sollte eine solche Funktion eine Options-Monade zurückgeben. Aber ich wollte stattdessen den guten alten Fallback-Wert. Wenn man <i>das </i>erst mal akzeptiert, dann muß "man" verdammt noch einmal auch die Wertebereiche ernst nehmen
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -22356,6 +22356,7 @@
|
|||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1612019599970" ID="ID_1752337691" MODIFIED="1612019623795" TEXT="Clip bewegt sich aber erst beim nächsten Redraw">
|
||||
<arrowlink COLOR="#62466a" DESTINATION="ID_1512224220" ENDARROW="Default" ENDINCLINATION="-74;-72;" ID="Arrow_ID_716623900" STARTARROW="None" STARTINCLINATION="48;96;"/>
|
||||
<linktarget COLOR="#767b93" DESTINATION="ID_1752337691" ENDARROW="Default" ENDINCLINATION="-53;-147;" ID="Arrow_ID_569461745" SOURCE="ID_279893834" STARTARROW="None" STARTINCLINATION="-103;9;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node CREATED="1612019625163" ID="ID_191145933" MODIFIED="1612019777333" TEXT="liegt vmtl. darin, daß wir uns grade in einem Draw()-Callback befinden">
|
||||
|
|
@ -22407,6 +22408,7 @@
|
|||
<node CREATED="1612025062956" ID="ID_1000543035" MODIFIED="1612025073590" TEXT="alsauch nur mit den beiden Canvas-Widgets"/>
|
||||
</node>
|
||||
<node CREATED="1612025074794" ID="ID_800250683" MODIFIED="1612025088412" TEXT="zeigt keinerlei Reaktion">
|
||||
<linktarget COLOR="#843f65" DESTINATION="ID_800250683" ENDARROW="Default" ENDINCLINATION="-296;33;" ID="Arrow_ID_1331047801" SOURCE="ID_445256100" STARTARROW="None" STARTINCLINATION="797;63;"/>
|
||||
<icon BUILTIN="stop-sign"/>
|
||||
<node CREATED="1612025095479" ID="ID_1775295616" MODIFIED="1612025105906" TEXT="der Clip bleibt wo er ist (am falschen Ort)"/>
|
||||
<node CREATED="1612025106830" ID="ID_1695696156" MODIFIED="1612025160707" TEXT="auch die anderen Layout-Anpassungen erfolgen erst beim nächsten Trigger">
|
||||
|
|
@ -22428,6 +22430,25 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1612030849154" ID="ID_242090895" MODIFIED="1612030858673" TEXT="verbleibende Probleme">
|
||||
<icon BUILTIN="bell"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1612030881439" ID="ID_306268306" MODIFIED="1612030903673" TEXT="nach dem DisplayEvaluationPass: Zustand nicht vollständig realisiert">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node CREATED="1612030907643" ID="ID_607409982" MODIFIED="1612030927924" TEXT="obwohl aller Anzeigezustand korrekt gesetzt wurde"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1612030928723" ID="ID_352360314" MODIFIED="1612031057189" TEXT="erst der nächste draw()-Zyklus">
|
||||
<icon BUILTIN="bell"/>
|
||||
<node CREATED="1612030941302" ID="ID_1512224220" MODIFIED="1612031041398" TEXT="reralisieriert die zuletzt gesetzte Canvas-Postion der Clip-Widgets">
|
||||
<linktarget COLOR="#62466a" DESTINATION="ID_1512224220" ENDARROW="Default" ENDINCLINATION="-74;-72;" ID="Arrow_ID_716623900" SOURCE="ID_1752337691" STARTARROW="None" STARTINCLINATION="48;96;"/>
|
||||
</node>
|
||||
<node CREATED="1612030955781" ID="ID_1382137559" MODIFIED="1612030970994" TEXT="realisiert die angepaßte Canvas-Größe"/>
|
||||
<node CREATED="1612030974354" ID="ID_602452868" MODIFIED="1612030981278" TEXT="realisiert den Scroll-Overflow"/>
|
||||
</node>
|
||||
<node CREATED="1612031066295" ID="ID_445256100" MODIFIED="1612031108057" TEXT="Invalidieren des Widget hilft nicht">
|
||||
<arrowlink COLOR="#843f65" DESTINATION="ID_800250683" ENDARROW="Default" ENDINCLINATION="-296;33;" ID="Arrow_ID_1331047801" STARTARROW="None" STARTINCLINATION="797;63;"/>
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -23489,11 +23510,11 @@
|
|||
<node CREATED="1576705779910" ID="ID_968522268" MODIFIED="1576705792920" TEXT="damit ViewHook<Clip>"/>
|
||||
<node CREATED="1576705802515" ID="ID_674496871" MODIFIED="1576705809765" TEXT="und ViewHook<Marker>"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1576855620250" ID="ID_1121301646" MODIFIED="1582926717704" TEXT="relatives Positionieren ermöglichen">
|
||||
<node COLOR="#338800" CREATED="1576855620250" ID="ID_1121301646" MODIFIED="1612031401163" TEXT="relatives Positionieren ermöglichen">
|
||||
<arrowlink COLOR="#15bcc9" DESTINATION="ID_1816490333" ENDARROW="Default" ENDINCLINATION="-454;46;" ID="Arrow_ID_408864676" STARTARROW="None" STARTINCLINATION="-235;17;"/>
|
||||
<linktarget COLOR="#6780d3" DESTINATION="ID_1121301646" ENDARROW="Default" ENDINCLINATION="551;-498;" ID="Arrow_ID_229033893" SOURCE="ID_1642579599" STARTARROW="None" STARTINCLINATION="-477;21;"/>
|
||||
<linktarget COLOR="#4668c0" DESTINATION="ID_1121301646" ENDARROW="Default" ENDINCLINATION="-360;299;" ID="Arrow_ID_1147127867" SOURCE="ID_1574493569" STARTARROW="None" STARTINCLINATION="466;56;"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1582410135584" ID="ID_969058360" MODIFIED="1611478497698" TEXT="#1207 relative attachment and (custom) drawing of sub-widgets">
|
||||
<arrowlink COLOR="#f17745" DESTINATION="ID_1208770677" ENDARROW="Default" ENDINCLINATION="-696;74;" ID="Arrow_ID_1555581659" STARTARROW="None" STARTINCLINATION="1109;48;"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
|
|
@ -23574,9 +23595,9 @@
|
|||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1576974176981" ID="ID_1792139654" MODIFIED="1576975019591" TEXT="Kind-Widget-Offsets">
|
||||
<node COLOR="#338800" CREATED="1576974176981" ID="ID_1792139654" MODIFIED="1612031398076" TEXT="Kind-Widget-Offsets">
|
||||
<linktarget COLOR="#5e57bd" DESTINATION="ID_1792139654" ENDARROW="Default" ENDINCLINATION="-2065;214;" ID="Arrow_ID_1917645572" SOURCE="ID_178738138" STARTARROW="None" STARTINCLINATION="-949;44;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1576974190516" ID="ID_1324645925" MODIFIED="1582836038184" TEXT="welche Offsets treten konkret auf?"/>
|
||||
<node COLOR="#435e98" CREATED="1582835948615" ID="ID_75969285" MODIFIED="1582926572549" TEXT="Kind-Offsets sind falsch">
|
||||
<arrowlink COLOR="#38acd3" DESTINATION="ID_1855510589" ENDARROW="Default" ENDINCLINATION="-764;-101;" ID="Arrow_ID_1877663178" STARTARROW="None" STARTINCLINATION="570;60;"/>
|
||||
|
|
@ -28357,9 +28378,9 @@
|
|||
<node CREATED="1582847508092" ID="ID_38965837" MODIFIED="1582847520169" TEXT="im unteren Canvas: lokal justierte Koordinaten"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1566955956741" ID="ID_1266359061" MODIFIED="1582847535244" TEXT="wie können wir dann aber Clips korrekt positionieren?">
|
||||
<node COLOR="#435e98" CREATED="1566955956741" FOLDED="true" ID="ID_1266359061" MODIFIED="1612031448843" TEXT="wie können wir dann aber Clips korrekt positionieren?">
|
||||
<arrowlink COLOR="#4943a0" DESTINATION="ID_1270677756" ENDARROW="Default" ENDINCLINATION="954;-120;" ID="Arrow_ID_1809237545" STARTARROW="None" STARTINCLINATION="-298;16;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<icon BUILTIN="help"/>
|
||||
<node CREATED="1568383045628" ID="ID_557151257" MODIFIED="1576282358040" TEXT="dafür brauchen wir ohnehin eine access-Funtkion">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
|
@ -28375,17 +28396,16 @@
|
|||
<node CREATED="1568383358860" ID="ID_619192777" LINK="#ID_633007604" MODIFIED="1568384041962" TEXT="den tatsächlichen Zugriff könnte der DisplayFrame haben"/>
|
||||
</node>
|
||||
<node CREATED="1568383386424" ID="ID_610235776" MODIFIED="1568383405042" TEXT="dieser Accessor könnte eine Koordinaten-Transformation machen"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1576975048525" ID="ID_1095950959" MODIFIED="1576975242072" TEXT="könnte zusammen mit dem Sub-Attachment gelöst werden">
|
||||
<node COLOR="#338800" CREATED="1576975048525" ID="ID_1095950959" MODIFIED="1612031428184" TEXT="zusammen mit dem Sub-Attachment gelöst">
|
||||
<arrowlink COLOR="#406fc9" DESTINATION="ID_272168913" ENDARROW="Default" ENDINCLINATION="-1471;82;" ID="Arrow_ID_1415590908" STARTARROW="None" STARTINCLINATION="-1695;79;"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1611787774512" ID="ID_1848866838" MODIFIED="1611788440907" TEXT="Problem: Layout-Anpassung">
|
||||
<linktarget COLOR="#f5837c" DESTINATION="ID_1848866838" ENDARROW="Default" ENDINCLINATION="-842;72;" ID="Arrow_ID_1370580747" SOURCE="ID_1798941398" STARTARROW="None" STARTINCLINATION="1148;66;"/>
|
||||
<node COLOR="#435e98" CREATED="1611787774512" FOLDED="true" ID="ID_1848866838" MODIFIED="1612031381604" TEXT="Problem: Layout-Anpassung">
|
||||
<linktarget COLOR="#6bce9f" DESTINATION="ID_1848866838" ENDARROW="Default" ENDINCLINATION="-842;72;" ID="Arrow_ID_1370580747" SOURCE="ID_1798941398" STARTARROW="None" STARTINCLINATION="1148;66;"/>
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node CREATED="1611787832152" ID="ID_421588952" MODIFIED="1611787838787" TEXT="Display-Evaluation-Pass"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1611787839919" ID="ID_791476178" MODIFIED="1611788022804" TEXT="erfordert veränderte Interpretation der Koordinaten">
|
||||
<arrowlink COLOR="#dd4f7b" DESTINATION="ID_1709866969" ENDARROW="Default" ENDINCLINATION="684;566;" ID="Arrow_ID_541728210" STARTARROW="None" STARTINCLINATION="-1876;104;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#435e98" CREATED="1611787839919" ID="ID_791476178" MODIFIED="1612031367778" TEXT="erfordert veränderte Interpretation der Koordinaten">
|
||||
<arrowlink COLOR="#675b85" DESTINATION="ID_1709866969" ENDARROW="Default" ENDINCLINATION="684;566;" ID="Arrow_ID_541728210" STARTARROW="None" STARTINCLINATION="-1876;104;"/>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1611788484755" ID="ID_1242261012" MODIFIED="1612019536549" TEXT="wie kann eine Neu-Anordnung überhaupt bewirkt werden?">
|
||||
<icon BUILTIN="help"/>
|
||||
|
|
@ -28399,7 +28419,8 @@
|
|||
<node CREATED="1611789415136" ID="ID_1771759059" MODIFIED="1611789426867" TEXT="oder ein Delta der Layout-Anpassung"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1612019484247" ID="ID_1243648856" MODIFIED="1612019504224" TEXT="Lösung: den 3.Pass der DisplayEvaluation auch hierfür nutzen">
|
||||
<node COLOR="#338800" CREATED="1612019484247" ID="ID_1243648856" MODIFIED="1612031378780" TEXT="Lösung: den 3.Pass der DisplayEvaluation auch hierfür nutzen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1612019507497" ID="ID_877065301" MODIFIED="1612019522485" TEXT="alle Widgets auf dem Canvas...."/>
|
||||
<node CREATED="1612019523193" ID="ID_1272964807" MODIFIED="1612019533076" TEXT="...per move() repositionieren"/>
|
||||
</node>
|
||||
|
|
@ -28513,9 +28534,9 @@
|
|||
<node COLOR="#338800" CREATED="1611915265289" HGAP="85" ID="ID_245617141" MODIFIED="1611915302849" TEXT="Diff-Handler definieren" VSHIFT="2">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1611915316586" HGAP="93" ID="ID_1248959265" MODIFIED="1611915456388" TEXT="DisplayEvaluation - Anbindung" VSHIFT="5">
|
||||
<arrowlink COLOR="#884baa" DESTINATION="ID_1488484275" ENDARROW="Default" ENDINCLINATION="-838;79;" ID="Arrow_ID_1236233773" STARTARROW="None" STARTINCLINATION="459;7;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1611915316586" HGAP="94" ID="ID_1248959265" MODIFIED="1612031249722" TEXT="DisplayEvaluation - Anbindung" VSHIFT="-5">
|
||||
<arrowlink COLOR="#5c849c" DESTINATION="ID_1488484275" ENDARROW="Default" ENDINCLINATION="-838;79;" ID="Arrow_ID_1236233773" STARTARROW="None" STARTINCLINATION="612;56;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1611914423505" ID="ID_498480986" MODIFIED="1611914441536" TEXT="Clip-Widget integrieren">
|
||||
|
|
@ -28588,7 +28609,7 @@
|
|||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1611479345795" HGAP="94" ID="ID_915417374" MODIFIED="1611479560862" STYLE="bubble" TEXT="an der richtigen Stelle zur Anzeige bringen" VSHIFT="-7">
|
||||
<node COLOR="#435e98" CREATED="1611479345795" HGAP="94" ID="ID_915417374" MODIFIED="1612031266360" STYLE="bubble" TEXT="an der richtigen Stelle zur Anzeige bringen" VSHIFT="-7">
|
||||
<edge COLOR="#fad1c1"/>
|
||||
<icon BUILTIN="full-3"/>
|
||||
</node>
|
||||
|
|
@ -28809,16 +28830,16 @@
|
|||
<arrowlink COLOR="#787099" DESTINATION="ID_1434222749" ENDARROW="Default" ENDINCLINATION="217;624;" ID="Arrow_ID_933310315" STARTARROW="None" STARTINCLINATION="264;15;"/>
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1611788045499" ID="ID_38758894" MODIFIED="1611788070030" TEXT="Problem: Layout initial noch nicht berechnet">
|
||||
<node COLOR="#435e98" CREATED="1611788045499" ID="ID_38758894" MODIFIED="1612031322771" TEXT="Problem: Layout initial noch nicht berechnet">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node CREATED="1611788291010" ID="ID_301451653" MODIFIED="1611788307310" TEXT="wenn der ClipPresenter-Ctor läuft..."/>
|
||||
<node CREATED="1611788308544" ID="ID_1059196785" MODIFIED="1611788327179" TEXT="und das CanvasHooked<ClipWidget> erzeugt"/>
|
||||
<node CREATED="1611788328205" ID="ID_278674516" MODIFIED="1611788361528" TEXT="sind aber die Koordinaten-Offsets noch nicht bekannt">
|
||||
<icon BUILTIN="broken-line"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1611788373594" ID="ID_1798941398" MODIFIED="1611788451690" TEXT="Anpassung nach Layout-Bestimmung notwendig">
|
||||
<arrowlink COLOR="#f5837c" DESTINATION="ID_1848866838" ENDARROW="Default" ENDINCLINATION="-842;72;" ID="Arrow_ID_1370580747" STARTARROW="None" STARTINCLINATION="1148;66;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1611788373594" ID="ID_1798941398" MODIFIED="1612031319833" TEXT="Anpassung nach Layout-Bestimmung notwendig">
|
||||
<arrowlink COLOR="#6bce9f" DESTINATION="ID_1848866838" ENDARROW="Default" ENDINCLINATION="-842;72;" ID="Arrow_ID_1370580747" STARTARROW="None" STARTINCLINATION="1148;66;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -28827,9 +28848,9 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1584932756457" HGAP="142" ID="ID_726635217" MODIFIED="1584932886403" TEXT="Einhängen, wenn möglich" VSHIFT="-7">
|
||||
<node COLOR="#338800" CREATED="1584932756457" HGAP="142" ID="ID_726635217" MODIFIED="1612031332118" TEXT="Einhängen, wenn möglich" VSHIFT="-7">
|
||||
<arrowlink COLOR="#6fa9d7" DESTINATION="ID_1492285349" ENDARROW="Default" ENDINCLINATION="-156;14;" ID="Arrow_ID_819317359" STARTARROW="None" STARTINCLINATION="170;10;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1584932910051" HGAP="63" ID="ID_1737560927" MODIFIED="1584932955050" TEXT="Zustands-Wechsel-Logik" VSHIFT="16">
|
||||
<arrowlink COLOR="#4768d0" DESTINATION="ID_1833569495" ENDARROW="Default" ENDINCLINATION="943;-75;" ID="Arrow_ID_416244548" STARTARROW="None" STARTINCLINATION="207;23;"/>
|
||||
<node CREATED="1612028128117" HGAP="71" ID="ID_631122092" MODIFIED="1612028188306" TEXT="Konvention: Time::NEVER ⟹ Clip bleibt verborgen" VSHIFT="-15">
|
||||
|
|
@ -29454,7 +29475,7 @@
|
|||
<icon BUILTIN="info"/>
|
||||
<node CREATED="1612028439450" ID="ID_1104410954" MODIFIED="1612028458261" TEXT="die Entscheidungslogik wird in der generischen ClipDelegate-Implementierung untergebracht"/>
|
||||
<node CREATED="1612028459191" ID="ID_1113891567" MODIFIED="1612028476585" TEXT="auf absehbare Zeit ist diese Logik recht einfach"/>
|
||||
<node CREATED="1612028487004" ID="ID_619535893" MODIFIED="1612029020769" TEXT="spezielle Konvention: start == Time::NEVER ⟹ Appearance::PENDING">
|
||||
<node COLOR="#435e98" CREATED="1612028487004" ID="ID_619535893" MODIFIED="1612030600973" TEXT="spezielle Konvention: start == Time::NEVER ⟹ Appearance::PENDING">
|
||||
<linktarget COLOR="#4663c4" DESTINATION="ID_619535893" ENDARROW="Default" ENDINCLINATION="-1983;81;" ID="Arrow_ID_309098301" SOURCE="ID_592528621" STARTARROW="None" STARTINCLINATION="631;32;"/>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -29547,8 +29568,8 @@
|
|||
<icon BUILTIN="ksmiletris"/>
|
||||
</node>
|
||||
<node CREATED="1611539454282" ID="ID_1159321207" MODIFIED="1611539483874" TEXT="Data-Storage: erst mal lauter lokale Datenfelder"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1611479299338" ID="ID_1803753965" MODIFIED="1611479325824" TEXT="damit die erste lauffähige Clip-Widget-Implementierung">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1611479299338" ID="ID_1803753965" MODIFIED="1612030625987" TEXT="damit die erste lauffähige Clip-Widget-Implementierung">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1611492890873" ID="ID_458756808" MODIFIED="1611492956892" TEXT="sollte in der seit 4/20 existierenden Implementierung bereits funktionieren">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
|
@ -29565,9 +29586,9 @@
|
|||
<node COLOR="#338800" CREATED="1611494845768" ID="ID_591566495" MODIFIED="1611540171140" TEXT="erst mal vorläufig die Datenfelder anlegen ⟹ kann vertikale Ausdehnung berechnen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1611527884423" ID="ID_1232626344" MODIFIED="1611533938726" TEXT="Ergebnis der DisplayEvaluation ≙ lokales Maximum → TrackBody::contentHeight_ ">
|
||||
<arrowlink COLOR="#43447b" DESTINATION="ID_1530876056" ENDARROW="Default" ENDINCLINATION="802;689;" ID="Arrow_ID_471691943" STARTARROW="None" STARTINCLINATION="655;24;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1611527884423" ID="ID_1232626344" MODIFIED="1612030654011" TEXT="Ergebnis der DisplayEvaluation ≙ lokales Maximum → TrackBody::contentHeight_ ">
|
||||
<arrowlink COLOR="#3b4b73" DESTINATION="ID_1530876056" ENDARROW="Default" ENDINCLINATION="802;689;" ID="Arrow_ID_471691943" STARTARROW="None" STARTINCLINATION="691;24;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -31322,7 +31343,7 @@
|
|||
<node CREATED="1541545653978" ID="ID_1534432315" MODIFIED="1557498707234" TEXT="UI-Element - Identität">
|
||||
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1541545674669" ID="ID_1585676322" MODIFIED="1557498707234" TEXT="UI-Elemente sind global eindeutig">
|
||||
<arrowlink COLOR="#7894b4" DESTINATION="ID_189279804" ENDARROW="Default" ENDINCLINATION="272;-358;" ID="Arrow_ID_540125984" STARTARROW="None" STARTINCLINATION="-618;10;"/>
|
||||
<linktarget COLOR="#6b83a8" DESTINATION="ID_1585676322" ENDARROW="Default" ENDINCLINATION="738;0;" ID="Arrow_ID_174361092" SOURCE="ID_1706134856" STARTARROW="None" STARTINCLINATION="1067;-74;"/>
|
||||
<linktarget COLOR="#6b83a8" DESTINATION="ID_1585676322" ENDARROW="Default" ENDINCLINATION="604;0;" ID="Arrow_ID_174361092" SOURCE="ID_1706134856" STARTARROW="None" STARTINCLINATION="1067;-74;"/>
|
||||
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
|
|
|
|||
Loading…
Reference in a new issue