add new baseclass Entity for things placed on timeline
This commit is contained in:
parent
7f615d734f
commit
62a05d003c
5 changed files with 114 additions and 3 deletions
|
|
@ -120,6 +120,8 @@ gtk_gui_la_SOURCES = \
|
|||
$(lumigui_srcdir)/widgets/timeline/timeline-clip-track.hpp \
|
||||
$(lumigui_srcdir)/widgets/timeline/timeline-clip.cpp \
|
||||
$(lumigui_srcdir)/widgets/timeline/timeline-clip.hpp \
|
||||
$(lumigui_srcdir)/widgets/timeline/timeline-entity.cpp \
|
||||
$(lumigui_srcdir)/widgets/timeline/timeline-entity.hpp \
|
||||
$(lumigui_srcdir)/widgets/timeline/timeline-group-track.cpp \
|
||||
$(lumigui_srcdir)/widgets/timeline/timeline-group-track.hpp \
|
||||
$(lumigui_srcdir)/widgets/timeline/timeline-header-container.cpp \
|
||||
|
|
|
|||
|
|
@ -27,7 +27,8 @@ namespace widgets {
|
|||
namespace timeline {
|
||||
|
||||
Clip::Clip(boost::shared_ptr<model::Clip> clip)
|
||||
: modelClip(clip),
|
||||
: Entity(),
|
||||
modelClip(clip),
|
||||
selected(false)
|
||||
{
|
||||
REQUIRE(modelClip);
|
||||
|
|
|
|||
|
|
@ -27,8 +27,9 @@
|
|||
|
||||
#include "gui/gtk-lumiera.hpp"
|
||||
#include "gui/model/clip.hpp"
|
||||
#include "timeline-view-window.hpp"
|
||||
#include "include/logging.h"
|
||||
#include "timeline-entity.hpp"
|
||||
#include "timeline-view-window.hpp"
|
||||
|
||||
#ifndef TIMELINE_CLIP_HPP
|
||||
#define TIMELINE_CLIP_HPP
|
||||
|
|
@ -37,7 +38,7 @@ namespace gui {
|
|||
namespace widgets {
|
||||
namespace timeline {
|
||||
|
||||
class Clip : public model::Clip
|
||||
class Clip : public Entity
|
||||
{
|
||||
public:
|
||||
Clip(boost::shared_ptr<model::Clip> clip);
|
||||
|
|
|
|||
36
src/gui/widgets/timeline/timeline-entity.cpp
Normal file
36
src/gui/widgets/timeline/timeline-entity.cpp
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
/*
|
||||
timeline-entity.cpp - Implementation of the timeline entity object
|
||||
|
||||
Copyright (C) Lumiera.org
|
||||
2010, Stefan Kangas <skangas@skangas.se
|
||||
|
||||
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.
|
||||
|
||||
* *****************************************************/
|
||||
|
||||
#include "timeline-entity.hpp"
|
||||
|
||||
namespace gui {
|
||||
namespace widgets {
|
||||
namespace timeline {
|
||||
|
||||
Entity::Entity()
|
||||
: enabled(true)
|
||||
{ }
|
||||
|
||||
} // namespace timeline
|
||||
} // namespace widgets
|
||||
} // namespace gui
|
||||
|
||||
71
src/gui/widgets/timeline/timeline-entity.hpp
Normal file
71
src/gui/widgets/timeline/timeline-entity.hpp
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
/*
|
||||
timeline-entity.hpp - Declaration of the timeline entity class
|
||||
|
||||
Copyright (C) Lumiera.org
|
||||
2010, Stefan Kangas <skangas@skangas.se>
|
||||
|
||||
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 timeline-entity.hpp
|
||||
** Declares the Timeline Entity class.
|
||||
*/
|
||||
|
||||
#ifndef TIMELINE_ENTITY_HPP
|
||||
#define TIMELINE_ENTITY_HPP
|
||||
|
||||
namespace gui {
|
||||
namespace widgets {
|
||||
namespace timeline {
|
||||
|
||||
/**
|
||||
* Base class for timeline entities.
|
||||
* Everything that can be placed on the timeline is a timeline Entity.
|
||||
*/
|
||||
class Entity {
|
||||
protected:
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
Entity();
|
||||
|
||||
public:
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
bool
|
||||
getEnabled();
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
void
|
||||
setEnabled(bool selected);
|
||||
|
||||
private:
|
||||
|
||||
/**
|
||||
* True when this entity is enabled.
|
||||
*/
|
||||
bool enabled;
|
||||
};
|
||||
|
||||
} // namespace timeline
|
||||
} // namespace widgets
|
||||
} // namespace gui
|
||||
|
||||
#endif // TIMELINE_ENTITY_HPP
|
||||
Loading…
Reference in a new issue