1 /***********************************************************************/ 2 /* Open Visualization Data Explorer */ 3 /* (C) Copyright IBM Corp. 1989,1999 */ 4 /* ALL RIGHTS RESERVED */ 5 /* This code licensed under the */ 6 /* "IBM PUBLIC LICENSE - Open Visualization Data Explorer" */ 7 /***********************************************************************/ 8 9 #include <dxconfig.h> 10 #include "../base/defines.h" 11 12 13 14 15 #ifndef _AnnotationGroupManager_h 16 #define _AnnotationGroupManager_h 17 18 19 #include "GroupManager.h" 20 #include "Dictionary.h" 21 #include "DXStrings.h" 22 23 // 24 // Class name definition: 25 // 26 #define ClassAnnotationGroupManager "AnnotationGroupManager" 27 #define ANNOTATION_GROUP "annotation" 28 29 class Network; 30 31 32 // 33 // The class to hold the group info 34 // 35 class AnnotationGroupRecord : public GroupRecord 36 { 37 friend class AnnotationGroupManager; 38 private: 39 40 protected: AnnotationGroupRecord(Network * net,const char * name)41 AnnotationGroupRecord(Network *net, const char *name): GroupRecord(net, name) {} 42 ~AnnotationGroupRecord()43 ~AnnotationGroupRecord() { } 44 45 public: 46 }; 47 48 49 // 50 // AnnotationGroupManager class definition: 51 // 52 class AnnotationGroupManager : public GroupManager 53 { 54 private: 55 // 56 // Private member data: 57 // 58 59 protected: 60 // 61 // Protected member data: 62 // 63 recordAllocator(Network * net,const char * name)64 virtual GroupRecord *recordAllocator(Network *net, const char *name) { 65 return new AnnotationGroupRecord(net, name); 66 } 67 68 public: 69 // 70 // Destructor: 71 // ~AnnotationGroupManager()72 ~AnnotationGroupManager(){} 73 SupportsMacros()74 static boolean SupportsMacros() { return TRUE; } 75 76 // 77 // Constructor: 78 // 79 AnnotationGroupManager(Network *net); 80 81 virtual boolean printComment (FILE*); 82 virtual boolean parseComment (const char*, const char*, int, Network*); 83 84 // 85 // Returns a pointer to the class name. 86 // getClassName()87 const char* getClassName() 88 { 89 return ClassAnnotationGroupManager; 90 } 91 }; 92 93 94 #endif // _AnnotationGroupManager_h 95