Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(234)

Side by Side Diff: fpdfsdk/include/fxedit/fxet_list.h

Issue 453133004: clang-format all code (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #ifndef _FXET_LIST_H_ 7 #ifndef _FXET_LIST_H_
8 #define _FXET_LIST_H_ 8 #define _FXET_LIST_H_
9 9
10 #include "fx_edit.h" 10 #include "fx_edit.h"
11 11
12 class IFX_Edit; 12 class IFX_Edit;
13 13
14 class CLST_Size 14 class CLST_Size {
15 { 15 public:
16 public: 16 CLST_Size() : x(0.0f), y(0.0f) {}
17 CLST_Size() : x(0.0f), y(0.0f) 17
18 { 18 CLST_Size(FX_FLOAT x, FX_FLOAT y) {
19 } 19 this->x = x;
20 20 this->y = y;
21 CLST_Size(FX_FLOAT x,FX_FLOAT y) 21 }
22 { 22
23 this->x = x; 23 void Default() {
24 this->y = y; 24 x = 0.0f;
25 } 25 y = 0.0f;
26 26 }
27 void Default() 27
28 { 28 FX_BOOL operator!=(const CLST_Size& size) const {
29 x = 0.0f; 29 return FXSYS_memcmp(this, &size, sizeof(CLST_Size)) != 0;
30 y = 0.0f; 30 }
31 } 31
32 32 FX_FLOAT x, y;
33 FX_BOOL operator != (const CLST_Size & size) const 33 };
34 { 34
35 return FXSYS_memcmp(this, &size, sizeof(CLST_Size)) != 0; 35 class CLST_Rect : public CPDF_Rect {
36 } 36 public:
37 37 CLST_Rect() { left = top = right = bottom = 0.0f; }
38 FX_FLOAT x,y; 38
39 }; 39 CLST_Rect(FX_FLOAT left, FX_FLOAT top, FX_FLOAT right, FX_FLOAT bottom) {
40 40 this->left = left;
41 class CLST_Rect : public CPDF_Rect 41 this->top = top;
42 { 42 this->right = right;
43 public: 43 this->bottom = bottom;
44 CLST_Rect() 44 }
45 { 45
46 left = top = right = bottom = 0.0f; 46 CLST_Rect(const CPDF_Rect& rect) {
47 } 47 this->left = rect.left;
48 48 this->top = rect.top;
49 CLST_Rect(FX_FLOAT left,FX_FLOAT top, 49 this->right = rect.right;
50 FX_FLOAT right,FX_FLOAT bottom) 50 this->bottom = rect.bottom;
51 { 51 }
52 this->left = left; 52
53 this->top = top; 53 void Default() { left = top = right = bottom = 0.0f; }
54 this->right = right; 54
55 this->bottom = bottom; 55 const CLST_Rect operator=(const CPDF_Rect& rect) {
56 } 56 this->left = rect.left;
57 57 this->top = rect.top;
58 CLST_Rect(const CPDF_Rect & rect) 58 this->right = rect.right;
59 { 59 this->bottom = rect.bottom;
60 this->left = rect.left; 60
61 this->top = rect.top; 61 return *this;
62 this->right = rect.right; 62 }
63 this->bottom = rect.bottom; 63
64 } 64 FX_BOOL operator==(const CLST_Rect& rect) const {
65 65 return FXSYS_memcmp(this, &rect, sizeof(CLST_Rect)) == 0;
66 void Default() 66 }
67 { 67
68 left = top = right = bottom = 0.0f; 68 FX_BOOL operator!=(const CLST_Rect& rect) const {
69 } 69 return FXSYS_memcmp(this, &rect, sizeof(CLST_Rect)) != 0;
70 70 }
71 const CLST_Rect operator = (const CPDF_Rect & rect) 71
72 { 72 FX_FLOAT Width() const { return this->right - this->left; }
73 this->left = rect.left; 73
74 this->top = rect.top; 74 FX_FLOAT Height() const {
75 this->right = rect.right; 75 if (this->top > this->bottom)
76 this->bottom = rect.bottom; 76 return this->top - this->bottom;
77 77 else
78 return *this; 78 return this->bottom - this->top;
79 } 79 }
80 80
81 FX_BOOL operator == (const CLST_Rect & rect) const 81 CPDF_Point LeftTop() const { return CPDF_Point(left, top); }
82 { 82
83 return FXSYS_memcmp(this, &rect, sizeof(CLST_Rect)) == 0; 83 CPDF_Point RightBottom() const { return CPDF_Point(right, bottom); }
84 } 84
85 85 const CLST_Rect operator+=(const CPDF_Point& point) {
86 FX_BOOL operator != (const CLST_Rect & rect) const 86 this->left += point.x;
87 { 87 this->right += point.x;
88 return FXSYS_memcmp(this, &rect, sizeof(CLST_Rect)) != 0; 88 this->top += point.y;
89 } 89 this->bottom += point.y;
90 90
91 FX_FLOAT Width() const 91 return *this;
92 { 92 }
93 return this->right - this->left; 93
94 } 94 const CLST_Rect operator-=(const CPDF_Point& point) {
95 95 this->left -= point.x;
96 FX_FLOAT Height() const 96 this->right -= point.x;
97 { 97 this->top -= point.y;
98 if (this->top > this->bottom) 98 this->bottom -= point.y;
99 return this->top - this->bottom; 99
100 else 100 return *this;
101 return this->bottom - this->top; 101 }
102 } 102
103 103 CLST_Rect operator+(const CPDF_Point& point) const {
104 CPDF_Point LeftTop() const 104 return CLST_Rect(
105 { 105 left + point.x, top + point.y, right + point.x, bottom + point.y);
106 return CPDF_Point(left,top); 106 }
107 } 107
108 108 CLST_Rect operator-(const CPDF_Point& point) const {
109 CPDF_Point RightBottom() const 109 return CLST_Rect(
110 { 110 left - point.x, top - point.y, right - point.x, bottom - point.y);
111 return CPDF_Point(right,bottom); 111 }
112 } 112 };
113 113
114 const CLST_Rect operator += (const CPDF_Point & point) 114 class CFX_ListItem {
115 { 115 public:
116 this->left += point.x; 116 CFX_ListItem();
117 this->right += point.x; 117 virtual ~CFX_ListItem();
118 this->top += point.y; 118
119 this->bottom += point.y; 119 void SetFontMap(IFX_Edit_FontMap* pFontMap);
120 120 IFX_Edit_Iterator* GetIterator() const;
121 return *this; 121 IFX_Edit* GetEdit() const;
122 } 122
123 123 public:
124 const CLST_Rect operator -= (const CPDF_Point & point) 124 void SetRect(const CLST_Rect& rect);
125 { 125 void SetSelect(FX_BOOL bSelected);
126 this->left -= point.x; 126 void SetCaret(FX_BOOL bCaret);
127 this->right -= point.x; 127 void SetText(FX_LPCWSTR text);
128 this->top -= point.y; 128 void SetFontSize(FX_FLOAT fFontSize);
129 this->bottom -= point.y; 129 CFX_WideString GetText() const;
130 130
131 return *this; 131 CLST_Rect GetRect() const;
132 } 132 FX_BOOL IsSelected() const;
133 133 FX_BOOL IsCaret() const;
134 CLST_Rect operator + (const CPDF_Point & point) const 134 FX_FLOAT GetItemHeight() const;
135 { 135 FX_WORD GetFirstChar() const;
136 return CLST_Rect(left + point.x, 136
137 top + point.y, 137 private:
138 right + point.x, 138 IFX_Edit* m_pEdit;
139 bottom + point.y); 139 FX_BOOL m_bSelected; //ÊÇ·ñÑ¡ÖÐ
140 } 140 FX_BOOL m_bCaret; //ÊÇ·ñΪ½¹µã£¬¶àѡʱÓÃ
141 141 CLST_Rect m_rcListItem; //ÄÚ²¿×ø±ê
142 CLST_Rect operator - (const CPDF_Point & point) const 142 };
143 { 143
144 return CLST_Rect(left - point.x, 144 class CFX_ListContainer {
145 top - point.y, 145 public:
146 right - point.x, 146 CFX_ListContainer()
147 bottom - point.y); 147 : m_rcPlate(0.0f, 0.0f, 0.0f, 0.0f),
148 } 148 m_rcContent(0.0f, 0.0f, 0.0f, 0.0f) {}
149 }; 149 virtual ~CFX_ListContainer() {}
150 150 virtual void SetPlateRect(const CPDF_Rect& rect) { m_rcPlate = rect; }
151 class CFX_ListItem 151 CPDF_Rect GetPlateRect() const { return m_rcPlate; }
152 { 152 void SetContentRect(const CLST_Rect& rect) { m_rcContent = rect; }
153 public: 153 CLST_Rect GetContentRect() const { return m_rcContent; }
154 CFX_ListItem(); 154 CPDF_Point GetBTPoint() const {
155 virtual ~CFX_ListItem(); 155 return CPDF_Point(m_rcPlate.left, m_rcPlate.top);
156 156 }
157 void SetFontMap(IFX_E dit_FontMap * pFontMap); 157 CPDF_Point GetETPoint() const {
158 IFX_Edit_Iterator* GetIterator() const; 158 return CPDF_Point(m_rcPlate.right, m_rcPlate.bottom);
159 IFX_Edit* GetEdit() const; 159 }
160 160
161 public: 161 public:
162 void SetRect(const CL ST_Rect & rect); 162 CPDF_Point InnerToOuter(const CPDF_Point& point) const {
163 void SetSelect(FX_BOO L bSelected); 163 return CPDF_Point(point.x + GetBTPoint().x, GetBTPoint().y - point.y);
164 void SetCaret(FX_BOOL bCaret); 164 }
165 void SetText(FX_LPCWS TR text); 165 CPDF_Point OuterToInner(const CPDF_Point& point) const {
166 void SetFontSize(FX_F LOAT fFontSize); 166 return CPDF_Point(point.x - GetBTPoint().x, GetBTPoint().y - point.y);
167 CFX_WideString GetText() const; 167 }
168 168 CPDF_Rect InnerToOuter(const CLST_Rect& rect) const {
169 CLST_Rect GetRect() const; 169 CPDF_Point ptLeftTop = InnerToOuter(CPDF_Point(rect.left, rect.top));
170 FX_BOOL IsSelected() con st; 170 CPDF_Point ptRightBottom =
171 FX_BOOL IsCaret() const; 171 InnerToOuter(CPDF_Point(rect.right, rect.bottom));
172 FX_FLOAT GetItemHeight() const; 172 return CPDF_Rect(
173 FX_WORD GetFirstChar() c onst; 173 ptLeftTop.x, ptRightBottom.y, ptRightBottom.x, ptLeftTop.y);
174 174 }
175 private: 175 CLST_Rect OuterToInner(const CPDF_Rect& rect) const {
176 IFX_Edit* m_pEdit; 176 CPDF_Point ptLeftTop = OuterToInner(CPDF_Point(rect.left, rect.top));
177 FX_BOOL m_bSelected; //ÊÇ·ñÑ¡ÖÐ 177 CPDF_Point ptRightBottom =
178 FX_BOOL m_bCaret; //ÊÇ·ñΪ½¹µã£¬¶àѡʱÓà 178 OuterToInner(CPDF_Point(rect.right, rect.bottom));
179 CLST_Rect m_rcListItem; //ÄÚ²¿×ø±ê 179 return CLST_Rect(
180 }; 180 ptLeftTop.x, ptLeftTop.y, ptRightBottom.x, ptRightBottom.y);
181 181 }
182 class CFX_ListContainer 182
183 { 183 private:
184 public: 184 CPDF_Rect m_rcPlate;
185 CFX_ListContainer() : m_rcPlate(0.0f,0.0f,0.0f,0.0f), m_rcContent(0.0f,0 .0f,0.0f,0.0f){} 185 CLST_Rect m_rcContent; // positive forever!
186 virtual ~CFX_ListContainer(){} 186 };
187 virtual void SetPlateRect(const CPDF_ Rect & rect){m_rcPlate = rect;} 187
188 CPDF_Rect GetPlateRect() c onst{return m_rcPlate;} 188 template <class TYPE>
189 void SetContentRect(c onst CLST_Rect & rect){m_rcContent = rect;} 189 class CLST_ArrayTemplate : public CFX_ArrayTemplate<TYPE> {
190 CLST_Rect GetContentRect() const{return m_rcContent;} 190 public:
191 CPDF_Point GetBTPoint() con st{return CPDF_Point(m_rcPlate.left,m_rcPlate.top);} 191 FX_BOOL IsEmpty() { return CFX_ArrayTemplate<TYPE>::GetSize() <= 0; }
192 CPDF_Point GetETPoint() con st{return CPDF_Point(m_rcPlate.right,m_rcPlate.bottom);} 192 TYPE GetAt(FX_INT32 nIndex) const {
193 public: 193 if (nIndex >= 0 && nIndex < CFX_ArrayTemplate<TYPE>::GetSize())
194 CPDF_Point InnerToOuter(con st CPDF_Point & point) const{return CPDF_Point(point.x + GetBTPoint().x,GetBTPoi nt().y - point.y);} 194 return CFX_ArrayTemplate<TYPE>::GetAt(nIndex);
195 CPDF_Point OuterToInner(con st CPDF_Point & point) const{return CPDF_Point(point.x - GetBTPoint().x,GetBTPoi nt().y - point.y);} 195 return NULL;
196 CPDF_Rect InnerToOuter(con st CLST_Rect & rect) const{CPDF_Point ptLeftTop = InnerToOuter(CPDF_Point(rect.l eft,rect.top)); 196 }
197 CPDF_Poi nt ptRightBottom = InnerToOuter(CPDF_Point(rect.right,rect.bottom)); 197 void RemoveAt(FX_INT32 nIndex) {
198 return C PDF_Rect(ptLeftTop.x,ptRightBottom.y,ptRightBottom.x,ptLeftTop.y);} 198 if (nIndex >= 0 && nIndex < CFX_ArrayTemplate<TYPE>::GetSize())
199 CLST_Rect OuterToInner(con st CPDF_Rect & rect) const{CPDF_Point ptLeftTop = OuterToInner(CPDF_Point(rect.l eft,rect.top)); 199 CFX_ArrayTemplate<TYPE>::RemoveAt(nIndex);
200 CPDF_Poi nt ptRightBottom = OuterToInner(CPDF_Point(rect.right,rect.bottom)); 200 }
201 return C LST_Rect(ptLeftTop.x,ptLeftTop.y,ptRightBottom.x,ptRightBottom.y);} 201 };
202 private: 202
203 CPDF_Rect m_rcPlate; 203 class CFX_List : protected CFX_ListContainer, public IFX_List {
204 CLST_Rect m_rcContent; //positive forever! 204 public:
205 }; 205 CFX_List();
206 206 virtual ~CFX_List();
207 template<class TYPE> class CLST_ArrayTemplate : public CFX_ArrayTemplate<TYPE> 207
208 { 208 public:
209 public: 209 virtual void SetFontMap(IFX_Edit_FontMap* pFontMap);
210 FX_BOOL IsEmpty() { return CFX_ArrayTemplate<TYPE>::GetSize() <= 0; } 210 virtual void SetFontSize(FX_FLOAT fFontSize);
211 TYPE GetAt(FX_INT32 nIndex) const { if (nIndex >= 0 && nIndex < CFX_Arra yTemplate<TYPE>::GetSize()) return CFX_ArrayTemplate<TYPE>::GetAt(nIndex); retur n NULL;} 211
212 void RemoveAt(FX_INT32 nIndex){if (nIndex >= 0 && nIndex < CFX_ArrayTemp late<TYPE>::GetSize()) CFX_ArrayTemplate<TYPE>::RemoveAt(nIndex);} 212 virtual CPDF_Rect GetPlateRect() const;
213 }; 213 virtual CPDF_Rect GetContentRect() const;
214 214
215 class CFX_List : protected CFX_ListContainer , public IFX_List 215 virtual FX_FLOAT GetFontSize() const;
216 { 216 virtual IFX_Edit* GetItemEdit(FX_INT32 nIndex) const;
217 public: 217 virtual FX_INT32 GetCount() const;
218 CFX_List(); 218 virtual FX_BOOL IsItemSelected(FX_INT32 nIndex) const;
219 virtual ~CFX_List(); 219 virtual FX_FLOAT GetFirstHeight() const;
220 220
221 public: 221 virtual void SetMultipleSel(FX_BOOL bMultiple);
222 virtual void SetFontMap(IFX_Edit_Font Map * pFontMap); 222 virtual FX_BOOL IsMultipleSel() const;
223 virtual void SetFontSize(FX_FLOAT fFo ntSize); 223 virtual FX_BOOL IsValid(FX_INT32 nItemIndex) const;
224 224 virtual FX_INT32 FindNext(FX_INT32 nIndex, FX_WCHAR nChar) const;
225 virtual CPDF_Rect GetPlateRect() const; 225
226 virtual CPDF_Rect GetContentRect() const; 226 protected:
227 227 virtual void Empty();
228 virtual FX_FLOAT GetFontSize() const; 228
229 virtual IFX_Edit* GetItemEdit(FX_INT32 nIn dex) const; 229 void AddItem(FX_LPCWSTR str);
230 virtual FX_INT32 GetCount() const; 230 virtual void ReArrange(FX_INT32 nItemIndex);
231 virtual FX_BOOL IsItemSelected(FX_INT32 nIndex) const; 231
232 virtual FX_FLOAT GetFirstHeight() const; 232 virtual CPDF_Rect GetItemRect(FX_INT32 nIndex) const;
233 233 CFX_WideString GetItemText(FX_INT32 nIndex) const;
234 virtual void SetMultipleSel(FX_BOOL b Multiple); 234
235 virtual FX_BOOL IsMultipleSel() const; 235 void SetItemSelect(FX_INT32 nItemIndex, FX_BOOL bSelected);
236 virtual FX_BOOL IsValid(FX_INT32 nItemIn dex) const; 236 void SetItemCaret(FX_INT32 nItemIndex, FX_BOOL bCaret);
237 virtual FX_INT32 FindNext(FX_INT32 nIndex ,FX_WCHAR nChar) const; 237
238 238 virtual FX_INT32 GetItemIndex(const CPDF_Point& point) const;
239 protected: 239 FX_INT32 GetFirstSelected() const;
240 virtual void Empty(); 240 FX_INT32 GetLastSelected() const;
241 241 FX_WCHAR Toupper(FX_WCHAR c) const;
242 void AddItem(FX_LPCWS TR str); 242
243 virtual void ReArrange(FX_INT32 nItem Index); 243 private:
244 244 CLST_ArrayTemplate<CFX_ListItem*> m_aListItems;
245 virtual CPDF_Rect GetItemRect(FX_INT32 nIn dex) const; 245 FX_FLOAT m_fFontSize;
246 CFX_WideString GetItemText(FX_INT32 nIn dex) const; 246 IFX_Edit_FontMap* m_pFontMap;
247 247 FX_BOOL m_bMultiple;
248 void SetItemSelect(FX _INT32 nItemIndex, FX_BOOL bSelected); 248 };
249 void SetItemCaret(FX_ INT32 nItemIndex, FX_BOOL bCaret); 249
250 250 struct CPLST_Select_Item {
251 virtual FX_INT32 GetItemIndex(const CPDF_ Point & point) const; 251 CPLST_Select_Item(FX_INT32 nItemIndex, FX_INT32 nState) {
252 FX_INT32 GetFirstSelected () const; 252 this->nItemIndex = nItemIndex;
253 FX_INT32 GetLastSelected( ) const; 253 this->nState = nState;
254 FX_WCHAR Toupper(FX_WCHAR c) const; 254 }
255 255
256 private: 256 FX_INT32 nItemIndex;
257 CLST_ArrayTemplate<CFX_ListItem*> m_aListItems; 257 FX_INT32 nState; // 0:normal select -1:to deselect 1: to select
258 FX_FLOAT m_fFontS ize; 258 };
259 IFX_Edit_FontMap* m_pFontMap; 259
260 FX_BOOL m_bMulti ple; 260 class CPLST_Select {
261 }; 261 public:
262 262 CPLST_Select();
263 struct CPLST_Select_Item 263 virtual ~CPLST_Select();
264 { 264
265 CPLST_Select_Item(FX_INT32 nItemIndex,FX_INT32 nState) 265 public:
266 { 266 void Add(FX_INT32 nItemIndex);
267 this->nItemIndex = nItemIndex; 267 void Add(FX_INT32 nBeginIndex, FX_INT32 nEndIndex);
268 this->nState = nState; 268 void Sub(FX_INT32 nItemIndex);
269 } 269 void Sub(FX_INT32 nBeginIndex, FX_INT32 nEndIndex);
270 270 FX_BOOL IsExist(FX_INT32 nItemIndex) const;
271 FX_INT32 nItemIndex; 271 FX_INT32 Find(FX_INT32 nItemIndex) const;
272 FX_INT32 nState; //0:normal select -1:to deselect 1: to s elect 272 FX_INT32 GetCount() const;
273 }; 273 FX_INT32 GetItemIndex(FX_INT32 nIndex) const;
274 274 FX_INT32 GetState(FX_INT32 nIndex) const;
275 class CPLST_Select 275 void Done();
276 { 276 void DeselectAll();
277 public: 277
278 CPLST_Select(); 278 private:
279 virtual ~CPLST_Select(); 279 CFX_ArrayTemplate<CPLST_Select_Item*> m_aItems;
280 280 };
281 public: 281
282 void Add(FX_INT32 nIt emIndex); 282 class CFX_ListCtrl : public CFX_List {
283 void Add(FX_INT32 nBe ginIndex, FX_INT32 nEndIndex); 283 public:
284 void Sub(FX_INT32 nIt emIndex); 284 CFX_ListCtrl();
285 void Sub(FX_INT32 nBe ginIndex, FX_INT32 nEndIndex); 285 virtual ~CFX_ListCtrl();
286 FX_BOOL IsExist(FX_INT32 nItemIndex) const; 286
287 FX_INT32 Find(FX_INT32 nI temIndex) const; 287 public:
288 FX_INT32 GetCount() const ; 288 void SetNotify(IFX_List_Notify* pNotify);
289 FX_INT32 GetItemIndex(FX_ INT32 nIndex) const; 289
290 FX_INT32 GetState(FX_INT3 2 nIndex) const; 290 void OnMouseDown(const CPDF_Point& point, FX_BOOL bShift, FX_BOOL bCtrl);
291 void Done(); 291 void OnMouseMove(const CPDF_Point& point, FX_BOOL bShift, FX_BOOL bCtrl);
292 void DeselectAll(); 292 void OnVK_UP(FX_BOOL bShift, FX_BOOL bCtrl);
293 293 void OnVK_DOWN(FX_BOOL bShift, FX_BOOL bCtrl);
294 private: 294 void OnVK_LEFT(FX_BOOL bShift, FX_BOOL bCtrl);
295 CFX_ArrayTemplate<CPLST_Select_Item*> m_aItems; 295 void OnVK_RIGHT(FX_BOOL bShift, FX_BOOL bCtrl);
296 }; 296 void OnVK_HOME(FX_BOOL bShift, FX_BOOL bCtrl);
297 297 void OnVK_END(FX_BOOL bShift, FX_BOOL bCtrl);
298 class CFX_ListCtrl : public CFX_List 298 void OnVK(FX_INT32 nItemIndex, FX_BOOL bShift, FX_BOOL bCtrl);
299 { 299 FX_BOOL OnChar(FX_WORD nChar, FX_BOOL bShift, FX_BOOL bCtrl);
300 public: 300
301 CFX_ListCtrl(); 301 virtual CPDF_Point InToOut(const CPDF_Point& point) const;
302 virtual ~CFX_ListCtrl(); 302 virtual CPDF_Point OutToIn(const CPDF_Point& point) const;
303 303 virtual CPDF_Rect InToOut(const CPDF_Rect& rect) const;
304 public: 304 virtual CPDF_Rect OutToIn(const CPDF_Rect& rect) const;
305 void SetNotify(IFX_Li st_Notify * pNotify); 305
306 306 virtual void SetPlateRect(const CPDF_Rect& rect);
307 void OnMouseDown(cons t CPDF_Point & point,FX_BOOL bShift,FX_BOOL bCtrl); 307 void SetScrollPos(const CPDF_Point& point);
308 void OnMouseMove(cons t CPDF_Point & point,FX_BOOL bShift,FX_BOOL bCtrl); 308 void ScrollToListItem(FX_INT32 nItemIndex);
309 void OnVK_UP(FX_BOOL bShift,FX_BOOL bCtrl); 309 virtual CPDF_Rect GetItemRect(FX_INT32 nIndex) const;
310 void OnVK_DOWN(FX_BOO L bShift,FX_BOOL bCtrl); 310 FX_INT32 GetCaret() const { return m_nCaretIndex; }
311 void OnVK_LEFT(FX_BOO L bShift,FX_BOOL bCtrl); 311 FX_INT32 GetSelect() const { return m_nSelItem; }
312 void OnVK_RIGHT(FX_BO OL bShift,FX_BOOL bCtrl); 312 FX_INT32 GetTopItem() const;
313 void OnVK_HOME(FX_BOO L bShift,FX_BOOL bCtrl); 313 virtual CPDF_Rect GetContentRect() const;
314 void OnVK_END(FX_BOOL bShift,FX_BOOL bCtrl); 314 virtual FX_INT32 GetItemIndex(const CPDF_Point& point) const;
315 void OnVK(FX_INT32 nI temIndex,FX_BOOL bShift,FX_BOOL bCtrl); 315
316 FX_BOOL OnChar(FX_WORD n Char,FX_BOOL bShift,FX_BOOL bCtrl); 316 void AddString(FX_LPCWSTR string);
317 317 void SetTopItem(FX_INT32 nIndex);
318 virtual CPDF_Point InToOut(const CPDF_Point & point) const; 318 void Select(FX_INT32 nItemIndex);
319 virtual CPDF_Point OutToIn(const CPDF_Point & point) const; 319 virtual void SetCaret(FX_INT32 nItemIndex);
320 virtual CPDF_Rect InToOut(const CPDF_Rect & rect) const; 320 virtual void Empty();
321 virtual CPDF_Rect OutToIn(const CPDF_Rect & rect) const; 321 virtual void Cancel();
322 322 CFX_WideString GetText() const;
323 virtual void SetPlateRect(const CPDF_ Rect & rect); 323
324 void SetScrollPos(con st CPDF_Point & point); 324 private:
325 void ScrollToListItem (FX_INT32 nItemIndex); 325 void SetMultipleSelect(FX_INT32 nItemIndex, FX_BOOL bSelected);
326 virtual CPDF_Rect GetItemRect(FX_INT32 nIn dex) const; 326 void SetSingleSelect(FX_INT32 nItemIndex);
327 FX_INT32 GetCaret() const {return m_nCaretIndex;} 327 void InvalidateItem(FX_INT32 nItemIndex);
328 FX_INT32 GetSelect() cons t {return m_nSelItem;} 328 void SelectItems();
329 FX_INT32 GetTopItem() con st; 329 FX_BOOL IsItemVisible(FX_INT32 nItemIndex) const;
330 virtual CPDF_Rect GetContentRect() const; 330 void SetScrollInfo();
331 virtual FX_INT32 GetItemIndex(const CPDF_ Point & point) const; 331 void SetScrollPosY(FX_FLOAT fy);
332 332 virtual void ReArrange(FX_INT32 nItemIndex);
333 void AddString(FX_LPC WSTR string); 333
334 void SetTopItem(FX_IN T32 nIndex); 334 private:
335 void Select(FX_INT32 nItemIndex); 335 IFX_List_Notify* m_pNotify;
336 virtual void SetCaret(FX_INT32 nItemI ndex); 336 FX_BOOL m_bNotifyFlag;
337 virtual void Empty(); 337 CPDF_Point m_ptScrollPos;
338 virtual void Cancel(); 338 CPLST_Select m_aSelItems; // for multiple
339 CFX_WideString GetText() const; 339 FX_INT32 m_nSelItem; // for single
340 340 FX_INT32 m_nFootIndex; // for multiple
341 private: 341 FX_BOOL m_bCtrlSel; // for multiple
342 void SetMultipleSelec t(FX_INT32 nItemIndex, FX_BOOL bSelected); 342 FX_INT32 m_nCaretIndex; // for multiple
343 void SetSingleSelect( FX_INT32 nItemIndex);
344 void InvalidateItem(F X_INT32 nItemIndex);
345 void SelectItems();
346 FX_BOOL IsItemVisible(FX _INT32 nItemIndex) const;
347 void SetScrollInfo();
348 void SetScrollPosY(FX _FLOAT fy);
349 virtual void ReArrange(FX_INT32 nItem Index);
350
351 private:
352 IFX_List_Notify* m_pNotify;
353 FX_BOOL m_bNotifyFlag;
354 CPDF_Point m_ptScrollPos;
355 CPLST_Select m_aSelItems; //for mu ltiple
356 FX_INT32 m_nSelItem; //for single
357 FX_INT32 m_nFootIndex; //for multiple
358 FX_BOOL m_bCtrlSel; //for multiple
359 FX_INT32 m_nCaretIndex; //for multiple
360 }; 343 };
361 344
362 #endif 345 #endif
363
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698