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
cffl_listbox.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_FORMFILLER_CFFL_LISTBOX_H_
8#define FPDFSDK_FORMFILLER_CFFL_LISTBOX_H_
9
10#include <memory>
11#include <set>
12#include <vector>
13
14#include "fpdfsdk/formfiller/cffl_textobject.h"
15
16class CPWL_ListBox;
17
18class CFFL_ListBox final : public CFFL_TextObject {
19 public:
20 CFFL_ListBox(CFFL_InteractiveFormFiller* pFormFiller,
21 CPDFSDK_Widget* pWidget);
22 ~CFFL_ListBox() override;
23
24 // CFFL_TextObject:
27 const CPWL_Wnd::CreateParams& cp,
28 std::unique_ptr<IPWL_FillerNotify::PerWindowData> pAttachedData) override;
29 bool OnChar(CPDFSDK_Widget* pWidget,
30 uint32_t nChar,
31 Mask<FWL_EVENTFLAG> nFlags) override;
32 bool IsDataChanged(const CPDFSDK_PageView* pPageView) override;
33 void SaveData(const CPDFSDK_PageView* pPageView) override;
34 void GetActionData(const CPDFSDK_PageView* pPageView,
36 CFFL_FieldAction& fa) override;
37 void SavePWLWindowState(const CPDFSDK_PageView* pPageView) override;
39 const CPDFSDK_PageView* pPageView) override;
40 bool SetIndexSelected(int index, bool selected) override;
41 bool IsIndexSelected(int index) override;
42
43 private:
44 CPWL_ListBox* GetPWLListBox(const CPDFSDK_PageView* pPageView) const;
45 CPWL_ListBox* CreateOrUpdatePWLListBox(const CPDFSDK_PageView* pPageView);
46
47 std::set<int> m_OriginSelections;
48 std::vector<int> m_State;
49};
50
51#endif // FPDFSDK_FORMFILLER_CFFL_LISTBOX_H_
virtual void RecreatePWLWindowFromSavedState(const CPDFSDK_PageView *pPageView)
CFX_FloatRect GetFocusBox(const CPDFSDK_PageView *pPageView)
virtual bool OnChar(CPDFSDK_Widget *pAnnot, uint32_t nChar, Mask< FWL_EVENTFLAG > nFlags)
WideString GetSelectedText()
virtual bool OnLButtonDown(CPDFSDK_PageView *pPageView, CPDFSDK_Widget *pAnnot, Mask< FWL_EVENTFLAG > nFlags, const CFX_PointF &point)
void ReplaceSelection(const WideString &text)
virtual bool SetIndexSelected(int index, bool selected)
virtual bool OnLButtonDblClk(CPDFSDK_PageView *pPageView, Mask< FWL_EVENTFLAG > nFlags, const CFX_PointF &point)
bool CommitData(const CPDFSDK_PageView *pPageView, Mask< FWL_EVENTFLAG > nFlag)
virtual bool OnKeyDown(FWL_VKEYCODE nKeyCode, Mask< FWL_EVENTFLAG > nFlags)
void SetFocusForAnnot(CPDFSDK_Widget *pWidget, Mask< FWL_EVENTFLAG > nFlag)
virtual void GetActionData(const CPDFSDK_PageView *pPageView, CPDF_AAction::AActionType type, CFFL_FieldAction &fa)
virtual bool OnMouseMove(CPDFSDK_PageView *pPageView, Mask< FWL_EVENTFLAG > nFlags, const CFX_PointF &point)
virtual bool IsIndexSelected(int index)
virtual bool OnMouseWheel(CPDFSDK_PageView *pPageView, Mask< FWL_EVENTFLAG > nFlags, const CFX_PointF &point, const CFX_Vector &delta)
virtual void OnDrawDeactive(CPDFSDK_PageView *pPageView, CPDFSDK_Widget *pWidget, CFX_RenderDevice *pDevice, const CFX_Matrix &mtUser2Device)
CFFL_PerWindowData * GetPerPWLWindowData(const CPDFSDK_PageView *pPageView)
virtual bool OnRButtonUp(CPDFSDK_PageView *pPageView, Mask< FWL_EVENTFLAG > nFlags, const CFX_PointF &point)
void ReplaceAndKeepSelection(const WideString &text)
virtual void SetActionData(const CPDFSDK_PageView *pPageView, CPDF_AAction::AActionType type, const CFFL_FieldAction &fa)
void KillFocusForAnnot(Mask< FWL_EVENTFLAG > nFlag)
virtual void OnMouseExit(CPDFSDK_PageView *pPageView)
virtual bool OnLButtonUp(CPDFSDK_PageView *pPageView, CPDFSDK_Widget *pAnnot, Mask< FWL_EVENTFLAG > nFlags, const CFX_PointF &point)
virtual void OnDraw(CPDFSDK_PageView *pPageView, CPDFSDK_Widget *pWidget, CFX_RenderDevice *pDevice, const CFX_Matrix &mtUser2Device)
virtual void OnMouseEnter(CPDFSDK_PageView *pPageView)
FX_RECT GetViewBBox(const CPDFSDK_PageView *pPageView)
virtual void SavePWLWindowState(const CPDFSDK_PageView *pPageView)
virtual bool OnRButtonDown(CPDFSDK_PageView *pPageView, Mask< FWL_EVENTFLAG > nFlags, const CFX_PointF &point)
void ResetPWLWindowForValueAge(const CPDFSDK_PageView *pPageView, CPDFSDK_Widget *pWidget, uint32_t nValueAge)
bool IsValid() const
WideString GetText()
bool OnChar(CPDFSDK_Widget *pWidget, uint32_t nChar, Mask< FWL_EVENTFLAG > nFlags)
void OnSetFieldInputFocus(const WideString &text)
bool OnRButtonDown(CPDFSDK_PageView *pPageView, ObservedPtr< CPDFSDK_Widget > &pWidget, Mask< FWL_EVENTFLAG > nFlags, const CFX_PointF &point)
CFX_Timer::HandlerIface * GetTimerHandler()
bool OnMouseMove(CPDFSDK_PageView *pPageView, ObservedPtr< CPDFSDK_Widget > &pWidget, Mask< FWL_EVENTFLAG > nFlags, const CFX_PointF &point)
bool OnRButtonUp(CPDFSDK_PageView *pPageView, ObservedPtr< CPDFSDK_Widget > &pWidget, Mask< FWL_EVENTFLAG > nFlags, const CFX_PointF &point)
bool Annot_HitTest(const CPDFSDK_Widget *pWidget, const CFX_PointF &point)
CPDFSDK_PageView * GetOrCreatePageView(IPDF_Page *pPage)
bool IsIndexSelected(ObservedPtr< CPDFSDK_Widget > &pWidget, int index)
bool OnMouseWheel(CPDFSDK_PageView *pPageView, ObservedPtr< CPDFSDK_Widget > &pWidget, Mask< FWL_EVENTFLAG > nFlags, const CFX_PointF &point, const CFX_Vector &delta)
WideString GetText(CPDFSDK_Widget *pWidget)
WideString GetSelectedText(CPDFSDK_Widget *pWidget)
void SetCursor(CursorStyle nCursorStyle) override
CFFL_InteractiveFormFiller(CallbackIface *pCallbackIface)
bool OnValidate(ObservedPtr< CPDFSDK_Widget > &pWidget, const CPDFSDK_PageView *pPageView, Mask< FWL_EVENTFLAG > nFlag)
static bool IsReadOnly(CPDFSDK_Widget *pWidget)
bool OnLButtonDown(CPDFSDK_PageView *pPageView, ObservedPtr< CPDFSDK_Widget > &pWidget, Mask< FWL_EVENTFLAG > nFlags, const CFX_PointF &point)
bool OnKillFocus(ObservedPtr< CPDFSDK_Widget > &pWidget, Mask< FWL_EVENTFLAG > nFlag)
bool OnKeyDown(CPDFSDK_Widget *pWidget, FWL_VKEYCODE nKeyCode, Mask< FWL_EVENTFLAG > nFlags)
bool OnSetFocus(ObservedPtr< CPDFSDK_Widget > &pWidget, Mask< FWL_EVENTFLAG > nFlag)
void OnMouseEnter(CPDFSDK_PageView *pPageView, ObservedPtr< CPDFSDK_Widget > &pWidget, Mask< FWL_EVENTFLAG > nFlag)
bool CanUndo(CPDFSDK_Widget *pWidget)
void OnMouseExit(CPDFSDK_PageView *pPageView, ObservedPtr< CPDFSDK_Widget > &pWidget, Mask< FWL_EVENTFLAG > nFlag)
FX_RECT GetViewBBox(const CPDFSDK_PageView *pPageView, CPDFSDK_Widget *pWidget)
bool OnLButtonUp(CPDFSDK_PageView *pPageView, ObservedPtr< CPDFSDK_Widget > &pWidget, Mask< FWL_EVENTFLAG > nFlags, const CFX_PointF &point)
bool SetIndexSelected(ObservedPtr< CPDFSDK_Widget > &pWidget, int index, bool selected)
void Invalidate(IPDF_Page *pPage, const FX_RECT &rect)
BeforeKeystrokeResult OnBeforeKeyStroke(const PerWindowData *pAttached, WideString &strChange, const WideString &strChangeEx, int nSelStart, int nSelEnd, bool bKeyDown, Mask< FWL_EVENTFLAG > nFlag) override
bool OnPopupPostOpen(const PerWindowData *pAttached, Mask< FWL_EVENTFLAG > nFlag) override
bool OnButtonUp(ObservedPtr< CPDFSDK_Widget > &pWidget, const CPDFSDK_PageView *pPageView, Mask< FWL_EVENTFLAG > nFlag)
static bool IsVisible(CPDFSDK_Widget *pWidget)
bool Redo(CPDFSDK_Widget *pWidget)
void OnDraw(CPDFSDK_PageView *pPageView, CPDFSDK_Widget *pWidget, CFX_RenderDevice *pDevice, const CFX_Matrix &mtUser2Device)
void OnFormat(ObservedPtr< CPDFSDK_Widget > &pWidget)
void OnCalculate(ObservedPtr< CPDFSDK_Widget > &pWidget)
void QueryWherePopup(const PerWindowData *pAttached, float fPopupMin, float fPopupMax, bool *bBottom, float *fPopupRet) override
void OnDelete(CPDFSDK_Widget *pWidget)
void OutputSelectedRect(PerWindowData *pWidgetData, const CFX_FloatRect &rect) override
bool Undo(CPDFSDK_Widget *pWidget)
void ReplaceSelection(CPDFSDK_Widget *pWidget, const WideString &text)
void ReplaceAndKeepSelection(CPDFSDK_Widget *pWidget, const WideString &text)
bool OnKeyStrokeCommit(ObservedPtr< CPDFSDK_Widget > &pWidget, const CPDFSDK_PageView *pPageView, Mask< FWL_EVENTFLAG > nFlag)
bool OnLButtonDblClk(CPDFSDK_PageView *pPageView, ObservedPtr< CPDFSDK_Widget > &pWidget, Mask< FWL_EVENTFLAG > nFlags, const CFX_PointF &point)
static bool IsValidAnnot(const CPDFSDK_PageView *pPageView, CPDFSDK_Widget *pWidget)
~CFFL_InteractiveFormFiller() override
void InvalidateRect(PerWindowData *pWidgetData, const CFX_FloatRect &rect) override
bool CanRedo(CPDFSDK_Widget *pWidget)
bool SelectAllText(CPDFSDK_Widget *pWidget)
CPDFSDK_PageView * GetPageView(IPDF_Page *pPage)
bool OnPopupPreOpen(const PerWindowData *pAttached, Mask< FWL_EVENTFLAG > nFlag) override
bool IsDataChanged(const CPDFSDK_PageView *pPageView) override
CFFL_ListBox(CFFL_InteractiveFormFiller *pFormFiller, CPDFSDK_Widget *pWidget)
void GetActionData(const CPDFSDK_PageView *pPageView, CPDF_AAction::AActionType type, CFFL_FieldAction &fa) override
bool SetIndexSelected(int index, bool selected) override
void SavePWLWindowState(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 SaveData(const CPDFSDK_PageView *pPageView) override
~CFFL_ListBox() override
bool IsIndexSelected(int index) override
bool OnChar(CPDFSDK_Widget *pWidget, uint32_t nChar, Mask< FWL_EVENTFLAG > nFlags) override
void RecreatePWLWindowFromSavedState(const CPDFSDK_PageView *pPageView) override
CPWL_Wnd::CreateParams GetCreateParam() override
CFFL_FormField * GetFormField()
const CPDFSDK_PageView * GetPageView() const
CPDFSDK_Widget * GetWidget() const
static void DrawFocusRect(CFX_RenderDevice *render_device, const CFX_Matrix &user_to_device, const CFX_FloatRect &view_bounding_box)
constexpr CFX_FloatRect(float l, float b, float r, float t)
bool IsEmpty() const
void Inflate(float x, float y)
FX_RECT GetOuterRect() const
CPDF_Page * GetPDFPage()
CPDF_Annot * GetPDFAnnot() const override
bool IsVisible() const
CFX_FloatRect GetRect() const override
bool IsValidAnnot(const CPDF_Annot *p) const
int GetRotate() const
int GetFieldFlags() const
void DrawShadow(CFX_RenderDevice *pDevice, CPDFSDK_PageView *pPageView)
void DrawAppearance(CFX_RenderDevice *pDevice, const CFX_Matrix &mtUser2Device, CPDF_Annot::AppearanceMode mode) override
FormFieldType GetFieldType() const
CFX_FloatRect GetRect() const
float GetPageHeight() const override
Definition cpdf_page.cpp:59
float GetPageWidth() const override
Definition cpdf_page.cpp:55
static bool IsCTRLKeyDown(Mask< FWL_EVENTFLAG > nFlag)
Definition cpwl_wnd.cpp:128
static bool IsSHIFTKeyDown(Mask< FWL_EVENTFLAG > nFlag)
Definition cpwl_wnd.cpp:123
FormFieldType
constexpr uint8_t kTab
Definition ascii.h:18
constexpr uint32_t kReadOnly
Definition form_flags.h:13
bool Contains(int x, int y) const