]> icculus.org git repositories - divverent/nexuiz.git/blob - data/menuqc/object.qh
Flush my checkout.
[divverent/nexuiz.git] / data / menuqc / object.qh
1 // NG-Menu\r
2 // [object.qh]\r
3 \r
4 #define ABSTRACT( className ) typedef entity className;\r
5 #define ENDABSTRACT()\r
6 \r
7 #define INHERITFROM( baseClass );\r
8 \r
9 #define CLASS( className ) typedef entity className;\r
10 #define ENDCLASS()\r
11 \r
12 #define MAX_NAMESPACE_ID 4\r
13 \r
14 string namespaceNames[ MAX_NAMESPACE_ID ];\r
15 entity namespaceRoot[ MAX_NAMESPACE_ID ];\r
16 \r
17 typedef float NamespaceID;\r
18 \r
19 ABSTRACT( Object )\r
20         // type information/reflexion stuff\r
21         .string type;\r
22 \r
23         .NamespaceID namespace;\r
24         .zoned name;\r
25         // namespace ID":"path+name"\r
26         .zoned fullName;\r
27 \r
28         // structural stuff\r
29         .zoned parent;\r
30 \r
31         .Object _parent;\r
32         .Object _next;\r
33 ENDABSTRACT()\r
34 \r
35 CLASS( ObjectList )\r
36         .zoned objectList;\r
37         .float objectCount;\r
38 \r
39         void ObjectList_Add( ObjectList this, Object pObject );\r
40         void ObjectList_Remove( ObjectList this, Object pObject );\r
41 \r
42         float ObjectList_GetCount( ObjectList this, Object pObject );\r
43         Object ObjectList_GetOne( ObjectList this, float pIndex );\r
44 \r
45         void ObjectList_PrepareIteration( ObjectList this );\r
46         void ObjectList_FinishIteration( ObjectList this );\r
47         Object ObjectList_Iterate( ObjectList this );\r
48 ENDCLASS()\r
49 \r
50 \r
51 \r
52 \r
53 \r