00001 /* -*- c++ -*- (for Emacs) 00002 * 00003 * abstractattributedocview.h 00004 * 00005 * Created by Aidan Lane on Tue Dec 20 2005. 00006 * Copyright (c) 2005 Optimisation and Constraint Solving Group, 00007 * Monash University. All rights reserved. 00008 * 00009 * This program is free software; you can redistribute it and/or modify 00010 * it under the terms of the GNU General Public License as published by 00011 * the Free Software Foundation; either version 2 of the License, or 00012 * (at your option) any later version. 00013 * 00014 * This program is distributed in the hope that it will be useful, 00015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 * GNU General Public License for more details. 00018 * 00019 * You should have received a copy of the GNU General Public License 00020 * along with this program; if not, write to the Free Software 00021 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00022 */ 00023 00024 #ifndef ABSTRACTATTRIBUTEDOCVIEW_H 00025 #define ABSTRACTATTRIBUTEDOCVIEW_H 00026 00027 00028 #include "abstractdocview.h" 00029 00030 #include "attributedocviewevents.h" 00031 00032 class AttributeDoc; 00033 class AttributeDocController; 00034 00035 00036 class AbstractAttributeDocView : public AbstractDocView { 00037 00038 public: 00039 AbstractAttributeDocView( QObject* objectPtr ); 00040 00041 AttributeDocController* attributeDocController() const; 00042 AttributeDoc* attributeDoc() const; 00043 00044 00045 protected: 00046 virtual void dispatchEvent( VEvent* ); 00047 00048 virtual void changeControllerEvent( VChangeControllerEvent* ); 00049 virtual void modelChangedEvent( VModelChangedEvent* ); 00050 00051 // The following implementations do nothing, derivative classes are left to 00052 // add functionality. 00053 virtual void attributesValuesSetEvent( VAttributesValuesSetEvent* ) {} 00054 virtual void attributesRemovedEvent( VAttributesRemovedEvent* ) {} 00055 00056 00057 private: 00058 // Temporary caches: 00059 QPointer<AttributeDocController> c_attributeDocController; 00060 QPointer<AttributeDoc> c_attributeDoc; 00061 }; 00062 00063 00064 #endif // ! ABSTRACTATTRIBUTEDOCVIEW_H
1.5.2