Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
cpwl_combo_box.h
Go to the documentation of this file.
1// Copyright 2014 The PDFium Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7#ifndef FPDFSDK_PWL_CPWL_COMBO_BOX_H_
8#define FPDFSDK_PWL_CPWL_COMBO_BOX_H_
9
10#include <memory>
11
12#include "core/fxcrt/unowned_ptr.h"
13#include "fpdfsdk/pwl/cpwl_wnd.h"
14#include "fpdfsdk/pwl/ipwl_fillernotify.h"
15
16class CPWL_Edit;
17class CPWL_CBButton;
18class CPWL_CBListBox;
20
21class CPWL_ComboBox final : public CPWL_Wnd {
22 public:
24 const CreateParams& cp,
25 std::unique_ptr<IPWL_FillerNotify::PerWindowData> pAttachedData);
26 ~CPWL_ComboBox() override;
27
28 CPWL_Edit* GetEdit() const { return m_pEdit; }
29
30 // CPWL_Wnd:
31 void OnDestroy() override;
32 bool OnKeyDown(FWL_VKEYCODE nKeyCode, Mask<FWL_EVENTFLAG> nFlag) override;
33 bool OnChar(uint16_t nChar, Mask<FWL_EVENTFLAG> nFlag) override;
34 void NotifyLButtonDown(CPWL_Wnd* child, const CFX_PointF& pos) override;
35 void NotifyLButtonUp(CPWL_Wnd* child, const CFX_PointF& pos) override;
36 void CreateChildWnd(const CreateParams& cp) override;
37 bool RepositionChildWnd() override;
38 CFX_FloatRect GetFocusRect() const override;
39 void SetFocus() override;
40 void KillFocus() override;
41 WideString GetText() override;
42 WideString GetSelectedText() override;
43 void ReplaceAndKeepSelection(const WideString& text) override;
44 void ReplaceSelection(const WideString& text) override;
45 bool SelectAllText() override;
46 bool CanUndo() override;
47 bool CanRedo() override;
48 bool Undo() override;
49 bool Redo() override;
50
51 void SetText(const WideString& text);
52 void AddString(const WideString& str);
53 int32_t GetSelect() const;
54 void SetSelect(int32_t nItemIndex);
55
56 void SetEditSelection(int32_t nStartChar, int32_t nEndChar);
57 void ClearSelection();
58 void SelectAll();
59 bool IsPopup() const;
60 void SetSelectText();
61
62 private:
63 void CreateEdit(const CreateParams& cp);
64 void CreateButton(const CreateParams& cp);
65 void CreateListBox(const CreateParams& cp);
66
67 // Returns |true| iff this instance is still allocated.
68 [[nodiscard]] bool SetPopup(bool bPopup);
69
70 UnownedPtr<CPWL_Edit> m_pEdit;
71 UnownedPtr<CPWL_CBButton> m_pButton;
72 UnownedPtr<CPWL_CBListBox> m_pList;
73 CFX_FloatRect m_rcOldWindow;
74 bool m_bPopup = false;
75 bool m_bBottom = true;
76 int32_t m_nSelectItem = -1;
77};
78
79#endif // FPDFSDK_PWL_CPWL_COMBO_BOX_H_
bool OnChar(CPDFSDK_Widget *pWidget, uint32_t nChar, Mask< FWL_EVENTFLAG > nFlags) override
void SavePWLWindowState(const CPDFSDK_PageView *pPageView) override
void SaveData(const CPDFSDK_PageView *pPageView) override
std::unique_ptr< CPWL_Wnd > NewPWLWindow(const CPWL_Wnd::CreateParams &cp, std::unique_ptr< IPWL_FillerNotify::PerWindowData > pAttachedData) override
void RecreatePWLWindowFromSavedState(const CPDFSDK_PageView *pPageView) override
void GetActionData(const CPDFSDK_PageView *pPageView, CPDF_AAction::AActionType type, CFFL_FieldAction &fa) override
bool IsDataChanged(const CPDFSDK_PageView *pPageView) override
~CFFL_ComboBox() override
CPWL_Wnd::CreateParams GetCreateParam() override
CFFL_ComboBox(CFFL_InteractiveFormFiller *pFormFiller, CPDFSDK_Widget *pWidget)
void SetActionData(const CPDFSDK_PageView *pPageView, CPDF_AAction::AActionType type, const CFFL_FieldAction &fa) override
bool IsIndexSelected(int index) override
bool SetIndexSelected(int index, bool selected) override
void OnSetFocusForEdit(CPWL_Edit *pEdit) override
virtual bool OnChar(CPDFSDK_Widget *pAnnot, uint32_t nChar, Mask< FWL_EVENTFLAG > nFlags)
CPWL_Wnd * GetPWLWindow(const CPDFSDK_PageView *pPageView) const
CPWL_Wnd * CreateOrUpdatePWLWindow(const CPDFSDK_PageView *pPageView)
virtual CPWL_Wnd::CreateParams GetCreateParam()
CPDFSDK_PageView * GetCurPageView()
bool IsValid() const
void SetFormField(CFFL_FormField *pFormField)
CFFL_FormField * GetFormField()
std::unique_ptr< IPWL_FillerNotify::PerWindowData > Clone() const override
uint32_t GetValueAge() const
CFFL_PerWindowData & operator=(const CFFL_PerWindowData &that)=delete
const CPDFSDK_PageView * GetPageView() const
bool AppearanceAgeEquals(uint32_t age) const
CPDFSDK_Widget * GetWidget() const
CFFL_PerWindowData(CPDFSDK_Widget *pWidget, const CPDFSDK_PageView *pPageView, uint32_t nAppearanceAge, uint32_t nValueAge)
~CFFL_PerWindowData() override
~CFFL_TextObject() override
CPDF_BAFontMap * GetOrCreateFontMap()
CFFL_TextObject(CFFL_InteractiveFormFiller *pFormFiller, CPDFSDK_Widget *pWidget)
CPWL_Wnd * ResetPWLWindow(const CPDFSDK_PageView *pPageView) override
CPWL_Wnd * RestorePWLWindow(const CPDFSDK_PageView *pPageView) override
void KillFocus() override
void SetSelect(int32_t nItemIndex)
void SetText(const WideString &text)
CFX_FloatRect GetFocusRect() const override
CPWL_ComboBox(const CreateParams &cp, std::unique_ptr< IPWL_FillerNotify::PerWindowData > pAttachedData)
void AddString(const WideString &str)
bool Undo() override
bool IsPopup() const
bool CanRedo() override
WideString GetSelectedText() override
~CPWL_ComboBox() override
void ReplaceSelection(const WideString &text) override
void ReplaceAndKeepSelection(const WideString &text) override
bool OnKeyDown(FWL_VKEYCODE nKeyCode, Mask< FWL_EVENTFLAG > nFlag) override
int32_t GetSelect() const
WideString GetText() override
bool OnChar(uint16_t nChar, Mask< FWL_EVENTFLAG > nFlag) override
bool CanUndo() override
bool SelectAllText() override
void NotifyLButtonDown(CPWL_Wnd *child, const CFX_PointF &pos) override
void SetFocus() override
void CreateChildWnd(const CreateParams &cp) override
void OnDestroy() override
void SetEditSelection(int32_t nStartChar, int32_t nEndChar)
CPWL_Edit * GetEdit() const
void NotifyLButtonUp(CPWL_Wnd *child, const CFX_PointF &pos) override
bool Redo() override
bool RepositionChildWnd() override
bool IsTextFull() const
WideString GetText() override
void SetCharSet(FX_Charset nCharSet)
Definition cpwl_edit.h:81
void SetSelection(int32_t nStartChar, int32_t nEndChar)
std::pair< int32_t, int32_t > GetSelection() const
void ReplaceSelection(const WideString &text) override
void SetReadyToInput()
#define PCBS_ALLOWCUSTOMTEXT
Definition cpwl_wnd.h:59
FX_Charset
Definition fx_codepage.h:70
@ kChineseSimplified