From 8eb0a161343b4b6b60e0fbd46a9db7f79d2cb30a Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Wed, 3 Mar 2010 06:00:37 +0100 Subject: [PATCH] cast the new spec regarding timeline/session into unit test code --- src/proc/asset/sequence.hpp | 9 + src/proc/asset/timeline.hpp | 12 ++ src/proc/mobject/session/mobjectfactory.cpp | 132 ++++++------ src/proc/mobject/session/mobjectfactory.hpp | 75 ++++--- .../timeline-sequence-handling-test.cpp | 203 ++++++++++++++++-- 5 files changed, 308 insertions(+), 123 deletions(-) diff --git a/src/proc/asset/sequence.hpp b/src/proc/asset/sequence.hpp index 9bfe24f6e..cfd512e26 100644 --- a/src/proc/asset/sequence.hpp +++ b/src/proc/asset/sequence.hpp @@ -52,6 +52,7 @@ #include "proc/asset/struct.hpp" //#include "proc/mobject/mobject.hpp" //#include "proc/mobject/placement.hpp" +#include "proc/mobject/mobject-ref.hpp" //#include //#include @@ -59,9 +60,17 @@ //using std::vector; //using std::string; +namespace mobject { +namespace session { + + class Track; +}} + + namespace asset { + typedef mobject::MORef RTrack; /** * TODO type comment diff --git a/src/proc/asset/timeline.hpp b/src/proc/asset/timeline.hpp index 0362f136c..47fbe90af 100644 --- a/src/proc/asset/timeline.hpp +++ b/src/proc/asset/timeline.hpp @@ -55,6 +55,9 @@ #include "proc/asset/struct.hpp" //#include "proc/mobject/mobject.hpp" //#include "proc/mobject/placement.hpp" +#include "proc/mobject/mobject-ref.hpp" +//#include "proc/mobject/session/binding.hpp" ////TODO avoidable?? + //#include //#include @@ -62,8 +65,16 @@ //using std::vector; //using std::string; +namespace mobject { +namespace session { + + class Binding; +}} + + namespace asset { + typedef mobject::MORef RBinding; /** @@ -81,6 +92,7 @@ namespace asset { typedef P PTimeline; + ///////////////////////////TODO currently just fleshing the API diff --git a/src/proc/mobject/session/mobjectfactory.cpp b/src/proc/mobject/session/mobjectfactory.cpp index ff694edd8..ebda7d924 100644 --- a/src/proc/mobject/session/mobjectfactory.cpp +++ b/src/proc/mobject/session/mobjectfactory.cpp @@ -2,7 +2,7 @@ MObjectFactory - creating concrete MObject subclass instances Copyright (C) Lumiera.org - 2008, Hermann Vosseler + 2008-2010, Hermann Vosseler This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -33,69 +33,69 @@ namespace mobject { namespace session { - ////////////////////////////////////////////////////////////////////////////////TICKET #414 - - - - /** build a new session/model root element. */ - Placement - MObjectFactory::operator() (DefsManager& sessionDefaultsHandler) - { - return Placement (*new Root (sessionDefaultsHandler), &deleterFunc); - } - - - /** build a new session/model root element. */ - Placement