Timeline: remove diagnostic code (closes: #1211)
Layout calculation and balancing between body and track header now works reasonably well, labels are placed properly and the calculated layout remains stable when changing window size, connected panes and scrollbars behave as expected now. Quite a feat!
This commit is contained in:
parent
e0e0192938
commit
25be54ecbe
17 changed files with 140 additions and 226 deletions
|
|
@ -57,7 +57,6 @@
|
|||
#include "lib/util.hpp"
|
||||
|
||||
#include <utility>
|
||||
#include <string>///////////////TODO
|
||||
|
||||
|
||||
namespace stage {
|
||||
|
|
@ -67,7 +66,6 @@ namespace model {
|
|||
using lib::time::Offset;
|
||||
using lib::time::TimeValue;
|
||||
using lib::time::TimeSpan;
|
||||
using std::string; //////////////////////////TODO
|
||||
|
||||
|
||||
|
||||
|
|
@ -101,9 +99,6 @@ namespace model {
|
|||
* @return resulting TimeValue when applying the offset within current metric
|
||||
*/
|
||||
virtual TimeValue applyScreenDelta(Time anchor, double deltaPx) const =0;
|
||||
//////////////////////////////////////////////////////////////TODO
|
||||
virtual string tranZ(TimeValue staTiPoi) const =0;
|
||||
//////////////////////////////////////////////////////////////TODO
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -51,8 +51,6 @@
|
|||
#include "lib/meta/trait.hpp"
|
||||
#include "stage/model/canvas-hook.hpp"
|
||||
#include "stage/model/zoom-window.hpp"
|
||||
#include "lib/format-obj.hpp"////////////////////////////TODO
|
||||
#include "lib/format-string.hpp"/////////////////////////TODO
|
||||
|
||||
|
||||
|
||||
|
|
@ -94,17 +92,6 @@ namespace model {
|
|||
return zoomWindow_.overallSpan();
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////TODO
|
||||
string tranZ(TimeValue staTiPoi) const override
|
||||
{
|
||||
auto sta = zoomWindow_.overallSpan().start();
|
||||
Offset offi{sta, staTiPoi};
|
||||
Rat mulli = zoomWindow_.px_per_sec() * _FSecs(offi);
|
||||
int64_t casti = rational_cast<int64_t> (mulli);
|
||||
static util::_Fmt formi{"Offset(%d, %d) = %d ⟼ px = %s ⟼ %s"};
|
||||
return formi % _raw(sta) % _raw(staTiPoi) % _raw(offi) % util::toString(mulli) % casti;
|
||||
}
|
||||
//////////////////////////////////////////////////////////////TODO
|
||||
int
|
||||
translateTimeToPixels (TimeValue startTimePoint) const override
|
||||
{
|
||||
|
|
|
|||
|
|
@ -531,7 +531,6 @@ namespace timeline {
|
|||
contentArea_.get_allocated_size(allo,basi);
|
||||
int alloW = allo.get_width();
|
||||
auto hadj = contentArea_.get_hadjustment();
|
||||
cout<<"|?| win::width="<<widthForDebug<<"("<<alloW<<") hadj="<<hadj->get_value()<<"/"<<hadj->get_upper()<<endl;
|
||||
widthForDebug = util::max (widthForDebug - 100, 100); ////////////////////////////////////////TODO: visual debugging
|
||||
return uint(widthForDebug);
|
||||
}
|
||||
|
|
@ -539,7 +538,6 @@ cout<<"|?| win::width="<<widthForDebug<<"("<<alloW<<") hadj="<<hadj->get_value()
|
|||
BodyCanvasWidget::on_size_allocate(Gtk::Allocation& allocation)
|
||||
{
|
||||
int alloW = allocation.get_width();
|
||||
cout<<"|V| alloc::width="<<alloW<<endl;
|
||||
Gtk::Box::on_size_allocate (allocation);
|
||||
}
|
||||
|
||||
|
|
@ -569,7 +567,6 @@ cout<<"|V| alloc::width="<<alloW<<endl;
|
|||
}
|
||||
};
|
||||
|
||||
cout<<"|!| adjustCanvasSize("<<canvasWidth<<", "<<rulerHeight<<"+"<<contentHeight<<")"<<endl;/////////////TODO
|
||||
adjust (rulerCanvas_, canvasWidth, rulerHeight);
|
||||
adjust (mainCanvas_, canvasWidth, contentHeight);
|
||||
}
|
||||
|
|
@ -696,7 +693,6 @@ cout<<"|!| adjustCanvasSize("<<canvasWidth<<", "<<rulerHeight<<"+"<<contentHeigh
|
|||
|
||||
cox->save();
|
||||
cox->translate(-offH, -offV);
|
||||
cout<<"|.| trans->"<<adjH->get_lower()<<"·"<<offH<<"·"<<adjH->get_upper()<<"("<<adjH->get_page_size()<<"±"<<adjH->get_page_increment()<<")"<<endl;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -79,10 +79,6 @@
|
|||
#include "stage/timeline/display-evaluation.hpp"
|
||||
#include "stage/model/canvas-hook.hpp"
|
||||
|
||||
//#include "lib/util.hpp"
|
||||
|
||||
//#include <memory>
|
||||
//#include <vector>
|
||||
#include <functional>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -94,27 +94,17 @@
|
|||
#include "stage/timeline/clip-widget.hpp"
|
||||
#include "stage/widget/element-box-widget.hpp"
|
||||
|
||||
//#include "stage/ui-bus.hpp"
|
||||
#include "lib/format-string.hpp"
|
||||
#include "lib/format-cout.hpp" ///////////////////TODO debugging
|
||||
|
||||
#include "lib/util.hpp"
|
||||
|
||||
//#include <algorithm>
|
||||
//#include <vector>
|
||||
#include <utility>
|
||||
|
||||
|
||||
|
||||
using util::_Fmt;
|
||||
//using util::contains;
|
||||
//using Gtk::Widget;
|
||||
//using sigc::mem_fun;
|
||||
//using sigc::ptr_fun;
|
||||
using lib::time::TimeVar;
|
||||
using util::unConst;
|
||||
//using std::cout;
|
||||
//using std::endl;
|
||||
using std::optional;
|
||||
|
||||
|
||||
|
|
@ -305,7 +295,7 @@ namespace timeline {
|
|||
updatePosition() override
|
||||
{
|
||||
WidgetHook::Pos nominalPos = establishHookPoint(nullptr);
|
||||
this->moveTo (nominalPos.x, nominalPos.y);
|
||||
this->moveTo (nominalPos.x, nominalPos.y); /////////////////////////TICKET #1267 : sometimes fails to cause re-draw (especially when dragging) but position calculated correctly
|
||||
establishHorizontalExtension();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,24 +32,8 @@
|
|||
#include "stage/gtk-base.hpp"
|
||||
#include "stage/timeline/display-evaluation.hpp"
|
||||
|
||||
//#include "gui/ui-bus.hpp"
|
||||
//#include "lib/format-string.hpp"
|
||||
//#include "lib/format-cout.hpp"
|
||||
|
||||
#include "lib/util.hpp"
|
||||
|
||||
//#include <algorithm>
|
||||
//#include <vector>
|
||||
|
||||
|
||||
|
||||
//using util::_Fmt;
|
||||
//using util::contains;
|
||||
//using Gtk::Widget;
|
||||
//using sigc::mem_fun;
|
||||
//using sigc::ptr_fun;
|
||||
//using std::cout;
|
||||
//using std::endl;
|
||||
using util::isnil;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -85,7 +85,6 @@
|
|||
#include "stage/model/view-hook.hpp"
|
||||
#include "stage/model/canvas-hook.hpp"
|
||||
#include "lib/util.hpp"
|
||||
#include "lib/format-cout.hpp"///////////////////////TODO: 4debug
|
||||
|
||||
#include <sigc++/signal.h>
|
||||
|
||||
|
|
@ -99,7 +98,6 @@ namespace timeline {
|
|||
using lib::time::TimeValue;
|
||||
class TrackHeadWidget;
|
||||
class TrackBody;
|
||||
using std::string;///////////////////////////////TODO
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -183,24 +181,9 @@ namespace timeline {
|
|||
PixSpan
|
||||
getPixSpan()
|
||||
{
|
||||
//////////////////////////////////////////////////////////////////////////////TODO: DUMP debug
|
||||
auto covfefe1 = coveredTime();
|
||||
auto start = covfefe1.start();
|
||||
auto tranS = translateTimeToPixels(start);
|
||||
auto covfefe2 = coveredTime();
|
||||
auto end = covfefe2.end();
|
||||
auto tranE = translateTimeToPixels(end);
|
||||
|
||||
string buggi = tranZ(end);
|
||||
|
||||
cout<<"|↯| "<<buggi<<" ...pxSpan cov1={"<<_raw(start)<<","<<_raw(end)<<"}⟼("<<tranS<<","<<tranE<<")"<<endl;
|
||||
return {tranS
|
||||
,tranE
|
||||
};
|
||||
//////////////////////////////////////////////////////////////////////////////TODO: DUMP debug
|
||||
// return {translateTimeToPixels (coveredTime().start())
|
||||
// ,translateTimeToPixels (coveredTime().end())
|
||||
// };
|
||||
return {translateTimeToPixels (coveredTime().start())
|
||||
,translateTimeToPixels (coveredTime().end())
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -110,10 +110,6 @@ namespace timeline {
|
|||
{
|
||||
this->fork_->attachElementBox();
|
||||
}
|
||||
if (mark.idi.getSym() == "manip" && this->fork_)
|
||||
{
|
||||
this->fork_->manipulateBox();
|
||||
}
|
||||
else // forward to default handler
|
||||
model::Controller::doMark (mark);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,29 +37,11 @@
|
|||
#include "stage/timeline/timeline-layout.hpp"
|
||||
#include "stage/timeline/track-body.hpp"
|
||||
|
||||
//#include "stage/ui-bus.hpp"
|
||||
//#include "lib/format-string.hpp"
|
||||
#include "lib/format-cout.hpp"///////////////////////////TODO
|
||||
|
||||
#include "common/advice.hpp"
|
||||
//#include "lib/util.hpp"
|
||||
#include "lib/time/timevalue.hpp"
|
||||
|
||||
//#include <algorithm>
|
||||
//#include <vector>
|
||||
|
||||
|
||||
|
||||
//using util::_Fmt;
|
||||
//using util::contains;
|
||||
//using Gtk::Widget;
|
||||
//using sigc::mem_fun;
|
||||
//using sigc::ptr_fun;
|
||||
//using std::cout;
|
||||
//using std::endl;
|
||||
using lib::time::Time;
|
||||
using lib::time::FSecs;
|
||||
//using lib::time::Duration;
|
||||
using lib::time::TimeSpan;
|
||||
|
||||
|
||||
|
|
@ -152,7 +134,6 @@ namespace timeline {
|
|||
{
|
||||
Time windowStart = zoomWindow_.visible().start();
|
||||
int pxOffset = translateTimeToPixels (windowStart);
|
||||
cout<<"|↯| establishLayout time="<<windowStart<<" ->offset="<<pxOffset<<endl;
|
||||
bodyCanvas_.get_hadjustment()->set_value(pxOffset);
|
||||
}
|
||||
|
||||
|
|
@ -176,7 +157,6 @@ cout<<"|↯| establishLayout time="<<windowStart<<" ->offset="<<pxOffset<<endl;
|
|||
{
|
||||
double pos = hadj->get_value();
|
||||
TimeValue windowStart = applyScreenDelta(zoomWindow_.overallSpan().start(), pos);
|
||||
cout<<"|!| zoom-scroll pos="<<pos<<" start="<<windowStart<<" zoomWin="<<zoomWindow_.visible()<<endl;
|
||||
zoomWindow_.setVisibleStart (windowStart);
|
||||
}
|
||||
|
||||
|
|
@ -189,14 +169,9 @@ cout<<"|!| zoom-scroll pos="<<pos<<" start="<<windowStart<<" zoomWin="<<zoomWind
|
|||
TimelineLayout::sizeZoomWindow (Gtk::Allocation& alloc)
|
||||
{
|
||||
int contentWidthPx = alloc.get_width();
|
||||
cout<<"|V| sigAlloc width="<<contentWidthPx<<endl;
|
||||
contentWidthPx = util::max (contentWidthPx - 100, 100); ////////////////////////////////////////TODO: visual debugging
|
||||
if (abs(contentWidthPx) != zoomWindow_.pxWidth())
|
||||
{////////////////////////////////////////////////////////////////TODO
|
||||
cout<<"|!| zoom-calibrateExtension("<<zoomWindow_.pxWidth()<<" ⟶ "<<contentWidthPx<<")"<<endl;
|
||||
zoomWindow_.calibrateExtension (contentWidthPx);
|
||||
cout<<"|=| zoom-calibrateExtension(canvas"<<zoomWindow_.overallSpan()<<" window="<<zoomWindow_.visible()<<" scale="<<zoomWindow_.px_per_sec()<<")"<<endl;
|
||||
}////////////////////////////////////////////////////////////////TODO
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -36,26 +36,10 @@
|
|||
#include "stage/timeline/track-body.hpp"
|
||||
#include "stage/timeline/track-profile.hpp"
|
||||
|
||||
//#include "stage/ui-bus.hpp"
|
||||
//#include "lib/format-string.hpp"
|
||||
#include "lib/format-cout.hpp"/////////////////////TODO debugging output
|
||||
|
||||
#include "lib/util.hpp"
|
||||
|
||||
//#include <algorithm>
|
||||
//#include <vector>
|
||||
|
||||
|
||||
|
||||
//using util::_Fmt;
|
||||
using util::isnil;
|
||||
using util::min;
|
||||
//using util::contains;
|
||||
//using Gtk::Widget;
|
||||
//using sigc::mem_fun;
|
||||
//using sigc::ptr_fun;
|
||||
//using std::cout;
|
||||
//using std::endl;
|
||||
|
||||
|
||||
namespace stage {
|
||||
|
|
@ -133,10 +117,7 @@ namespace timeline {
|
|||
TrackBody::accommodateContentHeight(uint contentExtension)
|
||||
{
|
||||
if (contentExtension > contentHeight_)
|
||||
{//////////////////////////////////////////////////////TODO
|
||||
cout<<"|+| contentHeight("<<contentHeight_<<" ⟶ "<<contentExtension<<" this(body)="<<this<<")"<<endl;
|
||||
contentHeight_ = contentExtension;
|
||||
}//////////////////////////////////////////////////////TODO
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -296,7 +277,6 @@ namespace timeline {
|
|||
profile.append_coda (TIMELINE_BOTTOM_PADDING_px);
|
||||
}
|
||||
|
||||
cout<<"|*| establishTrackSpace(content="<<contentHeight_<<" res="<<line<<" this(body)="<<this<<")"<<endl;
|
||||
return line;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,6 @@
|
|||
#include "stage/timeline/ruler-track.hpp"
|
||||
#include "stage/timeline/display-manager.hpp"
|
||||
|
||||
//#include "lib/util.hpp"
|
||||
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
|
@ -117,7 +116,6 @@ namespace timeline {
|
|||
void setTrackName (cuString&);
|
||||
uint establishTrackSpace (TrackProfile&);
|
||||
void accommodateContentHeight(uint contentExtension);
|
||||
uint DEBUGconH() const { return contentHeight_;}////////////////////////////////////TODO
|
||||
|
||||
/** @note relative to local canvas coordinates (body canvas */
|
||||
uint getContentOffsetY() const { return startLine_ + contentOffset_; }
|
||||
|
|
@ -146,7 +144,7 @@ uint DEBUGconH() const { return contentHeight_;}////////////////////////////////
|
|||
* @note Ruler entries can be added and removed by diff message, but since
|
||||
* the UI is performed single threaded, these mutations never interfere
|
||||
* with display evaluation passes.
|
||||
*/
|
||||
*/
|
||||
Rulers&
|
||||
bindRulers()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -48,8 +48,6 @@
|
|||
#include "stage/gtk-base.hpp"
|
||||
#include "stage/timeline/track-head-widget.hpp"
|
||||
|
||||
#include "lib/format-cout.hpp"/////////////////////////////TODO 4dump
|
||||
|
||||
#include "lib/util.hpp"
|
||||
|
||||
using util::max;
|
||||
|
|
@ -122,14 +120,7 @@ namespace timeline {
|
|||
{
|
||||
uint heightSum{0};
|
||||
for (uint line=1; line <= 2u + childCnt_; ++line)
|
||||
{/////////////////////////////////////////////TODO
|
||||
int h1 = getHeightAt (0,line);
|
||||
int h2 = getHeightAt (1,line);
|
||||
////////////////////////////////////////////////////TODO
|
||||
cout<<"|o| cH(line="<<line<<") += ("<<h1<<","<<h2<<")"<<endl;
|
||||
////////////////////////////////////////////////////TODO
|
||||
heightSum += getHeightAt (1,line);
|
||||
}/////////////////////////////////////////////TODO
|
||||
heightSum = max (heightSum, getExpansionHeight());
|
||||
return heightSum + getLabelHeight();
|
||||
}
|
||||
|
|
@ -137,16 +128,9 @@ cout<<"|o| cH(line="<<line<<") += ("<<h1<<","<<h2<<")"<<endl;
|
|||
void
|
||||
TrackHeadWidget::enforceHeightAt(int left, int top, uint height)
|
||||
{
|
||||
uint hvor = getOverallHeight();
|
||||
uint h = getHeightAt (left,top);
|
||||
int reqW, reqH, reqHn;
|
||||
auto* cell = this->get_child_at(left,top);
|
||||
REQUIRE (cell);
|
||||
cell->get_size_request (reqW, reqH);
|
||||
cell->set_size_request (-1, height);
|
||||
uint hnach = getOverallHeight();
|
||||
cell->get_size_request (reqW, reqHn);
|
||||
cout<<"|+| Head:inc ("<<left<<","<<top<<") h="<<h<<" ⟶ "<<height<<" vor:"<<hvor<<" nach:"<<hnach<<" (c:"<<reqH<<"⟶"<<reqHn<<")"<<endl;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
|
|
@ -50,10 +50,6 @@
|
|||
#include "stage/ctrl/bus-term.hpp"
|
||||
#include "stage/model/view-hook.hpp"
|
||||
|
||||
//#include "lib/util.hpp"
|
||||
|
||||
//#include <memory>
|
||||
//#include <vector>
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -108,15 +108,9 @@
|
|||
#include "lib/time/timevalue.hpp"
|
||||
#include "lib/iter-tree-explorer.hpp"
|
||||
#include "lib/util-coll.hpp"
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1201 : test/code... remove this
|
||||
#include "lib/format-cout.hpp"
|
||||
#include "lib/test/test-helper.hpp"
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1201 : test/code... remove this
|
||||
|
||||
#include "lib/nocopy.hpp"
|
||||
//#include "lib/util.hpp"
|
||||
|
||||
//#include <memory>
|
||||
#include <optional>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
|
@ -297,7 +291,6 @@ namespace timeline {
|
|||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1201 : test/code... remove this
|
||||
void injectDebugTrackLabels();
|
||||
void attachElementBox();
|
||||
void manipulateBox();
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1201 : test/code... remove this
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1201 : test/code... remove this
|
||||
uString TODO_trackName_;
|
||||
|
|
@ -359,14 +352,6 @@ namespace timeline {
|
|||
})
|
||||
});
|
||||
}
|
||||
inline void
|
||||
TrackPresenter::manipulateBox()
|
||||
{
|
||||
if (not theBox_) return;
|
||||
string rands = lib::test::randStr(rand() % 40);
|
||||
cout << _Fmt{"maniRandS(%d):%s"} % rands.length() % rands <<endl;
|
||||
theBox_->setName (rands);
|
||||
}
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1201 : test/code... remove this
|
||||
/**
|
||||
* @note we distinguish between the contents of our four nested child collections
|
||||
|
|
@ -467,14 +452,9 @@ namespace timeline {
|
|||
{
|
||||
return clip->determineRequiredVerticalExtension();
|
||||
}));
|
||||
auto headH = head_.getContentHeight();/////////////////////////////////////////////////////////////////////TODO
|
||||
auto bodyH = maxVSize;
|
||||
maxVSize = max (maxVSize, headH);
|
||||
maxVSize = max (maxVSize, head_.getContentHeight());
|
||||
this->body_.accommodateContentHeight (maxVSize);
|
||||
this->head_.accommodateContentHeight (maxVSize);
|
||||
auto headN = head_.getContentHeight();
|
||||
auto bodyN = body_.DEBUGconH();
|
||||
cout<<"|*| establishExtension(clipH="<<bodyH<<" headH="<<headH<<" max="<<maxVSize<<" hN="<<headN<<" bN="<<bodyN<<" this(track)="<<this<<")"<<endl;
|
||||
}
|
||||
|
||||
/** second pass of the DisplayEvaluation:
|
||||
|
|
@ -511,18 +491,10 @@ cout<<"|*| establishExtension(clipH="<<bodyH<<" headH="<<headH<<" max="<<maxVSiz
|
|||
inline void
|
||||
DisplayFrame::sync_and_balance (DisplayEvaluation&)
|
||||
{
|
||||
uint headSize = head_.getOverallHeight();
|
||||
uint bodySize = body_.calcHeight();
|
||||
uint directH = body_.calcContentHeight();
|
||||
//if (bodySize > headSize)
|
||||
//{//////////////////////////////////////////////////////TODO
|
||||
uint hcV = head_.getContentHeight();
|
||||
head_.syncSubtrackStartHeight (directH);
|
||||
head_.accommodateOverallHeight (bodySize);
|
||||
uint hN = head_.getOverallHeight();
|
||||
uint hcN = head_.getContentHeight();
|
||||
cout<<"|+| syncBal: head="<<headSize<<" body="<<bodySize<<"(dir:"<<directH<<") Δ="<<int(bodySize)-int(headSize)<<" hN="<<hN<<"(c:"<<hcV<<"⟶"<<hcN<<")"<<endl;
|
||||
//}//////////////////////////////////////////////////////TODO
|
||||
uint contentHeight = body_.calcContentHeight();
|
||||
uint overallHeight = contentHeight + body_.calcSubtrackHeight();
|
||||
head_.syncSubtrackStartHeight (contentHeight);
|
||||
head_.accommodateOverallHeight (overallHeight);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -54,18 +54,8 @@
|
|||
#include "stage/widget/element-box-widget.hpp"
|
||||
#include "stage/style-scheme.hpp"
|
||||
|
||||
//#include "lib/format-string.hpp" //////////////////TODO debugging
|
||||
#include "lib/format-cout.hpp" //////////////////////TODO debugging
|
||||
|
||||
#include "lib/util.hpp"
|
||||
|
||||
//#include <algorithm>
|
||||
//#include <vector>
|
||||
|
||||
|
||||
|
||||
//using util::contains;
|
||||
//using Gtk::Widget;
|
||||
|
||||
|
||||
namespace stage {
|
||||
|
|
|
|||
|
|
@ -218,13 +218,13 @@ namespace session {
|
|||
, mut (forkRoot)
|
||||
, ins (rootTrackName)
|
||||
, ins (track1)
|
||||
/* , ins (track2)
|
||||
, ins (track2)
|
||||
, ins (timeRuler)
|
||||
, ins (scopeRuler0)
|
||||
*/ , mut (track1)
|
||||
, mut (track1)
|
||||
, ins (makeName(track1))
|
||||
, emu (track1)
|
||||
/* , mut (track2)
|
||||
, mut (track2)
|
||||
, ins (makeName(track2))
|
||||
, ins (track21)
|
||||
, ins (track22)
|
||||
|
|
@ -246,7 +246,7 @@ namespace session {
|
|||
, emu (track222)
|
||||
, emu (track22)
|
||||
, emu (track2)
|
||||
*/ , emu (forkRoot)
|
||||
, emu (forkRoot)
|
||||
, emu (timeline)
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26369,16 +26369,34 @@
|
|||
</html></richcontent>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1612742429043" ID="ID_1739285791" MODIFIED="1612742461497" TEXT="die scroll-Höhe / Canvas-Höhe stimmt nicht">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1612742429043" ID="ID_1739285791" MODIFIED="1674603322918" TEXT="die scroll-Höhe / Canvas-Höhe stimmt nicht">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1612742467558" ID="ID_929888474" MODIFIED="1612742484264" TEXT="und zwar fehlt genau die zusätzliche Höhe der schließenden Slope"/>
|
||||
<node CREATED="1612742484972" ID="ID_1291566735" MODIFIED="1612742498974" TEXT="nachdem man aber das Fenster einmal resized hat, stimmt es wieder"/>
|
||||
<node CREATED="1674603256346" ID="ID_1331516814" MODIFIED="1674603318681" TEXT="Problem behoben: für das ZoomWindow eine exakte Layout-Berechnung implementiert">
|
||||
<arrowlink DESTINATION="ID_328296925" ENDARROW="Default" ENDINCLINATION="116;0;" ID="Arrow_ID_819469158" STARTARROW="None" STARTINCLINATION="116;0;"/>
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1612742527238" ID="ID_1543056669" MODIFIED="1612742537453" TEXT="die Header-Starts rutschen minimal nach oben">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
<node COLOR="#990000" CREATED="1612742527238" ID="ID_1543056669" MODIFIED="1674603224715" TEXT="die Header-Starts rutschen minimal nach oben">
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
<node CREATED="1612742538724" ID="ID_1839437599" MODIFIED="1612742544871" TEXT="ein off-by-one?"/>
|
||||
<node CREATED="1612742545690" ID="ID_1735908408" MODIFIED="1612742563442" TEXT="sieht so aus, als würden uns pro Zeile nur wenige Pixel fehlen"/>
|
||||
<node CREATED="1612742574675" ID="ID_20715943" MODIFIED="1612742616893" TEXT="d.h. der TrackBody ist minimal Größer, als die Höhe, die wir als Delta anwenden"/>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1674603031791" ID="ID_328296925" LINK="#ID_1742313131" MODIFIED="1674603318681" TEXT="Nein: da war die Layout-Implementierung noch ziemlich „daneben“">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...was bisher nur nicht aufgefallen war, weil die Display-Evaluation nur einmal lief;<br />Nachdem ich das ZoomWindow integriert hatte, zeigten sich diverse Defekte / run-away-Effekte, die erst beoben waren, nachdem ich die Layout-Berechnung im TrackHeadWidget komplett überarbeitet und systematisch ausgestaltet hatte
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<linktarget COLOR="#a9b4c1" DESTINATION="ID_328296925" ENDARROW="Default" ENDINCLINATION="116;0;" ID="Arrow_ID_819469158" SOURCE="ID_1331516814" STARTARROW="None" STARTINCLINATION="116;0;"/>
|
||||
<icon BUILTIN="stop-sign"/>
|
||||
</node>
|
||||
</node>
|
||||
<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"/>
|
||||
|
|
@ -26396,6 +26414,54 @@
|
|||
<icon BUILTIN="button_cancel"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1674603379625" ID="ID_22375243" MODIFIED="1674603406628">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
Clip-Drag reagiert manchmal nicht <i>»live«</i>
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="broken-line"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1674606870062" ID="ID_1744725566" MODIFIED="1674606880174" TEXT="#1267 sometimes failure to re-draw">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
<node CREATED="1674603515247" ID="ID_145015079" MODIFIED="1674603519913" TEXT="Beobachtung...">
|
||||
<node CREATED="1674603521102" ID="ID_1576327891" MODIFIED="1674603531711" TEXT="Track-Pane-Splitter nach rechts bewegen"/>
|
||||
<node CREATED="1674603535772" ID="ID_1899820582" MODIFIED="1674603556532" TEXT="manchmal erfolgt dann kein Update / re-Draw beim Dragging"/>
|
||||
<node CREATED="1674603557497" ID="ID_1941260000" MODIFIED="1674603679778" TEXT="die Position wird aber korrekt berechnet und gesetzt">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
nachweislich...
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
die (x,y)-Koordinaten des Clip werden sinnvoll und korrekt aktualisiert
|
||||
</li>
|
||||
<li>
|
||||
der Aufruf geht durch bis auf das Gtk::Layout
|
||||
</li>
|
||||
<li>
|
||||
nach einer Invalidierung des ganzen Fensters springt der Clip plötzlich an die neue Position
|
||||
</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1674603568776" ID="ID_1618676622" MODIFIED="1674603583681" TEXT="nach einem focus-loss / focus-gain funktioniert's wieder"/>
|
||||
<node CREATED="1674603584654" ID="ID_585485863" MODIFIED="1674603597876" TEXT="auch nach einem Verschieben des Pane-Splitters nach links"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#c7346a" CREATED="1674603681741" ID="ID_900437621" MODIFIED="1674603716830" TEXT="konnte kein Merkmal identifizieren, an dem sich das Fehlverhalten festmachen läßt">
|
||||
<icon BUILTIN="hourglass"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -28091,16 +28157,20 @@
|
|||
<node CREATED="1555198484257" ID="ID_447173098" MODIFIED="1557498707228" TEXT="Problem: Aufteilung">
|
||||
<arrowlink DESTINATION="ID_577805455" ENDARROW="Default" ENDINCLINATION="146;-10;" ID="Arrow_ID_228489961" STARTARROW="Default" STARTINCLINATION="110;0;"/>
|
||||
<node CREATED="1555198495266" ID="ID_118142711" MODIFIED="1557498707228" TEXT="was kommt in den (immer sichtbaren) oberen Teil?"/>
|
||||
<node CREATED="1555198558887" ID="ID_1718337163" MODIFIED="1560442514142" TEXT="Beide Canvas-Instanzen verwenden das gleiche Koordinatensystem">
|
||||
<node CREATED="1555198558887" ID="ID_1718337163" MODIFIED="1674596977895" TEXT="Beide Canvas-Instanzen verwenden das gleiche Koordinatensystem">
|
||||
<arrowlink DESTINATION="ID_1220970686" ENDARROW="Default" ENDINCLINATION="-532;0;" ID="Arrow_ID_1730442283" STARTARROW="None" STARTINCLINATION="377;0;"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1563143974534" HGAP="122" ID="ID_130702763" MODIFIED="1576974756059" TEXT="TODO: wirklich?" VSHIFT="-39">
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
<node COLOR="#990000" CREATED="1563143974534" HGAP="122" ID="ID_130702763" MODIFIED="1674596984363" TEXT="wirklich?" VSHIFT="-39">
|
||||
<linktarget COLOR="#744479" DESTINATION="ID_130702763" ENDARROW="Default" ENDINCLINATION="687;939;" ID="Arrow_ID_32276313" SOURCE="ID_43945835" STARTARROW="Default" STARTINCLINATION="199;-719;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<icon BUILTIN="stop-sign"/>
|
||||
<node CREATED="1563143996702" ID="ID_1893904282" MODIFIED="1563144019155" TEXT="im Momment (7/2019) verwende ich eine laufende (pixel)-Zeile"/>
|
||||
<node CREATED="1563144020688" ID="ID_1371868080" MODIFIED="1563144028227" TEXT="die startet jeweils bei 0"/>
|
||||
<node CREATED="1563144029219" ID="ID_738243832" MODIFIED="1563144048228" TEXT="und wird für jedes Struktur-Element mit dem Offset beaufschlagt"/>
|
||||
<node CREATED="1563144049378" ID="ID_1567458686" MODIFIED="1563144067157" TEXT="Konsequenz: jeder Canvas hat seine eigenen Koordinaten"/>
|
||||
<node CREATED="1674596957963" ID="ID_1673725434" MODIFIED="1674596971193" TEXT="dieser Ansatz hat sich bewährt">
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1555198633466" ID="ID_780787053" MODIFIED="1560442064470" TEXT="Auf Interpretieren des Struktur-Profils zurückgeführt">
|
||||
|
|
@ -29137,31 +29207,41 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1560442383281" ID="ID_1448105245" MODIFIED="1575580703174" TEXT="Festlegen der vertikalen Ausdehnung der Teil-Widgets">
|
||||
<node COLOR="#338800" CREATED="1560442383281" ID="ID_1448105245" MODIFIED="1674596924446" TEXT="Festlegen der vertikalen Ausdehnung der Teil-Widgets">
|
||||
<arrowlink COLOR="#235691" DESTINATION="ID_585934033" ENDARROW="Default" ENDINCLINATION="-259;-8;" ID="Arrow_ID_975721855" STARTARROW="Default" STARTINCLINATION="168;-53;"/>
|
||||
<linktarget COLOR="#5f57ba" DESTINATION="ID_1448105245" ENDARROW="Default" ENDINCLINATION="-1587;-35;" ID="Arrow_ID_532403594" SOURCE="ID_1989047133" STARTARROW="None" STARTINCLINATION="1293;134;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1565281879855" ID="ID_386162681" MODIFIED="1565281891302" TEXT="Aufgabe: steuern">
|
||||
<icon BUILTIN="flag-pink"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1565281895004" ID="ID_1758019036" MODIFIED="1582931167056" TEXT="was ist der Trigger-Punkt?">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#435e98" CREATED="1565281879855" ID="ID_386162681" MODIFIED="1674596532559" TEXT="Aufgabe: steuern">
|
||||
<icon BUILTIN="yes"/>
|
||||
<node COLOR="#435e98" CREATED="1565281895004" ID="ID_1758019036" MODIFIED="1674596912874" TEXT="was ist der Trigger-Punkt?">
|
||||
<arrowlink COLOR="#7b45d8" DESTINATION="ID_1896159832" ENDARROW="Default" ENDINCLINATION="-839;66;" ID="Arrow_ID_786196853" STARTARROW="None" STARTINCLINATION="667;67;"/>
|
||||
<icon BUILTIN="help"/>
|
||||
<node CREATED="1674596555914" HGAP="39" ID="ID_878229637" MODIFIED="1674596749453" TEXT="signalStructureChange" VSHIFT="7">
|
||||
<icon BUILTIN="info"/>
|
||||
<node CREATED="1674596569943" ID="ID_151950407" MODIFIED="1674596795349" TEXT="�� im DisplayManager (ABC) angesiedelt"/>
|
||||
<node CREATED="1674596578990" ID="ID_1742690246" MODIFIED="1674596812667" TEXT="⟿ direkt auch mit Change-Detector im ZoomWindow verdrahtet"/>
|
||||
<node CREATED="1674596753359" ID="ID_828853736" MODIFIED="1674596787193" TEXT="⟼ BodyCanvasWidget::slotStructureChange"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1565281921697" ID="ID_459498695" MODIFIED="1565281934580" TEXT="wo wird ggfs diese Info gespeichert?">
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1565281921697" ID="ID_459498695" MODIFIED="1674596912874" TEXT="wo wird ggfs diese Info gespeichert?">
|
||||
<icon BUILTIN="help"/>
|
||||
<node CREATED="1674596821200" ID="ID_1373193265" MODIFIED="1674596840198" TEXT="durch Leeren des TrackProfile im BodyCanvasWidget"/>
|
||||
<node CREATED="1674596842899" ID="ID_1305988233" MODIFIED="1674596856843" TEXT="ist damit idempotent und auch re-entrant"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1565281938372" ID="ID_1188639528" MODIFIED="1565281966407" TEXT="wo/wann wird sie auf die zwei Canvas-Widgets übertragen?">
|
||||
<node COLOR="#435e98" CREATED="1565281938372" ID="ID_1188639528" MODIFIED="1674596912875" TEXT="wo/wann wird sie auf die zwei Canvas-Widgets übertragen?">
|
||||
<icon BUILTIN="help"/>
|
||||
<node CREATED="1674596865952" ID="ID_451984562" MODIFIED="1674596874746" TEXT="erst in dem Moment, wo tatsächlich gezeichnet wird"/>
|
||||
<node CREATED="1674596876759" ID="ID_358515715" MODIFIED="1674596909486" TEXT="im Getter steckt der Aufruf der eigentlichen Neuberechnung"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1611486660157" ID="ID_142948287" MODIFIED="1611486692832" TEXT="...und tatsächlich berechnen">
|
||||
<arrowlink COLOR="#ea7967" DESTINATION="ID_1623890878" ENDARROW="Default" ENDINCLINATION="24;-87;" ID="Arrow_ID_809556626" STARTARROW="None" STARTINCLINATION="119;11;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1611486660157" ID="ID_142948287" MODIFIED="1674596527387" TEXT="...und tatsächlich berechnen">
|
||||
<arrowlink COLOR="#67b4ea" DESTINATION="ID_1623890878" ENDARROW="Default" ENDINCLINATION="24;-87;" ID="Arrow_ID_809556626" STARTARROW="None" STARTINCLINATION="138;12;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1560608579463" ID="ID_900869986" MODIFIED="1565282667873" TEXT="Layout etablieren">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1560608579463" ID="ID_900869986" MODIFIED="1674597032097" TEXT="Layout etablieren">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1565282669252" ID="ID_1077695296" MODIFIED="1565282697164" TEXT="horizontal zu zeichnende Spanne">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node CREATED="1672843594185" ID="ID_1806332659" MODIFIED="1672843600804" TEXT="Ausdehnung des Canvas">
|
||||
|
|
@ -29180,8 +29260,8 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1565282697992" ID="ID_1761874542" MODIFIED="1565282702979" TEXT="vertikal belegter Raum">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1565282697992" ID="ID_1761874542" MODIFIED="1674597012758" TEXT="vertikal belegter Raum">
|
||||
<icon BUILTIN="hourglass"/>
|
||||
<node COLOR="#338800" CREATED="1565283074170" ID="ID_1990551085" MODIFIED="1566407001705" TEXT="Trigger/Berechnungsfunktion">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
|
|
@ -29203,17 +29283,18 @@
|
|||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1582931260542" ID="ID_43972117" MODIFIED="1674513272422" TEXT="Thema: Koordinieren zwischen Header und Body">
|
||||
<linktarget COLOR="#689ba2" DESTINATION="ID_43972117" ENDARROW="Default" ENDINCLINATION="198;928;" ID="Arrow_ID_1080676559" SOURCE="ID_1842930323" STARTARROW="None" STARTINCLINATION="-1589;-3311;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#338800" CREATED="1582931486072" ID="ID_1623890878" MODIFIED="1674513437165" TEXT="Ausdehnung der Tracks">
|
||||
<arrowlink COLOR="#fe5b57" DESTINATION="ID_1920766923" ENDARROW="Default" ENDINCLINATION="595;0;" ID="Arrow_ID_1362710635" STARTARROW="Default" STARTINCLINATION="529;0;"/>
|
||||
<linktarget COLOR="#ea7967" DESTINATION="ID_1623890878" ENDARROW="Default" ENDINCLINATION="24;-87;" ID="Arrow_ID_809556626" SOURCE="ID_142948287" STARTARROW="None" STARTINCLINATION="119;11;"/>
|
||||
<linktarget COLOR="#67b4ea" DESTINATION="ID_1623890878" ENDARROW="Default" ENDINCLINATION="24;-87;" ID="Arrow_ID_809556626" SOURCE="ID_142948287" STARTARROW="None" STARTINCLINATION="138;12;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1674161380587" ID="ID_1311832889" MODIFIED="1674513429084" TEXT="Platz für Placement-Controlls sinnvoll anordnen">
|
||||
<arrowlink COLOR="#5a7c92" DESTINATION="ID_478580800" ENDARROW="Default" ENDINCLINATION="451;41;" ID="Arrow_ID_513449931" STARTARROW="None" STARTINCLINATION="481;-27;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1674163294922" ID="ID_1332292119" LINK="#ID_1650195806" MODIFIED="1674254403617" TEXT="Probleme mit der vertikalen Koordination bei nested Tracks">
|
||||
<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;"/>
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node COLOR="#435e98" CREATED="1674174926441" FOLDED="true" ID="ID_896721694" MODIFIED="1674254493101" TEXT="Zweifel an der berechneten Höhe">
|
||||
|
|
@ -29343,7 +29424,7 @@
|
|||
<node COLOR="#435e98" CREATED="1674172577081" ID="ID_902379987" MODIFIED="1674347889053" TEXT="Synchronisation ⟼ padding nach direct content"/>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1674347903812" ID="ID_1742313131" MODIFIED="1674513236391" TEXT="Höhenberechnung im TrackBody unvollständig">
|
||||
<node COLOR="#435e98" CREATED="1674347903812" FOLDED="true" ID="ID_1742313131" MODIFIED="1674513236391" TEXT="Höhenberechnung im TrackBody unvollständig">
|
||||
<icon BUILTIN="broken-line"/>
|
||||
<node COLOR="#435e98" CREATED="1674347924697" FOLDED="true" ID="ID_1440620020" MODIFIED="1674513373146" TEXT="Probleme">
|
||||
<icon BUILTIN="broken-line"/>
|
||||
|
|
@ -29527,11 +29608,11 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1674513248834" ID="ID_200252521" MODIFIED="1674513270937" TEXT="jetzt sieht das Resultat auf ±1px exakt aus">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1674158539561" ID="ID_1440303749" MODIFIED="1674160219745" TEXT="#1265 define expanding/collapsing of tracks">
|
||||
<linktarget COLOR="#c65e7c" DESTINATION="ID_1440303749" ENDARROW="Default" ENDINCLINATION="-1806;-99;" ID="Arrow_ID_537995229" SOURCE="ID_852402445" STARTARROW="None" STARTINCLINATION="-421;38;"/>
|
||||
<linktarget COLOR="#926b99" DESTINATION="ID_1440303749" ENDARROW="Default" ENDINCLINATION="-978;62;" ID="Arrow_ID_1979782904" SOURCE="ID_1119649795" STARTARROW="None" STARTINCLINATION="-281;21;"/>
|
||||
|
|
@ -29830,7 +29911,7 @@
|
|||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1672798667029" ID="ID_1699842831" MODIFIED="1672799054739" TEXT="Integration ZoomWindow: funktioniert nicht (mehr)">
|
||||
<node COLOR="#435e98" CREATED="1672798667029" ID="ID_1699842831" MODIFIED="1674603499873" TEXT="Integration ZoomWindow: funktioniert nicht (mehr)">
|
||||
<linktarget COLOR="#ac3f80" DESTINATION="ID_1699842831" ENDARROW="Default" ENDINCLINATION="-1384;79;" ID="Arrow_ID_927325344" SOURCE="ID_133007183" STARTARROW="None" STARTINCLINATION="-1848;-74;"/>
|
||||
<icon BUILTIN="broken-line"/>
|
||||
<node CREATED="1672798696337" ID="ID_1553490887" MODIFIED="1672798742711" TEXT="greife jetzt ScrolledWindow::get_allocated_width() ab">
|
||||
|
|
@ -29855,7 +29936,7 @@
|
|||
<node CREATED="1672798763432" ID="ID_485578749" MODIFIED="1672798787610" TEXT="horizontale Scrollbar blockt und wird nach rechts beschnitten">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
<node CREATED="1672845159233" ID="ID_914079601" MODIFIED="1672867934061" TEXT="(1) Problem ist: keine Invalidierung ⟹ keine Display-Evaluation ⟹ Wert nicht abgerufen">
|
||||
<node COLOR="#435e98" CREATED="1672845159233" ID="ID_914079601" MODIFIED="1674597085411" TEXT="(1) Problem ist: keine Invalidierung ⟹ keine Display-Evaluation ⟹ Wert nicht abgerufen">
|
||||
<icon BUILTIN="idea"/>
|
||||
<node CREATED="1672847404194" ID="ID_1941365833" MODIFIED="1672847417490" TEXT="unser Layout-Code merkt daher gar nicht, wenn sich etwas ändert"/>
|
||||
<node CREATED="1672847418472" ID="ID_411937904" MODIFIED="1672867873212" TEXT="Beobachtung mögliche Aktivierungen">
|
||||
|
|
@ -29894,7 +29975,7 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1672867905486" ID="ID_74954726" MODIFIED="1672867930798" TEXT="(2) Problem ist: Mindestgröße des Ruler-Canvas">
|
||||
<node COLOR="#435e98" CREATED="1672867905486" ID="ID_74954726" MODIFIED="1674597085411" TEXT="(2) Problem ist: Mindestgröße des Ruler-Canvas">
|
||||
<icon BUILTIN="idea"/>
|
||||
<node CREATED="1672867946048" ID="ID_303294117" MODIFIED="1672867967257" TEXT="das kommt von dem Workaround wegen Box-re-Pack"/>
|
||||
<node CREATED="1672867974932" ID="ID_1158620825" MODIFIED="1672868021465" TEXT="der Ruler-Canvas liegt nicht in einer scrolled pane und „spreizt“ deshalb">
|
||||
|
|
@ -29930,6 +30011,9 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1674603423931" ID="ID_623632021" LINK="#ID_22375243" MODIFIED="1674603474685" TEXT="Clip-Drag aktualisiert manchmal die Position nicht">
|
||||
<icon BUILTIN="broken-line"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1672872402655" ID="ID_57784666" MODIFIED="1672872407100" TEXT="dynamische Anzeige">
|
||||
<node CREATED="1672872408415" ID="ID_1423497948" MODIFIED="1672872423235" TEXT="Zoom koordinieren"/>
|
||||
|
|
@ -43942,12 +44026,12 @@
|
|||
<node CREATED="1673917765612" ID="ID_1287873753" MODIFIED="1673917780494" TEXT="Assertion daß das Ergebnis in den Wertebereich paßt"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1672969457755" ID="ID_1145571154" MODIFIED="1672969483227" TEXT="Fehler: run-away in der Höhe bei wiederholter Display-Evaluation">
|
||||
<node COLOR="#435e98" CREATED="1672969457755" ID="ID_1145571154" MODIFIED="1674598990613" TEXT="Fehler: run-away in der Höhe bei wiederholter Display-Evaluation">
|
||||
<icon BUILTIN="broken-line"/>
|
||||
<node CREATED="1672969484624" ID="ID_1370033195" MODIFIED="1672969500955" TEXT="die allozierte Content-Höhe wächst monoton">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1672969501989" ID="ID_1513242412" MODIFIED="1672969532573" TEXT="Verdacht: da nun erstmals re-Evaluationen stattfinden, wird ein Init-Fehler sichtbar">
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1672969501989" ID="ID_1513242412" MODIFIED="1674599018497" TEXT="Verdacht: da nun erstmals re-Evaluationen stattfinden, wird ein Init-Fehler sichtbar">
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node CREATED="1673020204201" ID="ID_130901033" MODIFIED="1673020213759" TEXT="Beobachtung (DUMP)">
|
||||
|
|
@ -44044,21 +44128,29 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1673320252819" ID="ID_754862223" MODIFIED="1673747131064" TEXT="bricht noch nicht den Zyklus">
|
||||
<node COLOR="#435e98" CREATED="1673320252819" ID="ID_754862223" MODIFIED="1674598984710" TEXT="bricht noch nicht den Zyklus">
|
||||
<icon BUILTIN="broken-line"/>
|
||||
<node CREATED="1673320275690" ID="ID_1903820221" MODIFIED="1673745681092" TEXT="jetzt ist der Head-content von Anfang an zu groß">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1673320299575" ID="ID_1836748064" MODIFIED="1673392645658" TEXT="aber warum stabilisiert sich dieser nicht?">
|
||||
<node COLOR="#435e98" CREATED="1673320299575" ID="ID_1836748064" MODIFIED="1674599062379" TEXT="aber warum stabilisiert sich dieser nicht?">
|
||||
<icon BUILTIN="help"/>
|
||||
<node CREATED="1673745636138" ID="ID_1839905420" MODIFIED="1673745695183" TEXT="Grund-1: weil der Head-content sich selbständig expandiert"/>
|
||||
<node CREATED="1674599035390" ID="ID_1364664491" MODIFIED="1674599060112" TEXT="Grund-2 : weil dann ein Feedback über die Body-Höhe stattfindet"/>
|
||||
</node>
|
||||
<node CREATED="1673705464388" ID="ID_1052559390" MODIFIED="1673705515338" TEXT="hilfreich ist: property_expand() = false im Content-Bereich"/>
|
||||
<node COLOR="#338800" CREATED="1673747106233" ID="ID_830917303" MODIFIED="1673747119474" TEXT="damit ist das Problem für Blatt-Tracks gelöst">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1673747138573" ID="ID_1650195806" MODIFIED="1673918693551" TEXT="aber Tracks mit Content und Kind-Tracks wachsen weiterhin">
|
||||
<icon BUILTIN="broken-line"/>
|
||||
<node COLOR="#338800" CREATED="1673747138573" ID="ID_1650195806" MODIFIED="1674598982406" TEXT="aber Tracks mit Content und Kind-Tracks wachsen weiterhin">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#338800" CREATED="1674598748501" ID="ID_1842930323" MODIFIED="1674598977652" TEXT="die Berechnung im TrackHead ist insgesamt inkonsistent">
|
||||
<arrowlink COLOR="#689ba2" DESTINATION="ID_43972117" ENDARROW="Default" ENDINCLINATION="198;928;" ID="Arrow_ID_1080676559" STARTARROW="None" STARTINCLINATION="-1589;-3311;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1674598781624" ID="ID_1267230309" MODIFIED="1674598980470" TEXT="Size-Requests werden inkrementiert anstatt sie festzusetzen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
|
|||
Loading…
Reference in a new issue