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

Side by Side Diff: xfa/fwl/core/ifwl_checkbox.h

Issue 2527683002: Remove DataProvider from CFWL_WidgetProperties (Closed)
Patch Set: Rebase to master Created 4 years 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
« no previous file with comments | « xfa/fwl/core/ifwl_barcode.cpp ('k') | xfa/fwl/core/ifwl_checkbox.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 XFA_FWL_CORE_IFWL_CHECKBOX_H_ 7 #ifndef XFA_FWL_CORE_IFWL_CHECKBOX_H_
8 #define XFA_FWL_CORE_IFWL_CHECKBOX_H_ 8 #define XFA_FWL_CORE_IFWL_CHECKBOX_H_
9 9
10 #include <memory> 10 #include <memory>
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 #define FWL_STATE_CKB_Checked (1 << (FWL_WGTSTATE_MAX + 2)) 43 #define FWL_STATE_CKB_Checked (1 << (FWL_WGTSTATE_MAX + 2))
44 #define FWL_STATE_CKB_Neutral (2 << (FWL_WGTSTATE_MAX + 2)) 44 #define FWL_STATE_CKB_Neutral (2 << (FWL_WGTSTATE_MAX + 2))
45 #define FWL_STATE_CKB_CheckMask (3L << (FWL_WGTSTATE_MAX + 2)) 45 #define FWL_STATE_CKB_CheckMask (3L << (FWL_WGTSTATE_MAX + 2))
46 46
47 class CFWL_MsgMouse; 47 class CFWL_MsgMouse;
48 class CFWL_WidgetProperties; 48 class CFWL_WidgetProperties;
49 class IFWL_Widget; 49 class IFWL_Widget;
50 50
51 class IFWL_CheckBox : public IFWL_Widget { 51 class IFWL_CheckBox : public IFWL_Widget {
52 public: 52 public:
53 class DataProvider : public IFWL_Widget::DataProvider { 53 class DataProvider {
54 public: 54 public:
55 virtual FX_FLOAT GetBoxSize(IFWL_Widget* pWidget) = 0; 55 virtual FX_FLOAT GetBoxSize(IFWL_Widget* pWidget) = 0;
56 }; 56 };
57 57
58 IFWL_CheckBox(const CFWL_App* app, 58 IFWL_CheckBox(const CFWL_App* app,
59 std::unique_ptr<CFWL_WidgetProperties> properties); 59 std::unique_ptr<CFWL_WidgetProperties> properties);
60 ~IFWL_CheckBox() override; 60 ~IFWL_CheckBox() override;
61 61
62 // IFWL_Widget 62 // IFWL_Widget
63 FWL_Type GetClassID() const override; 63 FWL_Type GetClassID() const override;
64 void GetWidgetRect(CFX_RectF& rect, bool bAutoSize = false) override; 64 void GetWidgetRect(CFX_RectF& rect, bool bAutoSize = false) override;
65 void Update() override; 65 void Update() override;
66 void DrawWidget(CFX_Graphics* pGraphics, 66 void DrawWidget(CFX_Graphics* pGraphics,
67 const CFX_Matrix* pMatrix = nullptr) override; 67 const CFX_Matrix* pMatrix = nullptr) override;
68 68
69 void OnProcessMessage(CFWL_Message* pMessage) override; 69 void OnProcessMessage(CFWL_Message* pMessage) override;
70 void OnDrawWidget(CFX_Graphics* pGraphics, 70 void OnDrawWidget(CFX_Graphics* pGraphics,
71 const CFX_Matrix* pMatrix) override; 71 const CFX_Matrix* pMatrix) override;
72 72
73 void SetDataProvider(IFWL_CheckBox::DataProvider* pProvider) {
74 m_pDataProvider = pProvider;
75 }
76
73 private: 77 private:
74 void SetCheckState(int32_t iCheck); 78 void SetCheckState(int32_t iCheck);
75 void Layout(); 79 void Layout();
76 uint32_t GetPartStates() const; 80 uint32_t GetPartStates() const;
77 void UpdateTextOutStyles(); 81 void UpdateTextOutStyles();
78 void NextStates(); 82 void NextStates();
79 void OnFocusChanged(bool bSet); 83 void OnFocusChanged(bool bSet);
80 void OnLButtonDown(); 84 void OnLButtonDown();
81 void OnLButtonUp(CFWL_MsgMouse* pMsg); 85 void OnLButtonUp(CFWL_MsgMouse* pMsg);
82 void OnMouseMove(CFWL_MsgMouse* pMsg); 86 void OnMouseMove(CFWL_MsgMouse* pMsg);
83 void OnMouseLeave(); 87 void OnMouseLeave();
84 void OnKeyDown(CFWL_MsgKey* pMsg); 88 void OnKeyDown(CFWL_MsgKey* pMsg);
85 89
90 IFWL_CheckBox::DataProvider* m_pDataProvider; // Not owned.
86 CFX_RectF m_rtClient; 91 CFX_RectF m_rtClient;
87 CFX_RectF m_rtBox; 92 CFX_RectF m_rtBox;
88 CFX_RectF m_rtCaption; 93 CFX_RectF m_rtCaption;
89 CFX_RectF m_rtFocus; 94 CFX_RectF m_rtFocus;
90 uint32_t m_dwTTOStyles; 95 uint32_t m_dwTTOStyles;
91 int32_t m_iTTOAlign; 96 int32_t m_iTTOAlign;
92 bool m_bBtnDown; 97 bool m_bBtnDown;
93 }; 98 };
94 99
95 #endif // XFA_FWL_CORE_IFWL_CHECKBOX_H_ 100 #endif // XFA_FWL_CORE_IFWL_CHECKBOX_H_
OLDNEW
« no previous file with comments | « xfa/fwl/core/ifwl_barcode.cpp ('k') | xfa/fwl/core/ifwl_checkbox.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698