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

MP7View.hpp

Go to the documentation of this file.
00001  /***********************************************************************
00002  *                                                                      *
00003  * MuViNo - ViTooKi Video Annotation Tool                               *
00004  *                                                                      *
00005  * title:   MP7View.hpp                                             *
00006  *                                                                      *
00007  * $Id: MP7View_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 _MP7VIEW_HPP_
00037 #define _MP7VIEW_HPP_
00038 
00039 #include "MP7Doc.hpp"
00040 
00045 class MP7ListViewItem;
00046 
00062 class MP7View
00063 {
00064 public:
00066   virtual ~MP7View() { }
00067 
00071   virtual bool isValid() const { return doc != NULL && root != NULL; }
00072 
00076   virtual bool equals(const MP7View &view) const 
00077   { 
00078     return doc == view.doc && root == view.root; 
00079   }
00080 
00082   virtual void setMP7Doc(MP7Doc *doc) { this->doc = doc; }
00083 
00085   MP7ListViewItem *rootItem() const { return root; }
00086 
00092   virtual MP7ListViewItem *parent(MP7ListViewItem *root = NULL) const { return NULL; }
00093 
00094   /* ---------------------- Pure Virtual Methods ------------------------- */
00095 
00113   virtual MP7ListViewItem *setRoot(MP7ListViewItem *root, bool searchUp = false) = 0;
00114 
00120   virtual void setEmpty() = 0;
00121 
00127   virtual bool edit() = 0;
00128 
00129 protected:
00131   MP7Doc *doc;
00132 
00134   MP7ListViewItem *root;
00135 
00137   MP7View() { doc = NULL; root = NULL; }
00138 };
00139 
00140 #endif /* _MP7VIEW_HPP_ */

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