InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ILibraryFilterData.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Tim Gogolin
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 // Reviewed: 9/25/98
24 //
25 // Purpose:
26 // Store and retrieve information needed to create a Library query on a catalog
27 // of assets. The "Show Subset" dialog will fill in these fields and they can be
28 // retrieved to create a database query.
29 //
30 //========================================================================================
31 
32 #ifndef __ILibraryFilterData__
33 #define __ILibraryFilterData__
34 
35 #include "IPMUnknown.h"
36 #include "LibraryProviderID.h"
37 #include "ILibraryAssetMetaData.h"
38 
39 
40 class GlobalTime;
41 
42 
46 {
47  public:
48 
51  typedef enum
52  {
65  } EField;
66 
69  typedef enum
70  {
92  } ECondition;
93 
98  virtual void SetNameFilter(ECondition inCondition, const PMString& inString) = 0;
99 
104  virtual void SetDescriptionFilter(ECondition inCondition, const PMString& inString) = 0;
105 
110  virtual void SetDateFilter(ECondition inCondition, const GlobalTime& inTime) = 0;
111 
116  virtual void SetTypeFilter(ECondition inCondition, ILibraryAssetMetaData::UserType inType) = 0;
117 
121  virtual EField GetFilterField() = 0;
122 
127  virtual void GetNameFilter(ECondition& outCondition, PMString& outString) = 0;
128 
133  virtual void GetDescriptionFilter(ECondition& outCondition, PMString& outString) = 0;
134 
139  virtual void GetDateFilter(ECondition& outCondition, GlobalTime& outTime) = 0;
140 
145  virtual void GetTypeFilter(ECondition& outCondition, ILibraryAssetMetaData::UserType& outType) = 0;
146 
151  virtual bool16 PassFilter(ILibraryAssetMetaData* inAssetData) = 0;
152 };
153 
154 
160 {
161  public:
164  typedef enum
165  {
172  } EConjunction;
173 
177  virtual void SetConjunction(EConjunction inConjunction) = 0;
178 
182  virtual EConjunction GetConjunction() = 0;
183 
188  virtual UIDRef AppendNewSimpleFilter() = 0;
189 
193  virtual int32 GetNumSimpleFilters() = 0;
194 
199  virtual UIDRef GetSimpleFilterAt(int32 i) = 0;
200 
205  virtual bool16 PassFilter(ILibraryAssetMetaData* inAssetData) = 0;
206 };
207 
208 #endif // __ILibraryFilterData__