InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IListControlDataOf.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Michael Burbidge
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //========================================================================================
23 
24 #ifndef __IListControlDataOf_h__
25 #define __IListControlDataOf_h__
26 
27 #include "IListControlData.h"
28 #include "K2Vector.h"
29 
30 //template <class T> // ??? wha?
31 //class T;
32 
33 //========================================================================================
34 // CLASS TEMPLATE IListControlDataOf
35 //========================================================================================
36 
37 template <class T>
40 {
41 public:
42  // ----- Constants -----
43 
44  enum { kBeginning = 0, kEnd = -2 };
45 
46  // ----- List maintainence -----
47 
54  virtual void Add(const T& item, int32 at = kEnd, bool16 invalidate = kTrue, bool16 notifyOfChange = kTrue) = 0;
55 
61  virtual void Add(const K2Vector<T>& items, bool16 invalidate = kTrue, bool16 notifyOfChange = kTrue) = 0;
62 
69  virtual void Replace(const T& item, int32 index, bool16 invalidate = kTrue, bool16 notifyOfChange = kTrue) = 0;
70 
74  virtual T operator[](int32 index) const = 0;
75 
76 };
77 
78 #endif