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