Chromium Code Reviews| Index: xfa/fwl/core/ifwl_combobox.h |
| diff --git a/xfa/fwl/core/ifwl_combobox.h b/xfa/fwl/core/ifwl_combobox.h |
| index 8332a793d1367b7b7bfae107c76816634da14629..065d947440dc85bb67f5bfb885e2d0ffe9c91a61 100644 |
| --- a/xfa/fwl/core/ifwl_combobox.h |
| +++ b/xfa/fwl/core/ifwl_combobox.h |
| @@ -7,6 +7,8 @@ |
| #ifndef XFA_FWL_CORE_IFWL_COMBOBOX_H_ |
| #define XFA_FWL_CORE_IFWL_COMBOBOX_H_ |
| +#include "xfa/fwl/core/ifwl_comboboxproxy.h" |
| +#include "xfa/fwl/core/ifwl_comboedit.h" |
| #include "xfa/fwl/core/ifwl_combolist.h" |
| #include "xfa/fwl/core/ifwl_form.h" |
| #include "xfa/fwl/core/ifwl_listbox.h" |
| @@ -15,7 +17,6 @@ |
| class CFWL_WidgetProperties; |
| class IFWL_ComboBox; |
| class IFWL_ComboBoxProxy; |
| -class IFWL_ComboEdit; |
| class IFWL_FormProxy; |
| class IFWL_ListBox; |
| class IFWL_Widget; |
| @@ -99,7 +100,7 @@ class IFWL_ComboBox : public IFWL_Widget { |
| void OnDrawWidget(CFX_Graphics* pGraphics, |
| const CFX_Matrix* pMatrix) override; |
| - int32_t GetCurSel() const; |
| + int32_t GetCurSel() const { return m_iCurSel; } |
| void SetCurSel(int32_t iSel); |
| void SetEditText(const CFX_WideString& wsText); |
| @@ -109,26 +110,34 @@ class IFWL_ComboBox : public IFWL_Widget { |
| void OpenDropDownList(bool bActivate); |
| - bool EditCanUndo(); |
| - bool EditCanRedo(); |
| - bool EditUndo(); |
| - bool EditRedo(); |
| - bool EditCanCopy(); |
| - bool EditCanCut(); |
| - bool EditCanSelectAll(); |
| - bool EditCopy(CFX_WideString& wsCopy); |
| - bool EditCut(CFX_WideString& wsCut); |
| - bool EditPaste(const CFX_WideString& wsPaste); |
| - bool EditSelectAll(); |
| - bool EditDelete(); |
| - bool EditDeSelect(); |
| - |
| - void GetBBox(CFX_RectF& rect); |
| + bool EditCanUndo() const { return m_pEdit->CanUndo(); } |
| + bool EditCanRedo() const { return m_pEdit->CanRedo(); } |
| + bool EditUndo() { return m_pEdit->Undo(); } |
| + bool EditRedo() { return m_pEdit->Redo(); } |
| + bool EditCanCopy() const { return m_pEdit->CountSelRanges() > 0; } |
| + bool EditCanCut() const { |
|
npm
2016/11/16 18:37:57
These are 3 lines, why move to header file?
dsinclair
2016/11/16 18:57:14
To keep it consistent with the other Edit* methods
|
| + if (m_pEdit->GetStylesEx() & FWL_STYLEEXT_EDT_ReadOnly) |
| + return false; |
| + return EditCanCopy(); |
| + } |
| + bool EditCanSelectAll() const { return m_pEdit->GetTextLength() > 0; } |
| + bool EditCopy(CFX_WideString& wsCopy) const { return m_pEdit->Copy(wsCopy); } |
| + bool EditCut(CFX_WideString& wsCut) { return m_pEdit->Cut(wsCut); } |
| + bool EditPaste(const CFX_WideString& wsPaste) { |
| + return m_pEdit->Paste(wsPaste); |
| + } |
| + void EditSelectAll() { m_pEdit->AddSelRange(0); } |
| + void EditDelete() { m_pEdit->ClearText(); } |
| + void EditDeSelect() { m_pEdit->ClearSelections(); } |
| + |
| + void GetBBox(CFX_RectF& rect) const; |
| void EditModifyStylesEx(uint32_t dwStylesExAdded, uint32_t dwStylesExRemoved); |
| void DrawStretchHandler(CFX_Graphics* pGraphics, const CFX_Matrix* pMatrix); |
| - bool IsDropListVisible(); |
| - |
| + bool IsDropListVisible() const { |
| + return m_pComboBoxProxy && |
| + !(m_pComboBoxProxy->GetStates() & FWL_WGTSTATE_Invisible); |
| + } |
| void ShowDropList(bool bActivate); |
| IFWL_ComboEdit* GetComboEdit() const { return m_pEdit.get(); } |
| @@ -160,7 +169,7 @@ class IFWL_ComboBox : public IFWL_Widget { |
| FWL_WidgetHit DisForm_HitTest(FX_FLOAT fx, FX_FLOAT fy); |
| void DisForm_DrawWidget(CFX_Graphics* pGraphics, |
| const CFX_Matrix* pMatrix = nullptr); |
| - void DisForm_GetBBox(CFX_RectF& rect); |
| + void DisForm_GetBBox(CFX_RectF& rect) const; |
| void DisForm_Layout(); |
| void OnFocusChanged(CFWL_Message* pMsg, bool bSet = true); |
| void OnLButtonDown(CFWL_MsgMouse* pMsg); |
| @@ -182,7 +191,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_ComboBoxProxy* m_pComboBoxProxy; |
| + IFWL_ComboBoxProxy* m_pComboBoxProxy; // Can this be a unique_ptr? |
| bool m_bLButtonDown; |
| bool m_bUpFormHandler; |
| int32_t m_iCurSel; |