ElementBox: investigate ctor syntax possibilites
Basically we want to create ElementBoxWidgets according to a preconfigured layout scheme, yet we'll need to pass some additional qualifiers and optional features, and these need to be checked and used in accordance with the chosen flavour... Investigating a possible solution based on additional ctor parameters, which are given as "algebraic terms", and actually wrap a functor to manipulate a builder configuration record
This commit is contained in:
parent
a0fe89689c
commit
ff6234829a
4 changed files with 127 additions and 73 deletions
120
research/try.cpp
120
research/try.cpp
|
|
@ -45,13 +45,11 @@
|
|||
// 06/19 - use a statefull counting filter in a treeExplorer pipeline
|
||||
// 03/20 - investigate type deduction bug with PtrDerefIter
|
||||
// 01/21 - look for ways to detect the presence of an (possibly inherited) getID() function
|
||||
// 08/22 - techniques to supply additional feature selectors to a constructor call
|
||||
|
||||
|
||||
/** @file try.cpp
|
||||
* Verify a way to detect the presence of a specific implementation function,
|
||||
* even when it is just inherited and thus not part of the concrete class definition.
|
||||
* The trick is to _emulate the use_ of the object method in question within a `decltype( )`
|
||||
* statement, which in turn is used to build the concrete template signature.
|
||||
* Investigate techniques to supply additional descriptive ctor arguments in a type safe way.
|
||||
*/
|
||||
|
||||
typedef unsigned int uint;
|
||||
|
|
@ -60,90 +58,86 @@ typedef unsigned int uint;
|
|||
#include "lib/format-cout.hpp"
|
||||
#include "lib/test/test-helper.hpp"
|
||||
#include "lib/util.hpp"
|
||||
#include "lib/idi/entry-id.hpp"
|
||||
#include "lib/meta/duck-detector.hpp"
|
||||
|
||||
#include <utility>
|
||||
//#include <utility>
|
||||
#include <functional>
|
||||
#include <string>
|
||||
|
||||
using std::string;
|
||||
|
||||
using lib::idi::EntryID;
|
||||
using lib::idi::BareEntryID;
|
||||
using lib::meta::Yes_t;
|
||||
using lib::meta::No_t;
|
||||
|
||||
|
||||
#define SHOW_TYPE(_TY_) \
|
||||
cout << "typeof( " << STRINGIFY(_TY_) << " )= " << lib::meta::typeStr<_TY_>() <<endl;
|
||||
#define SHOW_EXPR(_XX_) \
|
||||
cout << "Probe " << STRINGIFY(_XX_) << " ? = " << _XX_ <<endl;
|
||||
|
||||
|
||||
META_DETECT_FUNCTION(BareEntryID const&, getID,(void) const);
|
||||
META_DETECT_FUNCTION_ARGLESS(getID);
|
||||
|
||||
template<typename TY>
|
||||
class Can_retrieve_and_compare_ID
|
||||
{
|
||||
template<typename X,
|
||||
typename SEL = decltype(std::declval<BareEntryID>() == std::declval<X>().getID())>
|
||||
struct Probe
|
||||
{ }; \
|
||||
\
|
||||
template<class X> \
|
||||
static Yes_t check(Probe<X> * ); \
|
||||
template<class> \
|
||||
static No_t check(...); \
|
||||
\
|
||||
public: \
|
||||
static const bool value = (sizeof(Yes_t)==sizeof(check<TY>(0))); \
|
||||
};
|
||||
|
||||
|
||||
class Base
|
||||
class Feat
|
||||
{
|
||||
EntryID<Base> idi;
|
||||
public:
|
||||
BareEntryID const&
|
||||
getID() const
|
||||
string prop_{"∅"};
|
||||
|
||||
using Manipulator = std::function<Feat(Feat)>;
|
||||
|
||||
struct Qualifier
|
||||
: Manipulator
|
||||
{
|
||||
return idi;
|
||||
using Manipulator::Manipulator;
|
||||
};
|
||||
|
||||
friend Qualifier bla();
|
||||
friend Qualifier blubb(string);
|
||||
|
||||
public:
|
||||
operator string () const
|
||||
{
|
||||
return "Feat{"+prop_+"}";
|
||||
}
|
||||
|
||||
Feat() = default;
|
||||
|
||||
template<class... QS>
|
||||
Feat(Qualifier qual, QS... qs)
|
||||
: Feat{qual(Feat{qs...})}
|
||||
{ }
|
||||
};
|
||||
|
||||
class Derived
|
||||
: public Base
|
||||
{ };
|
||||
Feat::Qualifier
|
||||
bla()
|
||||
{
|
||||
return Feat::Qualifier{[](Feat feat)
|
||||
{
|
||||
feat.prop_ = "bla";
|
||||
return feat;
|
||||
}};
|
||||
}
|
||||
|
||||
class Derailed
|
||||
{ };
|
||||
Feat::Qualifier
|
||||
blubb(string murks)
|
||||
{
|
||||
return Feat::Qualifier{[=](Feat feat)
|
||||
{
|
||||
feat.prop_ += ".blubb("+murks+")";
|
||||
return feat;
|
||||
}};
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
main (int, char**)
|
||||
{
|
||||
Base b1;
|
||||
Derived d1;
|
||||
Derailed r1;
|
||||
SHOW_EXPR( b1 );
|
||||
SHOW_EXPR( b1.getID() );
|
||||
SHOW_EXPR( HasFunSig_getID<Base>::value );
|
||||
SHOW_EXPR( HasArglessFun_getID<Base>::value );
|
||||
SHOW_EXPR( Can_retrieve_and_compare_ID<Base>::value );
|
||||
Feat f0;
|
||||
SHOW_EXPR(f0);
|
||||
|
||||
SHOW_EXPR( d1 );
|
||||
SHOW_EXPR( d1.getID() );
|
||||
SHOW_EXPR( HasFunSig_getID<Derived>::value );
|
||||
SHOW_EXPR( HasArglessFun_getID<Derived>::value );
|
||||
SHOW_EXPR( Can_retrieve_and_compare_ID<Derived>::value );
|
||||
Feat f1(bla());
|
||||
SHOW_EXPR(f1);
|
||||
|
||||
SHOW_EXPR( r1 );
|
||||
SHOW_EXPR( HasFunSig_getID<Derailed>::value );
|
||||
SHOW_EXPR( HasArglessFun_getID<Derailed>::value );
|
||||
SHOW_EXPR( Can_retrieve_and_compare_ID<Derailed>::value );
|
||||
Feat f2(blubb("Ψ"));
|
||||
SHOW_EXPR(f2);
|
||||
|
||||
// SHOW_TYPE( decltype( d1.getID() ))
|
||||
Feat f3(bla(),blubb("↯")); // Note: evaluated from right to left, bla() overwrites prop
|
||||
SHOW_EXPR(f3);
|
||||
|
||||
Feat f4(blubb("💡"), bla());
|
||||
SHOW_EXPR(f4);
|
||||
|
||||
cout << "\n.gulp.\n";
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@
|
|||
#include <utility>
|
||||
|
||||
|
||||
namespace stage {
|
||||
namespace stage {
|
||||
namespace model {
|
||||
|
||||
using lib::time::Time;
|
||||
|
|
|
|||
|
|
@ -95,13 +95,13 @@
|
|||
**
|
||||
** ## Structure of the clip representation
|
||||
** Obviously, managing all these wildly different appearance styles incurs a lot of complexity,
|
||||
** which needs to be decomposed to become manageable. Thus, we introduce several responsibilities
|
||||
** which needs to be decomposed to keep it manageable. Thus, we introduce several responsibilities
|
||||
** - the ClipPresenter is what formally corresponds to the session::Clip, i.e. in a birds
|
||||
** eyes view, it "is" the clip. However, in fact the ClipPresenter only manages the
|
||||
** desired properties and delegates the actual realisation to "some widget"
|
||||
** - and this "widget" is in fact a "PImpl", the ClipDelegate, which foremost exposes an interface
|
||||
** to adapt and control the appearance style, while the actual clip widget is only accessible
|
||||
** through the ClipDelegate interface
|
||||
** to adapt and control the appearance style, while the actual clip widget remains a private detail
|
||||
** and is only accessible through the ClipDelegate interface
|
||||
** - behind the scenes, [within the implementation](\ref clip-widget.cpp), several implementation
|
||||
** subclasses are available, to be installed and exchanged to accommodate the desired appearance
|
||||
** style. These are managed semi-automatically and hooked into the appropriate display framework
|
||||
|
|
|
|||
|
|
@ -17880,7 +17880,11 @@
|
|||
<linktarget COLOR="#844764" DESTINATION="ID_368245484" ENDARROW="Default" ENDINCLINATION="-469;652;" ID="Arrow_ID_264431308" SOURCE="ID_485594461" STARTARROW="None" STARTINCLINATION="-1673;136;"/>
|
||||
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1541095743511" ID="ID_96949358" MODIFIED="1557498707223" TEXT="#1185 ElementBoxWidget">
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1541095743511" ID="ID_96949358" MODIFIED="1661616404971" TEXT="#1185 ElementBoxWidget">
|
||||
<linktarget COLOR="#541915" DESTINATION="ID_96949358" ENDARROW="Default" ENDINCLINATION="-1458;130;" ID="Arrow_ID_1319876475" SOURCE="ID_1038790770" STARTARROW="None" STARTINCLINATION="818;-68;"/>
|
||||
<icon BUILTIN="hourglass"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1661616390134" ID="ID_416292634" MODIFIED="1661616398305" TEXT="#1219 draft framework for ElementBoxWidget">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
<node CREATED="1541087843514" ID="ID_1798999985" MODIFIED="1557498707223" TEXT="weit verbreiteter Grundbaustein">
|
||||
|
|
@ -17926,10 +17930,11 @@
|
|||
d.h. das Text-Label bekommt ggfs. eine Längenbeschränkung.
|
||||
</p>
|
||||
<p>
|
||||
Und sonst wird er Körper/Hintergrund ausgedehnt
|
||||
Und sonst wird der Körper/Hintergrund ausgedehnt
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<linktarget COLOR="#a9b4c1" DESTINATION="ID_857510555" ENDARROW="Default" ENDINCLINATION="390;43;" ID="Arrow_ID_817703923" SOURCE="ID_153982067" STARTARROW="None" STARTINCLINATION="474;-38;"/>
|
||||
</node>
|
||||
<node CREATED="1541088480846" ID="ID_6642470" MODIFIED="1576282358101" TEXT="Kopf proportional platzierbar">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
|
|
@ -18111,7 +18116,7 @@
|
|||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1625073420073" ID="ID_1610907627" MODIFIED="1625073651531" TEXT="Expander">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1625073503359" ID="ID_795687889" MODIFIED="1625073650316" TEXT="Label mit intellilgentem Inhalt">
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1625073503359" ID="ID_795687889" MODIFIED="1625073650316" TEXT="Label mit intelligentem Inhalt">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node CREATED="1625073544225" ID="ID_714674809" MODIFIED="1625073574690" TEXT="ID-Nummer"/>
|
||||
<node CREATED="1625073613360" ID="ID_881063614" MODIFIED="1625073620611" TEXT="ergänzende Beschreibung"/>
|
||||
|
|
@ -18208,6 +18213,23 @@
|
|||
<icon BUILTIN="help"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1661557586218" ID="ID_859822896" MODIFIED="1661620110453" TEXT="Zeitangabe in Ausdehnung umsetzen">
|
||||
<arrowlink COLOR="#7479c0" DESTINATION="ID_1343110314" ENDARROW="Default" ENDINCLINATION="-815;-1702;" ID="Arrow_ID_712594873" STARTARROW="None" STARTINCLINATION="471;32;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node CREATED="1661557875471" ID="ID_339780782" MODIFIED="1661557937884" TEXT="API im CanvasHook">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node CREATED="1661557894284" ID="ID_58216896" MODIFIED="1661557909598" TEXT="⟹ dann müßte es hookable sein..."/>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1661557910685" ID="ID_709773431" MODIFIED="1661557921585" TEXT="Alternativen?">
|
||||
<icon BUILTIN="help"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1661557959964" HGAP="149" ID="ID_1683748982" MODIFIED="1661557987514" TEXT="Wann/wozu?" VSHIFT="2">
|
||||
<icon BUILTIN="help"/>
|
||||
<node CREATED="1661558025450" ID="ID_153982067" MODIFIED="1661558059696" TEXT="im Modus "feste Längenvorgabe"">
|
||||
<arrowlink DESTINATION="ID_857510555" ENDARROW="Default" ENDINCLINATION="390;43;" ID="Arrow_ID_817703923" STARTARROW="None" STARTINCLINATION="474;-38;"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1625075206250" ID="ID_721261085" MODIFIED="1625075212634" TEXT="Strukturen aufbauen">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
|
|
@ -18215,7 +18237,8 @@
|
|||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1625075282830" ID="ID_1730704998" MODIFIED="1625075292624" TEXT="mini-DSL für die Konfigurations-Varianten schaffen">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node CREATED="1654445954424" ID="ID_1720484280" MODIFIED="1654445962251" TEXT="1.Ansatz: explizit">
|
||||
<node CREATED="1654445954424" ID="ID_1720484280" MODIFIED="1661558650010" TEXT="1.Ansatz: explizit">
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
<node CREATED="1654445618173" ID="ID_1315147546" MODIFIED="1654445654111" TEXT="Icon per vordefinierter Spec">
|
||||
<node CREATED="1654445665127" ID="ID_579106767" MODIFIED="1654445667994" TEXT="TOGGLE"/>
|
||||
<node CREATED="1654445668679" ID="ID_459682437" MODIFIED="1654445672029" TEXT="PLACEMENT"/>
|
||||
|
|
@ -18239,7 +18262,8 @@
|
|||
<node CREATED="1654446176506" ID="ID_1198030114" MODIFIED="1654446183237" TEXT="speziellen Renderer einbinden"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1654447175801" ID="ID_130925250" MODIFIED="1654447187850" TEXT="2.Ansatz: intentional">
|
||||
<node CREATED="1654447175801" ID="ID_130925250" MODIFIED="1661558654675" TEXT="2.Ansatz: intentional">
|
||||
<icon BUILTIN="forward"/>
|
||||
<node CREATED="1654447205213" ID="ID_360701766" MODIFIED="1654447213879" TEXT="man gibt einen Präsentationsstil vor"/>
|
||||
<node CREATED="1654447241576" ID="ID_17226608" MODIFIED="1654447262732" TEXT="sowie einen Typ und einen Inhalts-Stil"/>
|
||||
<node CREATED="1654447896151" ID="ID_1043723877" MODIFIED="1654447900359" TEXT="Schema">
|
||||
|
|
@ -18351,6 +18375,15 @@
|
|||
<icon BUILTIN="yes"/>
|
||||
<node CREATED="1654449709778" ID="ID_1842345806" MODIFIED="1654449715002" TEXT="prädikat-artiger Term"/>
|
||||
<node CREATED="1654449716467" ID="ID_1816176358" MODIFIED="1654449724831" TEXT="aber mit Compile-Time safety"/>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1661640883263" ID="ID_606322224" MODIFIED="1661640890135" TEXT="ist das möglich?">
|
||||
<icon BUILTIN="help"/>
|
||||
<node CREATED="1661640991591" ID="ID_1210145081" MODIFIED="1661641017079" TEXT="Idee: Funktor auf einen Konfiguration-Record anwenden">
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1661641024133" ID="ID_610957557" MODIFIED="1661641043428" TEXT="kann man das in eine Library-Implementierung verpacken?">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1654449882246" ID="ID_1662756745" MODIFIED="1654449895484" TEXT="vorläufige Vereinfachungen...">
|
||||
<node CREATED="1654449896988" ID="ID_1099433261" MODIFIED="1654449909989" TEXT="Map<string,string>"/>
|
||||
|
|
@ -18372,6 +18405,16 @@
|
|||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1661558691874" ID="ID_1119666560" MODIFIED="1661558709710" TEXT="Kontext-Anbindung planen...">
|
||||
<icon BUILTIN="hourglass"/>
|
||||
<node CREATED="1661558725419" ID="ID_903216053" MODIFIED="1661558736509" TEXT="Zeit/Größen-Übersetzung"/>
|
||||
<node CREATED="1661558740744" ID="ID_629101835" MODIFIED="1661558746908" TEXT="Placement-Editor"/>
|
||||
<node CREATED="1661558748136" ID="ID_450211999" MODIFIED="1661558766073" TEXT="Anbindung an ein Tangible">
|
||||
<node CREATED="1661558767493" ID="ID_984314368" MODIFIED="1661558783560" TEXT="offen lassen: ist es selber ein Tangible?">
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1654445541606" ID="ID_520455096" MODIFIED="1654445545420" TEXT="Integrieren">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
|
|
@ -29897,6 +29940,7 @@
|
|||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1611954240824" ID="ID_1048238324" MODIFIED="1611957379318" TEXT="1.Entwurf: Datencontainer als Basisklasse">
|
||||
<linktarget COLOR="#82b7c6" DESTINATION="ID_1048238324" ENDARROW="Default" ENDINCLINATION="-451;461;" ID="Arrow_ID_22542364" SOURCE="ID_1850041925" STARTARROW="None" STARTINCLINATION="-197;-5;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1611954259205" ID="ID_596924875" MODIFIED="1611954280703" TEXT="damit gibt es dann immer nur eine Allokation"/>
|
||||
<node COLOR="#338800" CREATED="1611954666544" ID="ID_1268124709" MODIFIED="1611957366432" TEXT="Datencontainer-Klasse moveable machen">
|
||||
|
|
@ -30172,6 +30216,10 @@
|
|||
<linktarget COLOR="#ab415e" DESTINATION="ID_811510338" ENDARROW="Default" ENDINCLINATION="-975;-81;" ID="Arrow_ID_610185006" SOURCE="ID_214009767" STARTARROW="None" STARTINCLINATION="744;47;"/>
|
||||
<linktarget COLOR="#f2d4e1" DESTINATION="ID_811510338" ENDARROW="Default" ENDINCLINATION="-516;-1779;" ID="Arrow_ID_1877167801" SOURCE="ID_1825783827" STARTARROW="None" STARTINCLINATION="481;25;"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1661610654817" ID="ID_1038790770" MODIFIED="1661610893078" TEXT="#1038 draft clip UI representation">
|
||||
<arrowlink COLOR="#541915" DESTINATION="ID_96949358" ENDARROW="Default" ENDINCLINATION="-1458;130;" ID="Arrow_ID_1319876475" STARTARROW="None" STARTINCLINATION="818;-68;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
<node CREATED="1583678069596" ID="ID_749021089" MODIFIED="1583678189115" TEXT="Stufe-1">
|
||||
<icon BUILTIN="forward"/>
|
||||
<node COLOR="#338800" CREATED="1583678075045" ID="ID_1071916226" MODIFIED="1612439673716" TEXT="erst mal überhaupt einen Block belegen">
|
||||
|
|
@ -30472,6 +30520,7 @@
|
|||
</node>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1612474853633" ID="ID_1343110314" MODIFIED="1612480345782" TEXT="Beschluß: es wird explizit Bestandteil des CanvasHook-API">
|
||||
<linktarget COLOR="#7479c0" DESTINATION="ID_1343110314" ENDARROW="Default" ENDINCLINATION="-815;-1702;" ID="Arrow_ID_712594873" SOURCE="ID_859822896" STARTARROW="None" STARTINCLINATION="471;32;"/>
|
||||
<linktarget COLOR="#6377b1" DESTINATION="ID_1343110314" ENDARROW="Default" ENDINCLINATION="33;-52;" ID="Arrow_ID_1779941265" SOURCE="ID_426717931" STARTARROW="None" STARTINCLINATION="-154;7;"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
<node COLOR="#338800" CREATED="1612480328315" ID="ID_1469666563" MODIFIED="1612480344504" TEXT="public machen">
|
||||
|
|
@ -30488,7 +30537,7 @@
|
|||
<arrowlink COLOR="#67384d" DESTINATION="ID_616104406" ENDARROW="Default" ENDINCLINATION="-856;39;" ID="Arrow_ID_349418044" STARTARROW="None" STARTINCLINATION="241;19;"/>
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1612620549021" ID="ID_351516626" MODIFIED="1612620738928" TEXT="muß wpäter noch genauer untersucht werden">
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1612620549021" ID="ID_351516626" MODIFIED="1612620738928" TEXT="muß später noch genauer untersucht werden">
|
||||
<arrowlink COLOR="#f17881" DESTINATION="ID_1826613475" ENDARROW="Default" ENDINCLINATION="1266;110;" ID="Arrow_ID_1550601686" STARTARROW="None" STARTINCLINATION="2103;126;"/>
|
||||
<icon BUILTIN="bell"/>
|
||||
</node>
|
||||
|
|
@ -30497,6 +30546,7 @@
|
|||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1611539501493" ID="ID_1849626018" MODIFIED="1611539513626" TEXT="TODO: Überlegungen zur Daten-Storage">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1611539517985" ID="ID_1850041925" MODIFIED="1611539580594" TEXT="macht es Sinn, für alle Clip-Anzeigeformen einen gemeinsamen Daten-Record zu verwenden?">
|
||||
<arrowlink COLOR="#82b7c6" DESTINATION="ID_1048238324" ENDARROW="Default" ENDINCLINATION="-451;461;" ID="Arrow_ID_22542364" STARTARROW="None" STARTINCLINATION="-197;-5;"/>
|
||||
<icon BUILTIN="help"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1611539550821" ID="ID_219259739" MODIFIED="1611539584717" TEXT="und: diesen einbetten, oder per Pointer halten und weitergeben?">
|
||||
|
|
@ -59395,6 +59445,16 @@
|
|||
</node>
|
||||
<node CREATED="1522933624861" ID="ID_1008186406" MODIFIED="1557498707241" TEXT="Timeline-Widget">
|
||||
<icon BUILTIN="full-2"/>
|
||||
<node COLOR="#338800" CREATED="1661448478272" ID="ID_235141959" MODIFIED="1661448487541" TEXT="Track-Body-Anzeige">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1661448488695" ID="ID_974534798" MODIFIED="1661448516836" TEXT="Track-Head-Anzeige">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1661448495494" ID="ID_1252888028" MODIFIED="1661448524515" STYLE="fork" TEXT="brauche ElementBox-Widget">
|
||||
<font NAME="SansSerif" SIZE="12"/>
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1522933545616" ID="ID_193999125" MODIFIED="1557498707241" TEXT="Fixture">
|
||||
<icon BUILTIN="full-3"/>
|
||||
|
|
|
|||
Loading…
Reference in a new issue