From 765d124fff10276595256af3a798996ec53d8f39 Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Fri, 3 Apr 2020 19:44:46 +0200 Subject: [PATCH] Clip: draft the decision logic for the clip presentation mode --- src/stage/model/canvas-hook.hpp | 1 + src/stage/timeline/clip-presenter.cpp | 1 + src/stage/timeline/clip-presenter.hpp | 9 +- src/stage/timeline/clip-widget.cpp | 142 +++++++++++++++++++++++++- src/stage/timeline/clip-widget.hpp | 33 ++++-- wiki/thinkPad.ichthyo.mm | 108 +++++++++++++++++--- 6 files changed, 263 insertions(+), 31 deletions(-) diff --git a/src/stage/model/canvas-hook.hpp b/src/stage/model/canvas-hook.hpp index 6a12ebdf5..e13edb31e 100644 --- a/src/stage/model/canvas-hook.hpp +++ b/src/stage/model/canvas-hook.hpp @@ -155,6 +155,7 @@ namespace model { using Hooked = ViewHooked; using Canvas = CanvasHook; + protected: Canvas& getCanvas() { diff --git a/src/stage/timeline/clip-presenter.cpp b/src/stage/timeline/clip-presenter.cpp index d144c1b7a..9d25d0f51 100644 --- a/src/stage/timeline/clip-presenter.cpp +++ b/src/stage/timeline/clip-presenter.cpp @@ -159,6 +159,7 @@ namespace timeline { target->buildMutator (buff); return true; })) + //-Diff-Change-Listener---------------- .onLocalChange ([this]() { this->resetAppearanceStyle(); diff --git a/src/stage/timeline/clip-presenter.hpp b/src/stage/timeline/clip-presenter.hpp index fb1dcc568..a2546641c 100644 --- a/src/stage/timeline/clip-presenter.hpp +++ b/src/stage/timeline/clip-presenter.hpp @@ -88,13 +88,14 @@ namespace timeline { unique_ptr widget_; - /** default level of detail presentation desired for each clip. - * @note the actual appearance style is chosen based on this setting - * yet limited by the additional information necessary to establish - * a given level; e.g. name or content renderer must be available + /** default maximum level of detail presentation desired for each clip. + * @note the actual appearance style is chosen based on this setting, yet + * limited by the additional information necessary to establish a + * given level; e.g. name and content renderer must be available * to allow for a detailed rendering of the clip in the timeline. */ static const ClipDelegate::Appearance defaultAppearance = ClipDelegate::COMPACT; + public: ClipPresenter (ID, ctrl::BusTerm&, WidgetHook&, optional