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

Unified Diff: xfa/fwl/core/ifwl_combobox.h

Issue 2467993003: Merge delegates into IFWL_* classes. (Closed)
Patch Set: Add const version Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « xfa/fwl/core/ifwl_checkbox.cpp ('k') | xfa/fwl/core/ifwl_combobox.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: xfa/fwl/core/ifwl_combobox.h
diff --git a/xfa/fwl/core/ifwl_combobox.h b/xfa/fwl/core/ifwl_combobox.h
index 5fab49986cfcf242c02b2c64afe8c4f14c4beb7f..cde99d8df173de7145778ddfbf686428d163c3bc 100644
--- a/xfa/fwl/core/ifwl_combobox.h
+++ b/xfa/fwl/core/ifwl_combobox.h
@@ -11,14 +11,9 @@
#include "xfa/fwl/core/ifwl_listbox.h"
#include "xfa/fxgraphics/cfx_graphics.h"
-class CFWL_ComboBoxImpDelegate;
-class CFWL_ComboEditImpDelegate;
-class CFWL_ComboListImpDelegate;
-class CFWL_ComboProxyImpDelegate;
-class CFWL_ListBoxImpDelegate;
class CFWL_WidgetImpProperties;
-class CFWL_WidgetImpDelegate;
class IFWL_ComboBox;
+class IFWL_ComboBoxProxy;
class IFWL_ComboEdit;
class IFWL_ComboList;
class IFWL_FormProxy;
@@ -99,6 +94,10 @@ class IFWL_ComboBox : public IFWL_Widget {
FWL_Error DrawWidget(CFX_Graphics* pGraphics,
const CFX_Matrix* pMatrix = nullptr) override;
FWL_Error SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) override;
+ void OnProcessMessage(CFWL_Message* pMessage) override;
+ void OnProcessEvent(CFWL_Event* pEvent) override;
+ void OnDrawWidget(CFX_Graphics* pGraphics,
+ const CFX_Matrix* pMatrix) override;
int32_t GetCurSel();
FWL_Error SetCurSel(int32_t iSel);
@@ -134,18 +133,16 @@ class IFWL_ComboBox : public IFWL_Widget {
FWL_Error EditModifyStylesEx(uint32_t dwStylesExAdded,
uint32_t dwStylesExRemoved);
- protected:
- friend class CFWL_ComboBoxImpDelegate;
- friend class CFWL_ComboEditImpDelegate;
- friend class CFWL_ComboListImpDelegate;
- friend class CFWL_ComboProxyImpDelegate;
- friend class IFWL_ComboEdit;
- friend class IFWL_ComboList;
-
void DrawStretchHandler(CFX_Graphics* pGraphics, const CFX_Matrix* pMatrix);
- FX_FLOAT GetListHeight();
- void ShowDropList(FX_BOOL bActivate);
FX_BOOL IsDropListShowed();
+ void ShowDropList(FX_BOOL bActivate);
+
+ IFWL_ComboEdit* GetComboEdit() const { return m_pEdit.get(); }
+ void ProcessSelChanged(FX_BOOL bLButtonUp);
+ int32_t GetCurrentSelection() const { return m_iCurSel; }
+
+ protected:
+ FX_FLOAT GetListHeight();
FX_BOOL IsDropDownStyle() const;
void MatchEditText();
void SynchrEditText(int32_t iListItem);
@@ -153,7 +150,6 @@ class IFWL_ComboBox : public IFWL_Widget {
void ReSetTheme();
void ReSetEditAlignment();
void ReSetListItemAlignment();
- void ProcessSelChanged(FX_BOOL bLButtonUp);
void InitProxyForm();
void DisForm_InitComboList();
void DisForm_InitComboEdit();
@@ -176,7 +172,7 @@ class IFWL_ComboBox : public IFWL_Widget {
CFX_RectF m_rtHandler;
std::unique_ptr<IFWL_ComboEdit> m_pEdit;
std::unique_ptr<IFWL_ComboList> m_pListBox;
- IFWL_FormProxy* m_pForm;
+ IFWL_ComboBoxProxy* m_pComboBoxProxy;
FX_BOOL m_bLButtonDown;
FX_BOOL m_bUpFormHandler;
int32_t m_iCurSel;
@@ -184,18 +180,8 @@ class IFWL_ComboBox : public IFWL_Widget {
FX_FLOAT m_fComboFormHandler;
FX_FLOAT m_fItemHeight;
FX_BOOL m_bNeedShowList;
- CFWL_ComboProxyImpDelegate* m_pListProxyDelegate;
-};
-
-class CFWL_ComboBoxImpDelegate : public CFWL_WidgetImpDelegate {
- public:
- CFWL_ComboBoxImpDelegate(IFWL_ComboBox* pOwner);
- void OnProcessMessage(CFWL_Message* pMessage) override;
- void OnProcessEvent(CFWL_Event* pEvent) override;
- void OnDrawWidget(CFX_Graphics* pGraphics,
- const CFX_Matrix* pMatrix = nullptr) override;
- protected:
+ private:
void OnFocusChanged(CFWL_Message* pMsg, FX_BOOL bSet = TRUE);
void OnLButtonDown(CFWL_MsgMouse* pMsg);
void OnLButtonUp(CFWL_MsgMouse* pMsg);
@@ -208,30 +194,6 @@ class CFWL_ComboBoxImpDelegate : public CFWL_WidgetImpDelegate {
void DisForm_OnFocusChanged(CFWL_Message* pMsg, FX_BOOL bSet = TRUE);
void DisForm_OnKey(CFWL_MsgKey* pMsg);
- IFWL_ComboBox* m_pOwner;
- friend class CFWL_ComboEditImpDelegate;
- friend class CFWL_ComboListImpDelegate;
-};
-
-class CFWL_ComboProxyImpDelegate : public CFWL_WidgetImpDelegate {
- public:
- CFWL_ComboProxyImpDelegate(IFWL_Form* pForm, IFWL_ComboBox* pComboBox);
- void OnProcessMessage(CFWL_Message* pMessage) override;
- void OnDrawWidget(CFX_Graphics* pGraphics,
- const CFX_Matrix* pMatrix = nullptr) override;
- void Reset() { m_bLButtonUpSelf = FALSE; }
-
- protected:
- void OnLButtonDown(CFWL_MsgMouse* pMsg);
- void OnLButtonUp(CFWL_MsgMouse* pMsg);
- void OnMouseMove(CFWL_MsgMouse* pMsg);
- void OnDeactive(CFWL_MsgDeactivate* pMsg);
- void OnFocusChanged(CFWL_MsgKillFocus* pMsg, FX_BOOL bSet);
- FX_BOOL m_bLButtonDown;
- FX_BOOL m_bLButtonUpSelf;
- FX_FLOAT m_fStartPos;
- IFWL_Form* m_pForm;
- IFWL_ComboBox* m_pComboBox;
};
#endif // XFA_FWL_CORE_IFWL_COMBOBOX_H_
« no previous file with comments | « xfa/fwl/core/ifwl_checkbox.cpp ('k') | xfa/fwl/core/ifwl_combobox.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698