Timeline: determine remaining work to wrap-up
Intention is to shift focus of development work down towards Player and Scheduler soon. However, since the timeline display saw substantial improvement it seems prudent to finish work on some open ends, notably - the track head structure - the drawing and styling code While content rendering for Clip widgets can safely be postponed, regarding the TrackHeadWidget, where custom drawing is planned to display a structural outline of the nested scopes, some ground work should be completed to make those plannings explicit.
This commit is contained in:
parent
37543024fd
commit
70b8b86182
4 changed files with 268 additions and 20 deletions
73
src/stage/timeline/stave-bracket-widget.cpp
Normal file
73
src/stage/timeline/stave-bracket-widget.cpp
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
/*
|
||||
StaveBracketWidget - track body area to show overview and timecode and markers
|
||||
|
||||
Copyright (C) Lumiera.org
|
||||
2023, Hermann Vosseler <Ichthyostega@web.de>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
* *****************************************************/
|
||||
|
||||
|
||||
/** @file stave-bracket-widget.cpp
|
||||
** Implementation of drawing code to indicate the structure of nested tracks
|
||||
** in the header area of the Timleline UI.
|
||||
**
|
||||
** @todo WIP-WIP-WIP as of 2/2023
|
||||
**
|
||||
*/
|
||||
|
||||
|
||||
#include "stage/timeline/stave-bracket-widget.hpp"
|
||||
//#include "stage/style-scheme.hpp" /////////////////////TODO needed?
|
||||
//#include "lib/util.hpp"
|
||||
|
||||
//#include <algorithm>
|
||||
//#include <vector>
|
||||
|
||||
|
||||
|
||||
//using util::_Fmt;
|
||||
//using util::isnil;
|
||||
//using util::contains;
|
||||
//using Gtk::Widget;
|
||||
//using sigc::mem_fun;
|
||||
//using sigc::ptr_fun;
|
||||
//using std::cout;
|
||||
//using std::endl;
|
||||
|
||||
|
||||
namespace stage {
|
||||
namespace timeline {
|
||||
|
||||
namespace {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
StaveBracketWidget::StaveBracketWidget ()
|
||||
: DrawingArea{}
|
||||
{ }
|
||||
|
||||
|
||||
StaveBracketWidget::~StaveBracketWidget() { }
|
||||
|
||||
|
||||
/** */
|
||||
|
||||
|
||||
|
||||
}}// namespace stage::timeline
|
||||
78
src/stage/timeline/stave-bracket-widget.hpp
Normal file
78
src/stage/timeline/stave-bracket-widget.hpp
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
/*
|
||||
STAVE-BRACKET-WIDGET.hpp - draw connector to indicate nested track structure
|
||||
|
||||
Copyright (C) Lumiera.org
|
||||
2023, Hermann Vosseler <Ichthyostega@web.de>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
/** @file stave-bracket-widget.hpp
|
||||
** Widget to group tracks visually in the Timeline presentation.
|
||||
** The TrackHeadWidget is structured according to the nested structure of tracks
|
||||
** in the Fork, using nested widgets to represent sub-tracks; in the grid's first column
|
||||
** a graphical structure is rendered to indicate the nesting and connectivity of tracks.
|
||||
** While based on few rather simple visual primitives, this structure need to adapt to
|
||||
** the actual space allocation and positioning of sub-tracks in the layout; technicalities
|
||||
** of actual drawing this structure is abstracted into this custom widget — allowing the
|
||||
** track head to indicate the necessary layout constraints generic and recursively.
|
||||
**
|
||||
** @todo WIP-WIP-WIP as of 2/2023
|
||||
**
|
||||
*/
|
||||
|
||||
|
||||
#ifndef STAGE_TIMELINE_STAVE_BRACKET_WIDGET_H
|
||||
#define STAGE_TIMELINE_STAVE_BRACKET_WIDGET_H
|
||||
|
||||
#include "stage/gtk-base.hpp"
|
||||
//#include "stage/model/controller.hpp"
|
||||
|
||||
//#include "lib/util.hpp"
|
||||
|
||||
//#include <memory>
|
||||
//#include <vector>
|
||||
|
||||
|
||||
|
||||
namespace stage {
|
||||
namespace timeline {
|
||||
|
||||
// class TrackPresenter;
|
||||
|
||||
|
||||
/**
|
||||
* Helper widget to handle display of the structure of track nesting in the timeline
|
||||
* header pane. For each TrackHeadWidget, the connected cells in the first grid column
|
||||
* are populated with this component, indicating connectivity and layout constraints.
|
||||
* The actual drawing is based on Cairo, and implemented in the virtual draw() function.
|
||||
*/
|
||||
class StaveBracketWidget
|
||||
: public Gtk::DrawingArea
|
||||
{
|
||||
public:
|
||||
~StaveBracketWidget();
|
||||
|
||||
StaveBracketWidget ();
|
||||
|
||||
private:/* ===== Internals ===== */
|
||||
|
||||
};
|
||||
|
||||
|
||||
}}// namespace stage::timeline
|
||||
#endif /*STAGE_TIMELINE_STAVE_BRACKET_WIDGET_H*/
|
||||
|
|
@ -50,6 +50,7 @@
|
|||
#include "stage/ctrl/bus-term.hpp"
|
||||
#include "stage/model/view-hook.hpp"
|
||||
#include "stage/widget/element-box-widget.hpp"
|
||||
#include "stage/timeline/stave-bracket-widget.hpp"
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -21167,9 +21167,9 @@
|
|||
<icon BUILTIN="ksmiletris"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1666452411624" ID="ID_998825618" MODIFIED="1666452531958" TEXT="Display-Metrik im TimelineLayout verankern">
|
||||
<arrowlink COLOR="#6e5293" DESTINATION="ID_1827001710" ENDARROW="Default" ENDINCLINATION="873;-869;" ID="Arrow_ID_892468806" STARTARROW="None" STARTINCLINATION="-1738;113;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1666452411624" ID="ID_998825618" MODIFIED="1675897301157" TEXT="Display-Metrik im TimelineLayout verankern">
|
||||
<arrowlink COLOR="#525d93" DESTINATION="ID_1827001710" ENDARROW="Default" ENDINCLINATION="873;-869;" ID="Arrow_ID_892468806" STARTARROW="None" STARTINCLINATION="-1738;113;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1666367210627" ID="ID_922603771" MODIFIED="1666367245412" TEXT="Umstellung erfolgreich">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
|
|
@ -24677,7 +24677,7 @@
|
|||
<node COLOR="#338800" CREATED="1672706823302" ID="ID_445391760" MODIFIED="1672707119233" TEXT="changeNotification-Functor verdrahten">
|
||||
<linktarget COLOR="#34a5a4" DESTINATION="ID_445391760" ENDARROW="Default" ENDINCLINATION="108;96;" ID="Arrow_ID_1879633887" SOURCE="ID_394283688" STARTARROW="None" STARTINCLINATION="515;22;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1672706833208" ID="ID_1727841525" MODIFIED="1672706850875" TEXT="kann man direkt mit dem Signal initialisieren?">
|
||||
<node COLOR="#435e98" CREATED="1672706833208" ID="ID_1727841525" MODIFIED="1675897056715" TEXT="kann man direkt mit dem Signal initialisieren?">
|
||||
<icon BUILTIN="help"/>
|
||||
<node CREATED="1672706877415" ID="ID_1791069589" MODIFIED="1672706882814" TEXT="signalStructureChange_"/>
|
||||
<node CREATED="1672706902644" ID="ID_429923017" MODIFIED="1672706904037" TEXT="using SignalStructureChange = sigc::signal<void>;"/>
|
||||
|
|
@ -27835,20 +27835,22 @@
|
|||
</node>
|
||||
<node CREATED="1540683803329" ID="ID_290204038" MODIFIED="1557498707227" TEXT="rekursive Struktur">
|
||||
<icon BUILTIN="forward"/>
|
||||
<node CREATED="1540683824278" ID="ID_1473337838" MODIFIED="1557498707227" TEXT="ein Grid mit 4 Feldern">
|
||||
<node CREATED="1540683824278" ID="ID_1473337838" MODIFIED="1675897700431" TEXT="ein Grid anfangs 3 Zeilen">
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
<node CREATED="1540683889813" ID="ID_1511067098" MODIFIED="1557498707227" TEXT="2.Quadrant == Placement-Symbol">
|
||||
<node CREATED="1540683889813" ID="ID_1511067098" MODIFIED="1675897738578" TEXT="1Zeile (komplett) : Placement-Menü+Label">
|
||||
<node CREATED="1541095855984" ID="ID_1032237384" MODIFIED="1557498707227" TEXT="verwendet ElementBoxWidget">
|
||||
<arrowlink COLOR="#f6cca4" DESTINATION="ID_368245484" ENDARROW="Default" ENDINCLINATION="-599;39;" ID="Arrow_ID_1199047781" STARTARROW="None" STARTINCLINATION="-698;-271;"/>
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1540683900716" ID="ID_212914080" MODIFIED="1557498707227" TEXT="1.Quadrant == Controls"/>
|
||||
<node CREATED="1540683916490" ID="ID_191999039" MODIFIED="1557498707227" TEXT="3.Quadrant : leer (Fork)"/>
|
||||
<node CREATED="1540683829267" ID="ID_828415712" MODIFIED="1557498707227" TEXT="in 4.Quadrant kommt">
|
||||
<node CREATED="1540683879103" ID="ID_96481889" MODIFIED="1563469343918" TEXT="eine nested HeaderPane"/>
|
||||
<node CREATED="1540683900716" ID="ID_212914080" MODIFIED="1675897808377" TEXT="Zelle 2 | Spalte 2 : Controls"/>
|
||||
<node CREATED="1540683829267" ID="ID_828415712" MODIFIED="1675897854794" TEXT="Zeile 3++">
|
||||
<node CREATED="1675897911895" ID="ID_1127109872" MODIFIED="1675897937960" TEXT="leer auf Blatt-Ebene des Baumes"/>
|
||||
<node CREATED="1540683879103" ID="ID_96481889" MODIFIED="1675897894389" TEXT="Sub-Track ⟹ eine nested HeaderPane"/>
|
||||
<node CREATED="1675897858886" ID="ID_728481021" MODIFIED="1675897869225" TEXT="weitere Zeilen für jeden weiteren Kind-Track"/>
|
||||
</node>
|
||||
<node CREATED="1540683916490" ID="ID_191999039" MODIFIED="1675897842188" TEXT="linke Spalte : Fork-Struktur zeichnen"/>
|
||||
<node CREATED="1563469351023" ID="ID_805950777" MODIFIED="1563469358660" TEXT="weitere Zeilen nach Bedarf....">
|
||||
<node CREATED="1563469368703" ID="ID_856512794" MODIFIED="1563469385040" TEXT="jeder weitere Sub-Track hängt eine Zeile an"/>
|
||||
<node CREATED="1563469415896" ID="ID_307382994" MODIFIED="1563469442614">
|
||||
|
|
@ -27922,9 +27924,9 @@
|
|||
</node>
|
||||
</node>
|
||||
<node CREATED="1563469593872" HGAP="84" ID="ID_1533093205" MODIFIED="1563469604196" TEXT="sub-Navigation" VSHIFT="1">
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1674161525129" ID="ID_1762683235" MODIFIED="1674163468109" TEXT="Grid-Zelle für die Placement-Controls vorsehen">
|
||||
<linktarget COLOR="#b1493c" DESTINATION="ID_1762683235" ENDARROW="Default" ENDINCLINATION="624;37;" ID="Arrow_ID_1560223761" SOURCE="ID_1332292119" STARTARROW="None" STARTINCLINATION="129;-6;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1674161525129" ID="ID_1762683235" MODIFIED="1675897471975" TEXT="Grid-Zelle für die Placement-Controls vorsehen">
|
||||
<linktarget COLOR="#463cb1" DESTINATION="ID_1762683235" ENDARROW="Default" ENDINCLINATION="624;37;" ID="Arrow_ID_1560223761" SOURCE="ID_1332292119" STARTARROW="None" STARTINCLINATION="129;-6;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#435e98" CREATED="1674170380401" HGAP="36" ID="ID_600466568" MODIFIED="1674170473951" TEXT="sollte dann doch besser in eine eigene Zeile" VSHIFT="-3">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
|
@ -27942,7 +27944,35 @@
|
|||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1563469608318" ID="ID_174979019" MODIFIED="1563469619520" TEXT="zusätzliche sub-Tracks resultieren in zusätzlichen Zeilen">
|
||||
<node COLOR="#338800" CREATED="1675898002475" ID="ID_1561724587" MODIFIED="1675898068906" TEXT="verikalte Pos der sub-Tracks koordinieren">
|
||||
<linktarget COLOR="#6493a2" DESTINATION="ID_1561724587" ENDARROW="Default" ENDINCLINATION="7;82;" ID="Arrow_ID_1646540229" SOURCE="ID_478580800" STARTARROW="None" STARTINCLINATION="-16;-50;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#435e98" CREATED="1675898071801" ID="ID_813971014" MODIFIED="1675898089191" TEXT="steuern per zusätzlicher Leerzeile unter den Placement-Controls">
|
||||
<icon BUILTIN="idea"/>
|
||||
<node CREATED="1675898099757" ID="ID_1841035930" MODIFIED="1675898623818" TEXT="Konsequenz: Placement-Controls expandieren nie über Content-Höhe">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head></head>
|
||||
<body>
|
||||
<p>
|
||||
�� das ist <i>kein Fehler...</i><br>Da sie zuerst eingefügt
|
||||
werden, und ohne vexpand() niemals zusätzlichen Platz aufgreifen, wird
|
||||
das Grid insgesamt nur so hoch wie minimal nötig, und jedwedes
|
||||
Alignment-Setting auf der Zelle mit den Placement-Controls bleibt
|
||||
wirkungslos; anschließend wird die zusätzliche Zeile eingefügt und
|
||||
aufgespreitzt, um den Kind-Navigationsbereich auf den Level des ersten
|
||||
Kind-tracks runter zu drücken
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1675898226900" ID="ID_1938543250" MODIFIED="1675898245198" TEXT="Pufferplatzt wird immer darunter einngebracht"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1675898265975" ID="ID_1633915372" LINK="#ID_1129757567" MODIFIED="1675898508287" TEXT="integriert in 2.Phase der DisplayEvaluation">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1563469608318" ID="ID_174979019" MODIFIED="1675897507574" TEXT="zusätzliche sub-Tracks resultieren in zusätzlichen Zeilen">
|
||||
<icon BUILTIN="yes"/>
|
||||
<node COLOR="#338800" CREATED="1563469770472" ID="ID_1252550324" MODIFIED="1674170526467" TEXT="einfügen gemäß Zahl der Kind-Tracks">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1674170489677" ID="ID_1683231262" MODIFIED="1674170519062" TEXT="ab Zeile 2">
|
||||
|
|
@ -27964,10 +27994,69 @@
|
|||
<linktarget COLOR="#f6e1c2" DESTINATION="ID_530086217" ENDARROW="Default" ENDINCLINATION="-366;30;" ID="Arrow_ID_694017211" SOURCE="ID_1463490313" STARTARROW="None" STARTINCLINATION="-2163;252;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1563469700651" ID="ID_478580800" MODIFIED="1674513411592" TEXT="auf die richtige Höhe zielen">
|
||||
<arrowlink COLOR="#6493a2" DESTINATION="ID_1561724587" ENDARROW="Default" ENDINCLINATION="7;82;" ID="Arrow_ID_1646540229" STARTARROW="None" STARTINCLINATION="-16;-50;"/>
|
||||
<linktarget COLOR="#5ba7d5" DESTINATION="ID_478580800" ENDARROW="Default" ENDINCLINATION="358;-30;" ID="Arrow_ID_776518349" SOURCE="ID_904031404" STARTARROW="None" STARTINCLINATION="-77;131;"/>
|
||||
<linktarget COLOR="#5a7c92" DESTINATION="ID_478580800" ENDARROW="Default" ENDINCLINATION="451;41;" ID="Arrow_ID_513449931" SOURCE="ID_1311832889" STARTARROW="None" STARTINCLINATION="481;-27;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1675898638485" ID="ID_164545383" MODIFIED="1675898669530" TEXT="Strukturdiagramm rendern">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node CREATED="1675898729441" ID="ID_1183614893" MODIFIED="1675898736887" TEXT="verwende direkt eine DrawingArea">
|
||||
<node COLOR="#435e98" CREATED="1675898738064" ID="ID_736159731" LINK="https://developer-old.gnome.org/gtkmm-tutorial/stable/chapter-drawingarea.html.en" MODIFIED="1675898751929" TEXT="Tutorial">
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1675901157415" ID="ID_1671076758" MODIFIED="1675902471695" TEXT="aber als Komponente abstrahiert">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node CREATED="1675901877549" ID="ID_1912760164" MODIFIED="1675902223113" TEXT="Name: StaveBracket">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
In Anspielung auf
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
eine Leiter
|
||||
</li>
|
||||
<li>
|
||||
ein Notensystem (stave)
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
<sup>(*)</sup> <i>stave</i> ist zwar selterner und ausgeprägt Brittisch, <i>staff</i>  wäre geläufiger. Aber <i>staff</i> versteht man heutzutage als Personal, wohingegen <i>stave</i> auch die Leitersprosse sein könnte (BE und AE)
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1675902281219" ID="ID_562499167" MODIFIED="1675902293521" TEXT="Zweck: Ausprägungen abstrahieren">
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1675902368504" ID="ID_239257634" MODIFIED="1675902380758" TEXT="ggfs expanded/collapsed">
|
||||
<icon BUILTIN="hourglass"/>
|
||||
</node>
|
||||
<node CREATED="1675902382537" ID="ID_861207485" MODIFIED="1675902467097" TEXT="Anknüpfung für Sub-Tracks"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1675902513027" ID="ID_1162268597" MODIFIED="1675902517275" TEXT="Implementierung">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1675902520928" ID="ID_468397914" MODIFIED="1675902527974" TEXT="Basisfunktionalität">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1675902529503" ID="ID_544667587" MODIFIED="1675902534696" TEXT="draw()-Funktion">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1675902536517" ID="ID_827367364" MODIFIED="1675902552151" TEXT="Anpassung an Allocation">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1675902610612" ID="ID_1308174165" MODIFIED="1675902619939" TEXT="Struktur-Schema">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1675902621506" ID="ID_916814047" MODIFIED="1675902629703" TEXT="Anknüpfungen">
|
||||
<icon BUILTIN="hourglass"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1563469735149" ID="ID_704791408" MODIFIED="1563469741153" TEXT="Selection-State zeigen">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
|
|
@ -29390,7 +29479,7 @@
|
|||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1674163294922" FOLDED="true" ID="ID_1332292119" LINK="#ID_1650195806" MODIFIED="1674254403617" TEXT="Probleme mit der vertikalen Koordination bei nested Tracks">
|
||||
<arrowlink COLOR="#b1493c" DESTINATION="ID_1762683235" ENDARROW="Default" ENDINCLINATION="624;37;" ID="Arrow_ID_1560223761" STARTARROW="None" STARTINCLINATION="129;-6;"/>
|
||||
<arrowlink COLOR="#463cb1" DESTINATION="ID_1762683235" ENDARROW="Default" ENDINCLINATION="624;37;" ID="Arrow_ID_1560223761" STARTARROW="None" STARTINCLINATION="129;-6;"/>
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node COLOR="#435e98" CREATED="1674174926441" FOLDED="true" ID="ID_896721694" MODIFIED="1674254493101" TEXT="Zweifel an der berechneten Höhe">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
|
|
@ -34525,10 +34614,10 @@
|
|||
</body>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="idea"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1666451523988" HGAP="57" ID="ID_244578537" MODIFIED="1666452387137" TEXT="Implementierung: liegt im TimelineLayout (opaque)" VSHIFT="-8">
|
||||
<node COLOR="#338800" CREATED="1666451523988" HGAP="57" ID="ID_244578537" MODIFIED="1675897253036" TEXT="Implementierung: liegt im TimelineLayout (opaque)" VSHIFT="-8">
|
||||
<arrowlink COLOR="#4c3c64" DESTINATION="ID_1202075896" ENDARROW="Default" ENDINCLINATION="-1351;104;" ID="Arrow_ID_1210722108" STARTARROW="None" STARTINCLINATION="-74;-277;"/>
|
||||
<linktarget COLOR="#644d8a" DESTINATION="ID_244578537" ENDARROW="Default" ENDINCLINATION="-220;12;" ID="Arrow_ID_7428365" SOURCE="ID_1827001710" STARTARROW="None" STARTINCLINATION="55;-63;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node CREATED="1672679706488" HGAP="34" ID="ID_824353880" MODIFIED="1672679719594" TEXT="Anforderungen" VSHIFT="1">
|
||||
<icon BUILTIN="info"/>
|
||||
|
|
@ -34866,10 +34955,17 @@
|
|||
</html></richcontent>
|
||||
<arrowlink COLOR="#406d5c" DESTINATION="ID_368245484" ENDARROW="Default" ENDINCLINATION="-469;652;" ID="Arrow_ID_264431308" STARTARROW="None" STARTINCLINATION="-1674;133;"/>
|
||||
<linktarget COLOR="#2082a9" DESTINATION="ID_485594461" ENDARROW="Default" ENDINCLINATION="872;71;" ID="Arrow_ID_1204090343" SOURCE="ID_474563596" STARTARROW="None" STARTINCLINATION="2306;92;"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1666452299624" HGAP="49" ID="ID_1827001710" MODIFIED="1666452531958" TEXT="Zeit → Pixel Übersetzung" VSHIFT="-13">
|
||||
<node COLOR="#338800" CREATED="1666452299624" HGAP="49" ID="ID_1827001710" MODIFIED="1675897244770" TEXT="Zeit → Pixel Übersetzung" VSHIFT="-13">
|
||||
<arrowlink COLOR="#644d8a" DESTINATION="ID_244578537" ENDARROW="Default" ENDINCLINATION="-220;12;" ID="Arrow_ID_7428365" STARTARROW="None" STARTINCLINATION="55;-63;"/>
|
||||
<linktarget COLOR="#6e5293" DESTINATION="ID_1827001710" ENDARROW="Default" ENDINCLINATION="873;-869;" ID="Arrow_ID_892468806" SOURCE="ID_998825618" STARTARROW="None" STARTINCLINATION="-1738;113;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<linktarget COLOR="#525d93" DESTINATION="ID_1827001710" ENDARROW="Default" ENDINCLINATION="873;-869;" ID="Arrow_ID_892468806" SOURCE="ID_998825618" STARTARROW="None" STARTINCLINATION="-1738;113;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1675896850015" ID="ID_145894801" MODIFIED="1675896902499" TEXT="indirekt per Interface CanvasHook"/>
|
||||
<node CREATED="1675896935547" ID="ID_1938738483" MODIFIED="1675897220295" TEXT="CanvasHook::getMetric()">
|
||||
<icon BUILTIN="info"/>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1675896996419" ID="ID_1311118876" LINK="#ID_412094029" MODIFIED="1675897215015" TEXT="implementierung delegiert an ZoomWindow">
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1611539501493" HGAP="38" ID="ID_1849626018" MODIFIED="1665962611640" TEXT="TODO: Überlegungen zur Daten-Storage" VSHIFT="18">
|
||||
|
|
|
|||
Loading…
Reference in a new issue