00001 // **************************************************************************** 00002 // copyright (c) 2000-2005 Horst Knorr <hk_classes@knoda.org> 00003 // This file is part of the hk_classes library. 00004 // This file may be distributed and/or modified under the terms of the 00005 // GNU Library Public License version 2 as published by the Free Software 00006 // Foundation and appearing in the file COPYING included in the 00007 // packaging of this file. 00008 // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00009 // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00010 // **************************************************************************** 00011 #ifndef HK_DBVISIBLE 00012 #define HK_DBVISIBLE 00013 #include "hk_visible.h" 00014 using namespace std; 00015 00016 class hk_database; 00025 class hk_dbvisible :public hk_visible 00026 { 00027 friend class hk_database; 00028 public: 00029 hk_dbvisible(hk_presentation* p=NULL); 00030 virtual ~hk_dbvisible(void); 00034 void set_database(hk_database* db); 00035 hk_database* database(void) const; 00036 protected: 00037 virtual void database_delete(void); 00044 virtual void before_source_vanishes(void); 00045 virtual void list_changes(listtype type); 00046 00047 hk_database* p_database; 00048 00049 private: 00050 //p_already_handled is used from hk_database in bulk operations to find out if this object has been already handled. 00051 bool p_already_handled; 00052 00053 }; 00054 #endif