Main Page | Class Hierarchy | Compound List | File List | Compound Members

MP7VideoSegment.hpp

Go to the documentation of this file.
00001  /***********************************************************************
00002  *                                                                      *
00003  * MuViNo - ViTooKi Video Annotation Tool                               *
00004  *                                                                      *
00005  * title:   MP7VideoSegment.hpp                                     *
00006  *                                                                      *
00007  * $Id: MP7VideoSegment_8hpp-source.html,v 1.1 2004/09/27 07:24:51 mtaschwer Exp $
00008  *                                                                      *
00009  * ITEC institute of the University of Klagenfurt (Austria)             *
00010  * http://www.itec.uni-klu.ac.at                                        *
00011  *                                                                      *
00012  *                                                                      *
00013  * For more information visit the ViTooKi homepage:                     *
00014  * http://ViTooKi.sourceforge.net                                       *
00015  * vitooki-user@lists.sourceforge.net                                   *
00016  * vitooki-devel@lists.sourceforge.net                                  *
00017  *                                                                      *
00018  * This file is part of ViTooKi, a free video toolkit.                  *
00019  * ViTooKi is free software; you can redistribute it and/or             *
00020  * modify it under the terms of the GNU General Public License          *
00021  * as published by the Free Software Foundation; either version 2       *
00022  * of the License, or (at your option) any later version.               *
00023  *                                                                      *
00024  * This program is distributed in the hope that it will be useful,      *
00025  * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
00026  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the         *
00027  * GNU General Public License for more details.                         *
00028  *                                                                      *
00029  * You should have received a copy of the GNU General Public License    *
00030  * along with this program; if not, write to the Free Software          *
00031  * Foundation, Inc., 59 Temple Place - Suite 330, Boston,               *
00032  * MA  02111-1307, USA.                                                 *
00033  *                                                                      *
00034  ***********************************************************************/
00035 
00036 #ifndef _MP7VIDEOSEGMENT_HPP_
00037 #define _MP7VIDEOSEGMENT_HPP_
00038 
00043 #include <vector>
00044 
00045 #include "MP7Doc.hpp"
00046 #include "MP7Time.hpp"
00047 #include "MP7View.hpp"
00048 #include "videosegment.hpp"
00049 
00050 class MP7ListViewItem;
00051 
00060 class MP7VideoSegment : public MP7View
00061 {
00062 public:
00064   MP7VideoSegment();
00065 
00071   MP7VideoSegment(MP7Doc *doc, MP7ListViewItem *root);
00072 
00073   /* ------------------- Super class methods ------------------------------- */
00074 
00078   virtual MP7ListViewItem *parent(MP7ListViewItem *root = NULL) const;
00079 
00083   virtual MP7ListViewItem *setRoot(MP7ListViewItem *root, bool searchUp = false);
00084 
00088   virtual void setEmpty();
00089 
00094   virtual bool edit();
00095 
00096   /* ------------ Methods specific to this class ----------------------- */
00097 
00099   MP7Time mediaTime() const;
00100 
00108   bool setMediaTime(const MP7Time &time);
00109 
00118   bool modifyMediaStartTime(const MP7Time &startTime, bool recursive = false);
00119 
00127   bool modifyMediaEndTime(const MP7Time &endTime, bool recursive = false);
00128 
00130   QString title() const;
00131 
00135   int level() const;
00136 
00146   bool ancestor(MP7VideoSegment &result, int level = -1) const;
00147 
00152   int childSegments(std::vector<MP7VideoSegment> &result) const;
00153 
00159   bool addChildSegment(MP7VideoSegment &result);
00160 
00168   bool move(MP7VideoSegment *newParent, MP7VideoSegment *newSibling = NULL);
00169 
00178   bool split(MP7VideoSegment &result, const MP7Time &time);
00179   
00191   bool remove(bool recursive = false);
00192 
00202   bool searchByMediaTime(MP7VideoSegment &result, const MP7Time &time, int level) const;
00203 
00210   bool prevGenSibling(MP7VideoSegment &result) const;
00211 
00218   bool nextGenSibling(MP7VideoSegment &result) const;
00219 
00226   MP7ListViewItem *setTitleImage(const MP7Time &time);
00227 
00228 private:
00232   bool initDlgFromMP7Doc(VideoSegment &dlg);
00233   
00237   bool updateMP7DocFromDlg(const VideoSegment &dlg);
00238 
00239 };
00240 
00241 #endif /* _MP7VIDEOSEGMENT_HPP_ */

Generated on Mon Sep 27 09:12:05 2004 for Muvino by doxygen 1.3.2