// Copyright 2014 PDFium Authors. All rights reserved. | |
// Use of this source code is governed by a BSD-style license that can be | |
// found in the LICENSE file. | |
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | |
#ifndef _PWL_COMBOBOX_H_ | |
#define _PWL_COMBOBOX_H_ | |
class CPWL_CBEdit : public CPWL_Edit | |
{ | |
public: | |
CPWL_CBEdit(){}; | |
virtual ~CPWL_CBEdit(){}; | |
}; | |
class PWL_CLASS CPWL_CBListBox : public CPWL_ListBox | |
{ | |
public: | |
CPWL_CBListBox(){}; | |
virtual ~CPWL_CBListBox(){}; | |
public: | |
virtual FX_BOOL OnLButtonUp(const CPDF_Point & point, FX_DWORD nFlag); | |
virtual FX_BOOL OnKeyDown(FX_WORD nChar, FX_BOOL & bExit, FX_DWORD nFlag); | |
virtual FX_BOOL OnChar(FX_WORD nChar, FX_BOOL & bExit, FX_DWORD nFlag); | |
}; | |
#define PWL_COMBOBOX_BUTTON_WIDTH 13 | |
class CPWL_CBButton : public CPWL_Wnd | |
{ | |
public: | |
CPWL_CBButton(){}; | |
virtual ~CPWL_CBButton(){}; | |
public: | |
virtual void GetThisAppearanceStream(CFX_ByteTextBuf & sAppStream); | |
virtual void DrawThisAppearance(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device); | |
virtual FX_BOOL OnLButtonDown(const CPDF_Point & point, FX_DWORD nFlag); | |
virtual FX_BOOL OnLButtonUp(const CPDF_Point & point, FX_DWORD nFlag); | |
}; | |
class PWL_CLASS CPWL_ComboBox : public CPWL_Wnd | |
{ | |
public: | |
CPWL_ComboBox(); | |
operator CPWL_Edit* () {return m_pEdit;} | |
public: | |
virtual CFX_ByteString GetClassName() const; | |
virtual void OnCreate(PWL_CREATEPARAM & cp); | |
virtual FX_BOOL OnKeyDown(FX_WORD nChar, FX_DWORD nFlag); | |
virtual FX_BOOL OnChar(FX_WORD nChar, FX_DWORD nFlag); | |
virtual void OnNotify(CPWL_Wnd* pWnd, FX_DWORD msg, FX_INTPTR wParam = 0, FX_INTPTR lParam = 0); | |
virtual void CreateChildWnd(const PWL_CREATEPARAM & cp); | |
virtual void RePosChildWnd(); | |
virtual CPDF_Rect GetFocusRect() const; | |
virtual void SetFocus(); | |
virtual void KillFocus(); | |
FX_BOOL IsModified() const; | |
public: | |
void SetFillerNotify(IPWL_Filler_Notify* pNotify); | |
CFX_WideString GetText() const; | |
void SetText(FX_LPCWSTR text); | |
void AddString(FX_LPCWSTR string); | |
FX_INT32 GetSelect() const; | |
void SetSelect(FX_INT32 nItemIndex); | |
void SetEditSel(FX_INT32 nStartChar,FX_INT32 nEndChar); | |
void GetEditSel(FX_INT32 & nStartChar, FX_INT32 & nEndChar ) const; | |
void Clear(); | |
void SelectAll(); | |
FX_BOOL IsPopup() const; | |
void SetSelectText(); | |
private: | |
void CreateEdit(const PWL_CREATEPARAM & cp); | |
void CreateButton(const PWL_CREATEPARAM & cp); | |
void CreateListBox(const PWL_CREATEPARAM & cp); | |
void SetPopup(FX_BOOL bPopup); | |
private: | |
CPWL_CBEdit* m_pEdit; | |
CPWL_CBButton* m_pButton; | |
CPWL_CBListBox* m_pList; | |
FX_BOOL m_bPopup; | |
CPDF_Rect m_rcOldWindow; | |
FX_INT32 m_nPopupWhere; | |
FX_INT32 m_nSelectItem; | |
IPWL_Filler_Notify* m_pFillerNotify; | |
public: | |
void AttachFFLData(void* pData) {m_pFormFiller = pData;} | |
private: | |
void* m_pFormFiller; | |
}; | |
#endif // !defined(AFX_PWL_COMBOBOX_H__9D6645F8_64AA_4806_94E8_95FDEDD39C17__INCLUDED_) | |